♻️ v4: 去掉添加 Agent ID 要求 需要更新面板 close #83

This commit is contained in:
naiba
2021-01-30 17:10:51 +08:00
parent 777cfd84ca
commit 0cdd0626f3
13 changed files with 52 additions and 76 deletions

View File

@@ -60,6 +60,7 @@ func (ma *memberAPI) delete(c *gin.Context) {
err = dao.DB.Delete(&model.Server{}, "id = ?", id).Error
if err == nil {
dao.ServerLock.Lock()
delete(dao.SecretToID, dao.ServerList[id].Secret)
delete(dao.ServerList, id)
dao.ServerLock.Unlock()
dao.ReSortServer()
@@ -154,7 +155,7 @@ func (ma *memberAPI) addOrEditServer(c *gin.Context) {
s.Note = sf.Note
if sf.ID == 0 {
s.Secret = utils.MD5(fmt.Sprintf("%s%s%d", time.Now(), sf.Name, admin.ID))
s.Secret = s.Secret[:10]
s.Secret = s.Secret[:18]
err = dao.DB.Create(&s).Error
} else {
isEdit = true
@@ -178,6 +179,7 @@ func (ma *memberAPI) addOrEditServer(c *gin.Context) {
s.Host = &model.Host{}
s.State = &model.HostState{}
dao.ServerLock.Lock()
dao.SecretToID[s.Secret] = s.ID
dao.ServerList[s.ID] = &s
dao.ServerLock.Unlock()
}
@@ -264,15 +266,16 @@ func (ma *memberAPI) addOrEditCron(c *gin.Context) {
return
}
dao.ServerLock.Lock()
defer dao.ServerLock.Unlock()
dao.CronLock.Lock()
defer dao.CronLock.Unlock()
crOld := dao.Crons[cr.ID]
if crOld != nil && crOld.CronID != 0 {
dao.Cron.Remove(crOld.CronID)
}
cr.CronID, err = dao.Cron.AddFunc(cr.Scheduler, func() {
dao.ServerLock.RLock()
defer dao.ServerLock.RUnlock()
for j := 0; j < len(cr.Servers); j++ {
if dao.ServerList[cr.Servers[j]].TaskStream != nil {
dao.ServerList[cr.Servers[j]].TaskStream.Send(&pb.Task{

View File

@@ -27,6 +27,7 @@ func init() {
dao.Cron = cron.New(cron.WithLocation(shanghai))
dao.Crons = make(map[uint64]*model.Cron)
dao.ServerList = make(map[uint64]*model.Server)
dao.SecretToID = make(map[string]uint64)
err = dao.Conf.Read("data/config.yaml")
if err != nil {
@@ -68,6 +69,7 @@ func loadServers() {
innerS.Host = &model.Host{}
innerS.State = &model.HostState{}
dao.ServerList[innerS.ID] = &innerS
dao.SecretToID[innerS.Secret] = innerS.ID
}
dao.ReSortServer()
}