56 lines
1.4 KiB
Go
56 lines
1.4 KiB
Go
package repositories
|
|
|
|
import (
|
|
"gitea.zjmud.com/phyer/rbac/models"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type UserGroupRepository interface {
|
|
Create(group *models.UserGroup) error
|
|
Update(group *models.UserGroup) error
|
|
Delete(group *models.UserGroup) error
|
|
FindByID(id uint) (*models.UserGroup, error)
|
|
FindAll() ([]models.UserGroup, error)
|
|
FindByName(name string) (*models.UserGroup, error)
|
|
}
|
|
|
|
type userGroupRepository struct {
|
|
*BaseRepository
|
|
}
|
|
|
|
func NewUserGroupRepository(db *gorm.DB) UserGroupRepository {
|
|
return &userGroupRepository{
|
|
BaseRepository: NewBaseRepository(db),
|
|
}
|
|
}
|
|
|
|
func (r *userGroupRepository) Create(group *models.UserGroup) error {
|
|
return r.BaseRepository.Create(group)
|
|
}
|
|
|
|
func (r *userGroupRepository) Update(group *models.UserGroup) error {
|
|
return r.BaseRepository.Update(group)
|
|
}
|
|
|
|
func (r *userGroupRepository) Delete(group *models.UserGroup) error {
|
|
return r.BaseRepository.Delete(group)
|
|
}
|
|
|
|
func (r *userGroupRepository) FindByID(id uint) (*models.UserGroup, error) {
|
|
var group models.UserGroup
|
|
err := r.BaseRepository.FindByID(&group, id)
|
|
return &group, err
|
|
}
|
|
|
|
func (r *userGroupRepository) FindAll() ([]models.UserGroup, error) {
|
|
var groups []models.UserGroup
|
|
err := r.BaseRepository.FindAll(&groups)
|
|
return groups, err
|
|
}
|
|
|
|
func (r *userGroupRepository) FindByName(name string) (*models.UserGroup, error) {
|
|
var group models.UserGroup
|
|
err := r.db.Where("name = ?", name).First(&group).Error
|
|
return &group, err
|
|
}
|