feat: Users API, ownership transfer and removal of the legacy role string
This commit is contained in:
1 parent
094df63a7f
commit
80f7037d3a
124 files changed
+4644
-824
No files matched your search
@@ -0,0 +1,28 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"RenewCMS/internal/domain/role"
|
||||
entity "RenewCMS/internal/infrastructure/persistence/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func BackfillInviteRoles(db *gorm.DB) error {
|
||||
if !legacyRoleColumnExists(db) {
|
||||
return nil
|
||||
}
|
||||
return db.Transaction(func(tx *gorm.DB) error {
|
||||
done, err := markerApplied(tx, inviteRolesMarker)
|
||||
if err != nil || done {
|
||||
return err
|
||||
}
|
||||
adminID, err := requireBuiltInRoleID(tx, role.AdminName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := tx.Model(&entity.Invite{}).Where("role_id IS NULL OR role_id = 0").UpdateColumn("role_id", adminID).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
return applyMarker(tx, inviteRolesMarker)
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user