Browse Source

feat: 限制删除运行环境中使用的应用版本 (#1197)

pull/1199/head
zhengkunwang223 2 years ago committed by GitHub
parent
commit
824051e89e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      backend/app/repo/runtime.go
  2. 4
      backend/app/service/app.go

7
backend/app/repo/runtime.go

@ -14,6 +14,7 @@ type IRuntimeRepo interface {
WithImage(image string) DBOption
WithNotId(id uint) DBOption
WithStatus(status string) DBOption
WithDetailId(id uint) DBOption
Page(page, size int, opts ...DBOption) (int64, []model.Runtime, error)
Create(ctx context.Context, runtime *model.Runtime) error
Save(runtime *model.Runtime) error
@ -43,6 +44,12 @@ func (r *RuntimeRepo) WithImage(image string) DBOption {
}
}
func (r *RuntimeRepo) WithDetailId(id uint) DBOption {
return func(g *gorm.DB) *gorm.DB {
return g.Where("app_detail_id = ?", id)
}
}
func (r *RuntimeRepo) WithNotId(id uint) DBOption {
return func(g *gorm.DB) *gorm.DB {
return g.Where("id != ?", id)

4
backend/app/service/app.go

@ -852,6 +852,10 @@ func (a AppService) SyncAppListFromRemote() error {
addDetails = append(addDetails, d)
} else {
if d.Status == constant.AppTakeDown {
runtime, _ := runtimeRepo.GetFirst(runtimeRepo.WithDetailId(d.ID))
if runtime.ID > 0 {
continue
}
deleteDetails = append(deleteDetails, d)
} else {
updateDetails = append(updateDetails, d)

Loading…
Cancel
Save