mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-09-19 17:50:12 +00:00
fix(controller): enforce ownership on notification group, NAT server, and batch move
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba>
This commit is contained in:
@@ -54,6 +54,10 @@ func createCron(c *gin.Context) (uint64, error) {
|
||||
return 0, singleton.Localizer.ErrorT("permission denied")
|
||||
}
|
||||
|
||||
if err := assertOwnsNotificationGroup(c, cf.NotificationGroupID); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
cr.UserID = getUid(c)
|
||||
cr.TaskType = cf.TaskType
|
||||
cr.Name = cf.Name
|
||||
@@ -68,7 +72,6 @@ func createCron(c *gin.Context) (uint64, error) {
|
||||
return 0, singleton.Localizer.ErrorT("scheduled tasks cannot be triggered by alarms")
|
||||
}
|
||||
|
||||
// 对于计划任务类型,需要更新CronJob
|
||||
var err error
|
||||
if cf.TaskType == model.CronTypeCronTask {
|
||||
if cr.CronJobID, err = singleton.CronShared.AddFunc(cr.Scheduler, singleton.CronTrigger(&cr)); err != nil {
|
||||
@@ -112,6 +115,10 @@ func updateCron(c *gin.Context) (any, error) {
|
||||
return 0, singleton.Localizer.ErrorT("permission denied")
|
||||
}
|
||||
|
||||
if err := assertOwnsNotificationGroup(c, cf.NotificationGroupID); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var cr model.Cron
|
||||
if err := singleton.DB.First(&cr, id).Error; err != nil {
|
||||
return nil, singleton.Localizer.ErrorT("task id %d does not exist", id)
|
||||
|
||||
Reference in New Issue
Block a user