37 lines
1.1 KiB
Go
37 lines
1.1 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"
|
|
)
|
|
|
|
// zipcodeService holds methods to participating zipcode application service
|
|
type zipcodeService struct {
|
|
svc *service.Service
|
|
mapEntity *entitymapping.Mapper
|
|
}
|
|
|
|
// newZipcodeService returns a zipcodeService instance
|
|
func newZipcodeService(svc *service.Service, mapper *entitymapping.Mapper) *zipcodeService {
|
|
return &zipcodeService{
|
|
svc: svc,
|
|
mapEntity: mapper,
|
|
}
|
|
}
|
|
|
|
func (s *zipcodeService) GetAll() ([]viewmodel.Zipcode, error) {
|
|
result, err := s.svc.Zipcodes.GetAll()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return s.mapEntity.Zipcode.ToZipcodeModelSlice(result), nil
|
|
}
|
|
|
|
func (s *zipcodeService) GetByParticipatingZipcode(zipcode string) (viewmodel.Zipcode, error) {
|
|
result, err := s.svc.Zipcodes.GetByParticipatingZipcode(zipcode)
|
|
if err != nil {
|
|
return viewmodel.Zipcode{}, err
|
|
}
|
|
return s.mapEntity.Zipcode.ToZipcodeModel(result), nil
|
|
} |