refac: DELETE /v1/user/{id}?expected_role_id=N, user.remove audit event, 409 target_role_not_found, GetAll returns its error, Own-scope visibility filter moved into repos, JSON tags removed from use-case types

This commit is contained in:
Florian Sylvain committed 2026-10-29 16:28:25 +01:00
1 parent 5d6f378fce
commit b39a41be88
124 files changed
+8816 -523

No files matched your search

@@ -52,6 +52,26 @@ func (u *UserRepository) Delete(id uint32) error {
return deleteOrNotFound(result, domainUser.ErrUserNotFound)
}
func (u *UserRepository) DeleteIfRole(id uint32, roleID uint32) error {
return u.db.Transaction(func(tx *gorm.DB) error {
result := tx.Where("id = ? AND role_id = ?", id, roleID).Delete(&entity.User{})
if result.Error != nil {
return result.Error
}
if result.RowsAffected > 0 {
return nil
}
var users int64
if err := tx.Model(&entity.User{}).Where("id = ?", id).Count(&users).Error; err != nil {
return err
}
if users == 0 {
return domainUser.ErrUserNotFound
}
return domainUser.ErrRoleChanged
})
}
func (u *UserRepository) GetAll() ([]domainUser.User, error) {
var users []entity.User
if err := u.db.Model(&entity.User{}).Find(&users).Error; err != nil {