Files
old-svijetlastrana/application/applicationservice/profile.go
2018-04-25 13:16:36 +02:00

59 lines
1.6 KiB
Go

package applicationservice
import (
"bitbucket.org/nemt/nemt-portal-api/application/entitymapping"
"bitbucket.org/nemt/nemt-portal-api/application/viewmodel"
"bitbucket.org/nemt/nemt-portal-api/domain/service"
)
// providerService holds methods to provider application service
type profileService struct {
svc *service.Service
mapEntity *entitymapping.Mapper
}
// newProviderService returns a providerService instance
func newProfileService(svc *service.Service, mapper *entitymapping.Mapper) *profileService {
return &profileService{
svc: svc,
mapEntity: mapper,
}
}
func (s *profileService) GetAll() ([]viewmodel.Profile, error) {
result, err := s.svc.Profile.GetAll()
if err != nil {
return nil, err
}
return s.mapEntity.Profile.ToProfileModelSlice(result), nil
}
func (s *profileService) GetByKey(key string) (viewmodel.Profile, error) {
result, err := s.svc.Profile.GetByKey(key)
if err != nil {
return viewmodel.Profile{}, err
}
return s.mapEntity.Profile.ToProfileModel(result), nil
}
func (s *profileService) GetVisibles(visible bool) ([]viewmodel.Profile, error) {
result, err := s.svc.Profile.GetVisibles(visible)
if err != nil {
return nil, err
}
return s.mapEntity.Profile.ToProfileModelSlice(result), nil
}
func (s *profileService) GetByOrganizationType(organizationTypeKey string) ([]viewmodel.Profile, error) {
orgType, err := s.svc.Organization.GetTypeByKey(organizationTypeKey)
if err != nil {
return nil, err
}
result, err := s.svc.Profile.GetByOrganizationType(orgType.ID)
if err != nil {
return nil, err
}
return s.mapEntity.Profile.ToProfileModelSlice(result), nil
}