wip
This commit is contained in:
60
mangezmieux-backend/internal/acl/service/service.go
Normal file
60
mangezmieux-backend/internal/acl/service/service.go
Normal file
@@ -0,0 +1,60 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"github.com/google/uuid"
|
||||
"mangezmieux-backend/internal/acl/model"
|
||||
"mangezmieux-backend/internal/acl/sql"
|
||||
model2 "mangezmieux-backend/internal/users/model"
|
||||
)
|
||||
|
||||
type service struct {
|
||||
dao sql.Dao
|
||||
}
|
||||
|
||||
func (s service) GetRoleForCurrentUser(user *model2.User) (*model.UserRight, error) {
|
||||
userId, err := uuid.Parse(user.ID.String())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
userRole, err := s.GetUserRoleByUser(userId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
userRight := &model.UserRight{
|
||||
UserRole: userRole,
|
||||
}
|
||||
return userRight, nil
|
||||
}
|
||||
|
||||
func (s service) GetAllRole() ([]*model.Role, error) {
|
||||
roles, err := s.dao.GetAllRole()
|
||||
return roles, err
|
||||
}
|
||||
|
||||
func (s service) GetUserRoleByUser(id uuid.UUID) ([]*model.UserRole, error) {
|
||||
userRoles, err := s.dao.GetUserRoleByUser(id)
|
||||
return userRoles, err
|
||||
}
|
||||
|
||||
func (s service) GetRole(id uuid.UUID) (*model.Role, error) {
|
||||
role, err := s.dao.GetRole(id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return role, nil
|
||||
}
|
||||
|
||||
type Service interface {
|
||||
GetAllRole() ([]*model.Role, error)
|
||||
GetRoleForCurrentUser(user *model2.User) (*model.UserRight, error)
|
||||
GetUserRoleByUser(id uuid.UUID) ([]*model.UserRole, error)
|
||||
}
|
||||
|
||||
func NewService(dao sql.Dao) Service {
|
||||
return &service{
|
||||
dao: dao,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user