Files
RenewCMS/internal/infrastructure/useCases/GetRole.go
T

29 lines
688 B
Go

package useCases
import (
"RenewCMS/internal/domain/contenttype"
"RenewCMS/internal/domain/role"
"RenewCMS/internal/domain/user"
)
type GetRoleUseCase struct {
roles role.Repository
viewer roleViewer
}
func NewGetRoleUseCase(roles role.Repository, users user.Repository, contentTypes contenttype.Repository) *GetRoleUseCase {
return &GetRoleUseCase{roles: roles, viewer: roleViewer{roles, users, contentTypes}}
}
func (u *GetRoleUseCase) Get(id uint32) (RoleView, error) {
found, err := u.roles.Get(id)
if err != nil {
return RoleView{}, err
}
members, err := u.viewer.members(found.ID)
if err != nil {
return RoleView{}, err
}
return u.viewer.one(found, members)
}