Files
projectx/internal/erpserver/store/system/role.go
2025-04-14 15:28:51 +08:00

45 lines
930 B
Go

package system
import (
"context"
"management/internal/erpserver/model/system"
"gorm.io/gorm"
)
type RoleStore interface {
Create(ctx context.Context, obj *system.Role) error
Update(ctx context.Context, obj *system.Role) error
Get(ctx context.Context, id int32) (*system.Role, error)
}
type roleStore struct {
db *gorm.DB
}
var _ RoleStore = (*roleStore)(nil)
func NewRoleStore(db *gorm.DB) *roleStore {
return &roleStore{
db: db,
}
}
func (s *roleStore) Create(ctx context.Context, obj *system.Role) error {
return s.db.WithContext(ctx).Create(obj).Error
}
func (s *roleStore) Update(ctx context.Context, obj *system.Role) error {
return s.db.WithContext(ctx).Save(obj).Error
}
func (s *roleStore) Get(ctx context.Context, id int32) (*system.Role, error) {
var role system.Role
err := s.db.WithContext(ctx).Where("id =?", id).First(&role).Error
if err != nil {
return nil, err
}
return &role, nil
}