29 lines
688 B
Go
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)
|
|
}
|