Upstream sync
This commit is contained in:
@@ -23,7 +23,8 @@ type Service struct {
|
||||
Notification *notificationService
|
||||
Profile *profileService
|
||||
Organization *organizationService
|
||||
Zipcodes *zipcodeService
|
||||
Zipcodes *zipcodeService
|
||||
Plan *planService
|
||||
}
|
||||
|
||||
// New returns a new domain Service instance
|
||||
@@ -37,7 +38,8 @@ func New(svc *service.Service, mapper *entitymapping.Mapper, notification *notif
|
||||
Notification: newNotificationService(svc, mapper, notification, cfg),
|
||||
Profile: newProfileService(svc, mapper),
|
||||
Organization: newOrganizationService(svc, mapper),
|
||||
Zipcodes: newZipcodeService(svc, mapper),
|
||||
Zipcodes: newZipcodeService(svc, mapper),
|
||||
Plan: newPlanService(svc, mapper),
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
57
application/applicationservice/plan.go
Normal file
57
application/applicationservice/plan.go
Normal file
@@ -0,0 +1,57 @@
|
||||
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 planService struct {
|
||||
svc *service.Service
|
||||
mapEntity *entitymapping.Mapper
|
||||
}
|
||||
|
||||
// newProviderService returns a providerService instance
|
||||
func newPlanService(svc *service.Service, mapper *entitymapping.Mapper) *planService {
|
||||
return &planService{
|
||||
svc: svc,
|
||||
mapEntity: mapper,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *planService) GetByAlphaPrefix(alphaPrefix string) (viewmodel.Plan, error) {
|
||||
plan, err := s.svc.Plans.GetByAlphaPrefix(alphaPrefix)
|
||||
if err != nil {
|
||||
return viewmodel.Plan{}, err
|
||||
}
|
||||
|
||||
return s.mapEntity.Plan.ToPlanModel(plan), nil
|
||||
}
|
||||
|
||||
func (s *planService) GetByUUID(planUUID string) ([]viewmodel.Plan, error) {
|
||||
plans, err := s.svc.Plans.GetByUUID(planUUID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return s.mapEntity.Plan.ToPlanModelSlice(plans), nil
|
||||
}
|
||||
|
||||
func (s *planService) GetByID(planID int64) ([]viewmodel.Plan, error) {
|
||||
plans, err := s.svc.Plans.GetByID(planID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return s.mapEntity.Plan.ToPlanModelSlice(plans), nil
|
||||
}
|
||||
|
||||
func (s *planService) GetByPrefixUUID(prefixUUID string) (viewmodel.Plan, error) {
|
||||
plan, err := s.svc.Plans.GetByPrefixUUID(prefixUUID)
|
||||
if err != nil {
|
||||
return viewmodel.Plan{}, err
|
||||
}
|
||||
|
||||
return s.mapEntity.Plan.ToPlanModel(plan), nil
|
||||
}
|
||||
@@ -68,3 +68,13 @@ func (s *providerService) GetByNPI(NPI string, user viewmodel.User) (viewmodel.P
|
||||
|
||||
return s.mapEntity.Provider.ToProviderRespModel(provider), nil
|
||||
}
|
||||
|
||||
func (s *providerService) GetByOrganization(organizationUUID string, user viewmodel.User) (viewmodel.ProviderResp, error) {
|
||||
eUser := s.mapEntity.User.ToUserEntity(user)
|
||||
provider, err := s.svc.Provider.GetByOrganization(organizationUUID, eUser)
|
||||
if err != nil {
|
||||
return viewmodel.ProviderResp{}, err
|
||||
}
|
||||
|
||||
return s.mapEntity.Provider.ToProviderRespModel(provider), nil
|
||||
}
|
||||
|
||||
@@ -51,6 +51,16 @@ func (s *userService) GetByUUID(uuid string, profile string) (retVal viewmodel.U
|
||||
return s.mapEntity.User.ToUserModel(user), nil
|
||||
}
|
||||
|
||||
// GetByID returns a specific user by its ID
|
||||
func (s *userService) GetByMemberID(memberID string) (retVal viewmodel.User, err error) {
|
||||
user, err := s.svc.Users.GetByMemberID(memberID)
|
||||
if err != nil {
|
||||
return retVal, errors.Wrap(err)
|
||||
}
|
||||
|
||||
return s.mapEntity.User.ToUserModel(user), nil
|
||||
}
|
||||
|
||||
// Login returns a specific user by email and pass
|
||||
func (s *userService) FullLogin(loginType string, key string, pass string, profile string) (retVal viewmodel.User, err error) {
|
||||
user, err := s.svc.Users.FullLogin(loginType, key, pass, profile)
|
||||
@@ -131,6 +141,11 @@ func (s *userService) RemoveAddress(addressUUID string) error {
|
||||
return s.svc.Users.RemoveAddress(addressUUID)
|
||||
}
|
||||
|
||||
func (s *userService) UpdateLogin(user viewmodel.User) error {
|
||||
eUser := s.mapEntity.User.ToUserEntity(user)
|
||||
return s.svc.Users.UpdateLogin(eUser)
|
||||
}
|
||||
|
||||
func (s *userService) SaveAddress(address viewmodel.Address) (retVal viewmodel.Address, err error) {
|
||||
entity := s.mapEntity.Address.ToAddressEntity(address)
|
||||
entity, err = s.svc.Users.SaveAddress(entity)
|
||||
|
||||
@@ -21,6 +21,38 @@ func newVisitService(svc *service.Service, mapper *entitymapping.Mapper) *visitS
|
||||
}
|
||||
}
|
||||
|
||||
func (s *visitService) Save(visit viewmodel.Visit) (viewmodel.Visit, error) {
|
||||
entity := s.mapEntity.Visit.ToVisitEntity(visit)
|
||||
for _, a := range visit.User.Addresses {
|
||||
if a.AddressType == "home" {
|
||||
address, err := s.svc.Users.GetAddressByUUID(a.UUID)
|
||||
if err != nil {
|
||||
return viewmodel.Visit{}, err
|
||||
}
|
||||
|
||||
entity.PickupAddressID = address.ID
|
||||
entity.Pickup.Address = address.Address
|
||||
entity.Pickup.ID = address.UUID
|
||||
entity.Pickup.Latitude = address.Latitude
|
||||
entity.Pickup.Longitude = address.Longitude
|
||||
entity.Pickup.Name = address.Name
|
||||
}
|
||||
}
|
||||
|
||||
provider, err := s.svc.Provider.GetByUUID(entity.Provider.ProviderUUID, entity.CreatedUser)
|
||||
if err != nil {
|
||||
return viewmodel.Visit{}, errors.Wrap(err)
|
||||
}
|
||||
entity.Provider = provider
|
||||
|
||||
retVal, err := s.svc.Visits.Create(entity)
|
||||
if err != nil {
|
||||
return viewmodel.Visit{}, errors.Wrap(err)
|
||||
}
|
||||
|
||||
return s.mapEntity.Visit.ToVisitModel(retVal), err
|
||||
}
|
||||
|
||||
// Save a new ride
|
||||
func (s *visitService) Create(visit viewmodel.Visit) (viewmodel.Visit, error) {
|
||||
entity := s.mapEntity.Visit.ToVisitEntity(visit)
|
||||
@@ -51,5 +83,17 @@ func (s *visitService) GetByUUID(visitUUID string, user viewmodel.User) (viewmod
|
||||
return viewmodel.Visit{}, errors.Wrap(err)
|
||||
}
|
||||
|
||||
visitUser, err := s.svc.Users.GetByUUID(retVal.User.UUID, "US")
|
||||
if err != nil {
|
||||
return viewmodel.Visit{}, errors.Wrap(err)
|
||||
}
|
||||
retVal.User = visitUser
|
||||
|
||||
provider, err := s.svc.Provider.GetByUUID(retVal.Provider.ProviderUUID, eUser)
|
||||
if err != nil {
|
||||
return viewmodel.Visit{}, errors.Wrap(err)
|
||||
}
|
||||
retVal.Provider = provider
|
||||
|
||||
return s.mapEntity.Visit.ToVisitModel(retVal), err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user