mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-22 20:58:14 -05:00
update
This commit is contained in:
parent
e39e793b5b
commit
4754d283c9
@ -97,7 +97,7 @@ func routers(r *gin.Engine, frontendDist fs.FS) {
|
|||||||
auth.PATCH("/notification-group/:id", commonHandler(updateNotificationGroup))
|
auth.PATCH("/notification-group/:id", commonHandler(updateNotificationGroup))
|
||||||
auth.POST("/batch-delete/notification-group", commonHandler(batchDeleteNotificationGroup))
|
auth.POST("/batch-delete/notification-group", commonHandler(batchDeleteNotificationGroup))
|
||||||
|
|
||||||
auth.GET("/server", listHandler(listServer))
|
auth.GET("/server", commonHandler(listServer))
|
||||||
auth.PATCH("/server/:id", commonHandler(updateServer))
|
auth.PATCH("/server/:id", commonHandler(updateServer))
|
||||||
auth.POST("/batch-delete/server", commonHandler(batchDeleteServer))
|
auth.POST("/batch-delete/server", commonHandler(batchDeleteServer))
|
||||||
auth.POST("/force-update/server", commonHandler(forceUpdateServer))
|
auth.POST("/force-update/server", commonHandler(forceUpdateServer))
|
||||||
@ -243,13 +243,13 @@ func listHandler[S ~[]E, E model.CommonInterface](handler handlerFunc[S]) func(*
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
c.JSON(http.StatusOK, filter(c, data))
|
c.JSON(http.StatusOK, model.CommonResponse[S]{Success: true, Data: filter(c, data)})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func filter[S ~[]E, E model.CommonInterface](ctx *gin.Context, s S) S {
|
func filter[S ~[]E, E model.CommonInterface](ctx *gin.Context, s S) S {
|
||||||
return slices.DeleteFunc(s, func(e E) bool {
|
return slices.DeleteFunc(s, func(e E) bool {
|
||||||
return e.HasPermission(ctx)
|
return !e.HasPermission(ctx)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,6 +168,10 @@ func manualTriggerCron(c *gin.Context) (any, error) {
|
|||||||
}
|
}
|
||||||
singleton.CronLock.RUnlock()
|
singleton.CronLock.RUnlock()
|
||||||
|
|
||||||
|
if !cr.HasPermission(c) {
|
||||||
|
return nil, singleton.Localizer.ErrorT("permission denied")
|
||||||
|
}
|
||||||
|
|
||||||
singleton.ManualTrigger(cr)
|
singleton.ManualTrigger(cr)
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
@ -201,7 +201,7 @@ func batchDeleteNotificationGroup(c *gin.Context) (any, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var ng []model.NotificationGroup
|
var ng []model.NotificationGroup
|
||||||
if err := singleton.DB.Where("id in (?)", ng).Find(&ng).Error; err != nil {
|
if err := singleton.DB.Where("id in (?)", ngnr).Find(&ng).Error; err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,6 +178,9 @@ func forceUpdateServer(c *gin.Context) (*model.ForceUpdateResponse, error) {
|
|||||||
server := singleton.ServerList[sid]
|
server := singleton.ServerList[sid]
|
||||||
singleton.ServerLock.RUnlock()
|
singleton.ServerLock.RUnlock()
|
||||||
if server != nil && server.TaskStream != nil {
|
if server != nil && server.TaskStream != nil {
|
||||||
|
if !server.HasPermission(c) {
|
||||||
|
return nil, singleton.Localizer.ErrorT("permission denied")
|
||||||
|
}
|
||||||
if err := server.TaskStream.Send(&pb.Task{
|
if err := server.TaskStream.Send(&pb.Task{
|
||||||
Type: model.TaskTypeUpgrade,
|
Type: model.TaskTypeUpgrade,
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
package model
|
|
||||||
|
|
||||||
type UserGroup struct {
|
|
||||||
Common
|
|
||||||
Name string `json:"name"`
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
package model
|
|
||||||
|
|
||||||
type UserGroupUser struct {
|
|
||||||
Common
|
|
||||||
UserGroupId uint64 `json:"user_group_id"`
|
|
||||||
UserId uint64 `json:"user_id"`
|
|
||||||
}
|
|
@ -79,8 +79,8 @@ func InitDBFromPath(path string) {
|
|||||||
}
|
}
|
||||||
err = DB.AutoMigrate(model.Server{}, model.User{}, model.ServerGroup{}, model.NotificationGroup{},
|
err = DB.AutoMigrate(model.Server{}, model.User{}, model.ServerGroup{}, model.NotificationGroup{},
|
||||||
model.Notification{}, model.AlertRule{}, model.Service{}, model.NotificationGroupNotification{},
|
model.Notification{}, model.AlertRule{}, model.Service{}, model.NotificationGroupNotification{},
|
||||||
model.ServiceHistory{}, model.Cron{}, model.Transfer{}, model.ServerGroupServer{}, model.UserGroup{},
|
model.ServiceHistory{}, model.Cron{}, model.Transfer{}, model.ServerGroupServer{},
|
||||||
model.UserGroupUser{}, model.NAT{}, model.DDNSProfile{}, model.NotificationGroupNotification{},
|
model.NAT{}, model.DDNSProfile{}, model.NotificationGroupNotification{},
|
||||||
model.WAF{})
|
model.WAF{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
Loading…
Reference in New Issue
Block a user