👔 Delete realm will auto delete realm members
This commit is contained in:
parent
1bb73c996b
commit
4fa155cafb
@ -3,11 +3,12 @@ package services
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"git.solsynth.dev/hypernet/passport/pkg/authkit/models"
|
"git.solsynth.dev/hypernet/passport/pkg/authkit/models"
|
||||||
"git.solsynth.dev/hypernet/passport/pkg/internal/database"
|
"git.solsynth.dev/hypernet/passport/pkg/internal/database"
|
||||||
"github.com/samber/lo"
|
"github.com/samber/lo"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
"strconv"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func ListCommunityRealm() ([]models.Realm, error) {
|
func ListCommunityRealm() ([]models.Realm, error) {
|
||||||
@ -162,5 +163,14 @@ func EditRealm(realm models.Realm) (models.Realm, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func DeleteRealm(realm models.Realm) error {
|
func DeleteRealm(realm models.Realm) error {
|
||||||
return database.C.Delete(&realm).Error
|
tx := database.C.Begin()
|
||||||
|
if err := tx.Where("realm_id = ?", realm.ID).Delete(&models.RealmMember{}).Error; err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := tx.Delete(&realm).Error; err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return tx.Commit().Error
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user