feat(media): 素材删除 - 安全清理未引用的存储资源
删除素材前检查项目、画布、任务、其他素材、工作流、风格和声音引用;仅清理未复用的本地或 OSS/COS 对象。
This commit is contained in:
@@ -103,17 +103,9 @@ func (s *Service) UpsertUserAsset(userID string, raw json.RawMessage) (UserDataS
|
||||
}
|
||||
|
||||
func (s *Service) DeleteUserAsset(userID string, id string) error {
|
||||
if _, err := s.repo.AssetForUser(userID, id); err != nil {
|
||||
return err
|
||||
}
|
||||
references, err := s.repo.AssetReferenceCount(id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if references > 0 {
|
||||
return BadAuthRequest("素材仍被项目或镜头引用,请先解除引用")
|
||||
}
|
||||
return s.repo.DeleteAsset(userID, id)
|
||||
s.storageMu.Lock()
|
||||
defer s.storageMu.Unlock()
|
||||
return s.deleteUserAssetWithResources(userID, id)
|
||||
}
|
||||
|
||||
func (s *Service) UserAssets(userID string) ([]json.RawMessage, error) {
|
||||
|
||||
Reference in New Issue
Block a user