修复删除资源时未删除与用户关系的bug

This commit is contained in:
dushixiang 2021-02-12 19:07:36 +08:00
parent 6b2388b422
commit b1b8604061
7 changed files with 31 additions and 9 deletions

View File

@ -149,7 +149,13 @@ func AssetDeleteEndpoint(c echo.Context) error {
if err := PreCheckAssetPermission(c, split[i]); err != nil {
return err
}
model.DeleteAssetById(split[i])
if err := model.DeleteAssetById(split[i]); err != nil {
return err
}
// 删除资产与用户的关系
if err := model.DeleteResourceSharerByResourceId(split[i]); err != nil {
return err
}
}
return Success(c, nil)

View File

@ -68,7 +68,13 @@ func CommandDeleteEndpoint(c echo.Context) error {
if err := PreCheckCommandPermission(c, split[i]); err != nil {
return err
}
model.DeleteCommandById(split[i])
if err := model.DeleteCommandById(split[i]); err != nil {
return err
}
// 删除资产与用户的关系
if err := model.DeleteResourceSharerByResourceId(split[i]); err != nil {
return err
}
}
return Success(c, nil)
}

View File

@ -123,7 +123,13 @@ func CredentialDeleteEndpoint(c echo.Context) error {
if err := PreCheckCredentialPermission(c, split[i]); err != nil {
return err
}
model.DeleteCredentialById(split[i])
if err := model.DeleteCredentialById(split[i]); err != nil {
return err
}
// 删除资产与用户的关系
if err := model.DeleteResourceSharerByResourceId(split[i]); err != nil {
return err
}
}
return Success(c, nil)

View File

@ -155,8 +155,8 @@ func UpdateAssetActiveById(active bool, id string) {
global.DB.Exec(sql, active, id)
}
func DeleteAssetById(id string) {
global.DB.Where("id = ?", id).Delete(&Asset{})
func DeleteAssetById(id string) error {
return global.DB.Where("id = ?", id).Delete(&Asset{}).Error
}
func CountAsset() (total int64, err error) {

View File

@ -77,6 +77,6 @@ func UpdateCommandById(o *Command, id string) {
global.DB.Updates(o)
}
func DeleteCommandById(id string) {
global.DB.Where("id = ?", id).Delete(&Command{})
func DeleteCommandById(id string) error {
return global.DB.Where("id = ?", id).Delete(&Command{}).Error
}

View File

@ -95,8 +95,8 @@ func UpdateCredentialById(o *Credential, id string) {
global.DB.Updates(o)
}
func DeleteCredentialById(id string) {
global.DB.Where("id = ?", id).Delete(&Credential{})
func DeleteCredentialById(id string) error {
return global.DB.Where("id = ?", id).Delete(&Credential{}).Error
}
func CountCredential() (total int64, err error) {

View File

@ -102,6 +102,10 @@ func DeleteByUserIdAndResourceTypeAndResourceIdIn(userGroupId, userId, resourceT
return db.Delete(&ResourceSharer{}).Error
}
func DeleteResourceSharerByResourceId(resourceId string) error {
return global.DB.Where("resource_id = ?", resourceId).Delete(&ResourceSharer{}).Error
}
func AddSharerResources(userGroupId, userId, resourceType string, resourceIds []string) error {
return global.DB.Transaction(func(tx *gorm.DB) (err error) {