From d8737a558bbf3b15a218fc281d715b6dd47512f2 Mon Sep 17 00:00:00 2001 From: Senad Uka Date: Mon, 28 May 2018 08:31:58 +0200 Subject: [PATCH] Upstream sync --- .../applicationservice/organization.go | 4 +- application/applicationservice/visit.go | 10 + application/third/eligibility/bcbsi/bxe.go | 2 - application/tncservice/lyft.go | 1 + application/viewmodel/visit.go | 37 ++-- data/datamysql/organization.go | 19 +- data/datamysql/user.go | 2 +- data/datamysql/visit.go | 3 +- domain/service/provider.go | 5 + server/router/eligibilityroute/controller.go | 7 +- server/router/selfregisterroute/controller.go | 4 +- server/router/visitroute/controller.go | 205 ++++++++++-------- server/serverconfig/util.go | 3 +- 13 files changed, 180 insertions(+), 122 deletions(-) diff --git a/application/applicationservice/organization.go b/application/applicationservice/organization.go index 7b5859a..1db7490 100644 --- a/application/applicationservice/organization.go +++ b/application/applicationservice/organization.go @@ -217,7 +217,7 @@ func (s *organizationService) AddOrganization(organization viewmodel.Organizatio address := entity.OrganizationAddress{ InternalID: provider.MukID, Name: "Main Address", - Address: fmt.Sprintf("%s %s - %s, %s (%s)", provider.StreetName1, provider.StreetName2, provider.CityName, provider.State, provider.ZipCode), + Address: fmt.Sprintf("%s %s - %s, %s (%s)", provider.StreetName1, provider.StreetName2, provider.CityName, provider.State, provider.ZipCode[:5]), Latitude: lat, Longitude: long, CreatedUser: enOrg.Author, @@ -248,5 +248,5 @@ func (s *organizationService) AddOrganization(organization viewmodel.Organizatio return viewmodel.Organization{}, nil } - return s.GetByUUID(enOrg.UUID, user) + return s.mapEntity.Organization.ToOrganizationModel(enOrg), nil } diff --git a/application/applicationservice/visit.go b/application/applicationservice/visit.go index 15e344e..07bd4bc 100644 --- a/application/applicationservice/visit.go +++ b/application/applicationservice/visit.go @@ -1,6 +1,8 @@ package applicationservice import ( + "fmt" + "bitbucket.org/nemt/nemt-portal-api/application/entitymapping" "bitbucket.org/nemt/nemt-portal-api/application/viewmodel" "bitbucket.org/nemt/nemt-portal-api/domain/service" @@ -27,6 +29,8 @@ func (s *visitService) Save(visit viewmodel.Visit) (viewmodel.Visit, error) { if a.AddressType == "home" { address, err := s.svc.Users.GetAddressByUUID(a.UUID) if err != nil { + fmt.Println("Application Visit: Address UUID: ", a.UUID) + fmt.Println("Application Visit: Address Error: ", err.Error()) return viewmodel.Visit{}, err } @@ -41,12 +45,15 @@ func (s *visitService) Save(visit viewmodel.Visit) (viewmodel.Visit, error) { provider, err := s.svc.Provider.GetByUUID(entity.Provider.ProviderUUID, entity.CreatedUser) if err != nil { + fmt.Println("Application Visit: Provider UUID: ", entity.Provider.ProviderUUID) + fmt.Println("Application Visit: Provider Error: ", err.Error()) return viewmodel.Visit{}, errors.Wrap(err) } entity.Provider = provider retVal, err := s.svc.Visits.Create(entity) if err != nil { + fmt.Println("Application Visit: Create Visit Error: ", err.Error()) return viewmodel.Visit{}, errors.Wrap(err) } @@ -80,17 +87,20 @@ func (s *visitService) GetByUUID(visitUUID string, user viewmodel.User) (viewmod eUser := s.mapEntity.User.ToUserEntity(user) retVal, err := s.svc.Visits.GetByUUID(visitUUID, eUser) if err != nil { + fmt.Println("Visit Application: Error getting visit: ", err.Error()) return viewmodel.Visit{}, errors.Wrap(err) } visitUser, err := s.svc.Users.GetByUUID(retVal.User.UUID, "US") if err != nil { + fmt.Println("Visit Application: Error getting user: ", err.Error()) return viewmodel.Visit{}, errors.Wrap(err) } retVal.User = visitUser provider, err := s.svc.Provider.GetByUUID(retVal.Provider.ProviderUUID, eUser) if err != nil { + fmt.Println("Visit Application: Error getting provider: ", err.Error()) return viewmodel.Visit{}, errors.Wrap(err) } retVal.Provider = provider diff --git a/application/third/eligibility/bcbsi/bxe.go b/application/third/eligibility/bcbsi/bxe.go index 2587b19..244090a 100644 --- a/application/third/eligibility/bcbsi/bxe.go +++ b/application/third/eligibility/bcbsi/bxe.go @@ -80,8 +80,6 @@ func (s bxeService) Get271(eligibility viewmodel.Eligibility) (bcbsimodel.Interc return bcbsimodel.Interchange271{}, err } - fmt.Println(resp) - if resp.QueryResult.HIPPA271.T271 != "" { xmlString := html.UnescapeString(resp.QueryResult.HIPPA271.T271) xmlReader := strings.NewReader(xmlString) diff --git a/application/tncservice/lyft.go b/application/tncservice/lyft.go index f49f5e6..21beb51 100644 --- a/application/tncservice/lyft.go +++ b/application/tncservice/lyft.go @@ -262,6 +262,7 @@ func (s *lyftService) RequestRide(rideRequest viewmodel.RideRequest) (viewmodel. if raw.Error != "" { fmt.Println("Error to call Lyft: ", raw.Error+" - "+raw.ErrorDescription) + fmt.Println("Full body error: ", string(body)) return viewmodel.RideRequest{}, errors.New("Lyft Error: " + raw.Error + " - " + raw.ErrorDescription) } diff --git a/application/viewmodel/visit.go b/application/viewmodel/visit.go index 4f4317e..7b64fbf 100644 --- a/application/viewmodel/visit.go +++ b/application/viewmodel/visit.go @@ -12,22 +12,23 @@ type VisitStatus struct { // Visit entity data type Visit struct { - UUID string `json:"visit_uuid,omitempty"` - Status VisitStatus `json:"visit_status,omitempty"` - User User `json:"user,omitempty"` - VisitDatetime time.Time `json:"visit_datetime,omitempty"` - VisitDuration int64 `json:"visit_duration,omitempty"` - PickupDatetime time.Time `json:"pickup_datetime,omitempty"` - Notes *string `json:"notes,omitempty"` - PickupAddressID int64 `json:"pickup_address_id,omitempty"` - DestinationAddressID int64 `json:"destination_address_id,omitempty"` - Pickup Location `json:"pickup,omitempty"` - Provider ProviderResp `json:"provider,omitempty"` - CreatedUser User `json:"created_user,omitempty"` - CreatedDate time.Time `json:"created,omitempty"` - UpdatedDate time.Time `json:"updated,omitempty"` - ReturnDate *time.Time `json:"return_date,omitempty"` - TripType TripType `json:"trip_type,omitempty"` - ExternalID string `json:"visit_external_id,omitempty"` - Rides []Ride `json:"rides,omitempty"` + UUID string `json:"visit_uuid,omitempty"` + Status VisitStatus `json:"visit_status,omitempty"` + User User `json:"user,omitempty"` + VisitDatetime time.Time `json:"visit_datetime,omitempty"` + VisitDuration int64 `json:"visit_duration,omitempty"` + PickupDatetime time.Time `json:"pickup_datetime,omitempty"` + Notes *string `json:"notes,omitempty"` + PickupAddressID int64 `json:"pickup_address_id,omitempty"` + DestinationAddressID int64 `json:"destination_address_id,omitempty"` + Pickup Location `json:"pickup,omitempty"` + Provider ProviderResp `json:"provider,omitempty"` + CreatedUser User `json:"created_user,omitempty"` + CreatedDate time.Time `json:"created,omitempty"` + UpdatedDate time.Time `json:"updated,omitempty"` + ReturnDate *time.Time `json:"return_date,omitempty"` + TripType TripType `json:"trip_type,omitempty"` + ExternalID string `json:"visit_external_id,omitempty"` + Rides []Ride `json:"rides,omitempty"` + RawProvider ProviderResponse `json:"raw_provider,omitempty"` } diff --git a/data/datamysql/organization.go b/data/datamysql/organization.go index 9a48ab5..7ebd224 100644 --- a/data/datamysql/organization.go +++ b/data/datamysql/organization.go @@ -24,6 +24,11 @@ func (c *organizationRepo) getProfileQuery(user entity.User) (query string, wher if len(user.Profiles) > 0 { for _, p := range user.Profiles { switch p.Key { + case "VIRPT": + switch p.Organization.Type.Key { + case "provider": + return + } case "AD", "BCBSIAD", "BDCAD", "PLANAD": switch p.Organization.Type.Key { case "techsupport", "bcbsi", "bcbsa": @@ -44,7 +49,7 @@ func (c *organizationRepo) getProfileQuery(user entity.User) (query string, wher where = fmt.Sprintf(` AND (a.organization_uuid = '%s' OR f.organization_uuid = '%s') `, p.Organization.UUID, p.Organization.UUID) return } - case "SP", "SPT", "VIRPT": + case "SP", "SPT": switch p.Organization.Type.Key { case "techsupport", "bcbsi", "bcbsa": return @@ -341,7 +346,6 @@ func (c *organizationRepo) GetByUUID(organizationUUID string, user entity.User) } query = c.getQuery() + query + " WHERE a.organization_uuid = ? " + where - return c.parseEntity(c.conn.QueryRow(query, organizationUUID)) } @@ -446,13 +450,16 @@ func (c *organizationRepo) SetOrganizationAddress(address entity.OrganizationAdd return entity.OrganizationAddress{}, errors.NewNotFoundError() } - organization, err := c.GetByUUID(address.Organization.UUID, user) - if err != nil { - return entity.OrganizationAddress{}, err + if address.Organization.ID == 0 { + organization, err := c.GetByUUID(address.Organization.UUID, user) + if err != nil { + return entity.OrganizationAddress{}, err + } + address.Organization = &organization } UUID, _ := uuid.NewV4() - result, err := c.conn.Exec(query, UUID.String(), organization.ID, address.InternalID, address.Name, address.Address, address.Description, address.Latitude, address.Longitude, address.CreatedUser.ID, address.UpdatedUser.ID) + result, err := c.conn.Exec(query, UUID.String(), address.Organization.ID, address.InternalID, address.Name, address.Address, address.Description, address.Latitude, address.Longitude, address.CreatedUser.ID, address.UpdatedUser.ID) if err != nil { return entity.OrganizationAddress{}, err } diff --git a/data/datamysql/user.go b/data/datamysql/user.go index ecab9d4..a33ccae 100644 --- a/data/datamysql/user.go +++ b/data/datamysql/user.go @@ -605,7 +605,7 @@ func (c *userRepo) createUser(user entity.User) (int64, string, error) { func (c *userRepo) RemoveAddress(addressUUID string) error { const ( - query = "DELETE FROM tab_address WHERE address_uuid = ?;" + query = "UPDATE tab_address SET active = 0 WHERE address_uuid = ?;" ) _, err := c.conn.Exec(query, addressUUID) diff --git a/data/datamysql/visit.go b/data/datamysql/visit.go index dc1b7ac..569c98f 100644 --- a/data/datamysql/visit.go +++ b/data/datamysql/visit.go @@ -190,12 +190,13 @@ func (c *visitRepo) Create(visit entity.Visit) (entity.Visit, error) { row := c.conn.QueryRow(statusQuery, retVal.Status.Key, retVal.User.UUID, retVal.CreatedUser.UUID, retVal.TripType.Key) if err := row.Scan(&retVal.Status.ID, &retVal.Status.Key, &retVal.Status.Value, &retVal.User.ID, &retVal.User.Name, &retVal.CreatedUser.ID, &retVal.CreatedUser.Name, &retVal.TripType.ID, &retVal.TripType.Key, &retVal.TripType.Value); err != nil { - fmt.Println("Error to get base data: ", err.Error()) + fmt.Println("data.Visit: Error getting base data: ", err.Error()) return retVal, err } results, err := c.conn.Exec(query, retVal.UUID, retVal.Status.ID, retVal.User.ID, retVal.VisitDatetime, retVal.PickupDatetime, retVal.Notes, retVal.CreatedUser.ID, toNullInt64(retVal.VisitDuration), retVal.ExternalID, returnDate, retVal.TripType.ID, retVal.Pickup.ID, retVal.PickupAddressID, retVal.DestinationAddressID, retVal.Provider.ProviderID) if err != nil { + fmt.Println("data.Visit: Error inserting visit: ", err.Error()) return retVal, err } diff --git a/domain/service/provider.go b/domain/service/provider.go index 3d8307e..f2bb4bc 100644 --- a/domain/service/provider.go +++ b/domain/service/provider.go @@ -2,6 +2,7 @@ package service import ( "errors" + "fmt" "bitbucket.org/nemt/nemt-portal-api/domain/entity" ) @@ -61,11 +62,15 @@ func (s *providerService) GetByMukID(mukID string, user entity.User) (entity.Pro func (s *providerService) GetByUUID(providerUUID string, user entity.User) (entity.Provider, error) { provider, err := s.svc.db.Provider().GetByUUID(providerUUID, user) if err != nil { + fmt.Println("providerService.GetByUUID: Provider UUID: ", providerUUID) + fmt.Println("providerService.GetByUUID: Provider Error: ", err.Error()) return provider, err } organization, err := s.svc.db.Organization().GetByTypeAndReferenceID("provider", provider.ProviderID, user) if err != nil { + fmt.Println("providerService.GetByUUID: OrganizationByType ProviderID : ", provider.ProviderID) + fmt.Println("providerService.GetByUUID: OrganizationByType Error: ", err.Error()) return provider, err } diff --git a/server/router/eligibilityroute/controller.go b/server/router/eligibilityroute/controller.go index abfc714..1a452e5 100644 --- a/server/router/eligibilityroute/controller.go +++ b/server/router/eligibilityroute/controller.go @@ -167,6 +167,8 @@ func (c *controller) handleEligibility(ctx echo.Context) error { if user.PhoneNumber != nil && len(*user.PhoneNumber) == 10 && !strings.Contains(*user.PhoneNumber, "+1") { phoneNumber := fmt.Sprintf("+1%s", *user.PhoneNumber) user.PhoneNumber = &phoneNumber + } else { + return routeutils.ResponseAPIFieldValidationError(ctx, "phonenumber", "Phone number is required") } user, err = c.svc.Users.Create(user, authUser) @@ -183,7 +185,10 @@ func (c *controller) handleEligibility(ctx echo.Context) error { phoneNumber := fmt.Sprintf("+1%s", *eligibility.User.PhoneNumber) eligibility.User.PhoneNumber = &phoneNumber } - user.PhoneNumber = eligibility.User.PhoneNumber + + if len(*eligibility.User.PhoneNumber) > 0 { + user.PhoneNumber = eligibility.User.PhoneNumber + } } err = c.svc.Users.UpdateLogin(user) diff --git a/server/router/selfregisterroute/controller.go b/server/router/selfregisterroute/controller.go index 4ef910a..5a2631f 100644 --- a/server/router/selfregisterroute/controller.go +++ b/server/router/selfregisterroute/controller.go @@ -10,7 +10,6 @@ import ( "bitbucket.org/nemt/nemt-portal-api/application/third/eligibility/bcbsi" "bitbucket.org/nemt/nemt-portal-api/application/third/npd/npdmodel" "bitbucket.org/nemt/nemt-portal-api/application/viewmodel" - "bitbucket.org/nemt/nemt-portal-api/infra/auth" "bitbucket.org/nemt/nemt-portal-api/infra/config" "bitbucket.org/nemt/nemt-portal-api/server/router/routeutils" "bitbucket.org/nemt/nemt-portal-api/server/validation" @@ -45,10 +44,11 @@ func (c *controller) handle(ctx echo.Context) error { return routeutils.HandleAPIError(ctx, err) } - authUser, err := auth.GetUserDetail(ctx, c.cfg) + authUser, err := c.svc.Users.GetByUUID("573c70ff-733d-11e7-ba8f-0a6ad3fcdeaa", "") if err != nil { return routeutils.HandleAPIError(ctx, err) } + if user.PhoneNumber == nil || len(*user.PhoneNumber) == 0 { return routeutils.ResponseAPIValidationError(ctx, "phonenumber is required") } diff --git a/server/router/visitroute/controller.go b/server/router/visitroute/controller.go index 3e12d1e..a556bc6 100644 --- a/server/router/visitroute/controller.go +++ b/server/router/visitroute/controller.go @@ -93,26 +93,24 @@ func (c *controller) handleRide(ctx echo.Context) error { ride.Visit.User.Type = &subscriber var provider viewmodel.ProviderResp - if authUser.Profiles[0].Key == "VIRPT" { - provider, err = c.svc.Provider.GetByOrganization(authUser.Profiles[0].Organization.UUID, authUser) - } else { - provider, err = c.svc.Provider.GetByUUID(ride.Visit.Provider.ProviderUUID, authUser) - } + provider, err = c.svc.Provider.GetByUUID(ride.Visit.Provider.ProviderUUID, authUser) if err != nil { return routeutils.HandleAPIError(ctx, err) } + visit.Provider = provider eligibility := viewmodel.Eligibility{} eligibility.Provider.ProviderNPI = provider.InternalID eligibility.Provider.ProviderName = provider.OrganizatioName - eligibility.TrackingID = "1234567" + eligibility.TrackingID = c.rangeIn(1000000, 9999999) eligibility.Subscriber.SubscriberID = *ride.Visit.User.Member eligibility.Subscriber.PatientType = *ride.Visit.User.Type eligibility.Subscriber.Name.First = ride.Visit.User.First eligibility.Subscriber.Name.Last = ride.Visit.User.Last eligibility.Subscriber.DemographicInfo.DateOfBirth = *ride.Visit.User.BirthDate eligibility.Subscriber.DemographicInfo.Gender = *ride.Visit.User.Gender - eligibility.ServiceInfo.DateOfService = time.Now() + loc, _ := time.LoadLocation("America/Chicago") + eligibility.ServiceInfo.DateOfService = time.Now().In(loc) eligibility.ServiceInfo.ServiceTypeCodes = []string{"30"} resp271, err := c.bcbsi.BXE.Get271(eligibility) @@ -155,24 +153,26 @@ func (c *controller) handleRide(ctx echo.Context) error { address.Longitude = result[0].Geometry.Location.Lng } - if len(user.Addresses) > 0 { - for _, a := range user.Addresses { - if a.AddressType == "home" { - err := c.svc.Users.RemoveAddress(a.UUID) - if err != nil { - fmt.Println("Error to remove old address: ", err.Error()) - return routeutils.HandleAPIError(ctx, err) + if address.Latitude != 0 && address.Longitude != 0 { + if len(user.Addresses) > 0 { + for _, a := range user.Addresses { + if a.AddressType == "home" { + err := c.svc.Users.RemoveAddress(a.UUID) + if err != nil { + fmt.Println("Error to remove old address: ", err.Error()) + return routeutils.HandleAPIError(ctx, err) + } } } } - } - address, err = c.svc.Users.SaveAddress(address) - if err != nil { - fmt.Println("Error to save address: ", err.Error()) - return routeutils.HandleAPIError(ctx, err) + address, err = c.svc.Users.SaveAddress(address) + if err != nil { + fmt.Println("Error to save address: ", err.Error()) + return routeutils.HandleAPIError(ctx, err) + } + user.Addresses = append(user.Addresses, address) } - user.Addresses = append(user.Addresses, address) homeAddress := viewmodel.Address{} for _, a := range visit.User.Addresses { @@ -422,41 +422,64 @@ func (c *controller) handle(ctx echo.Context) error { } var provider viewmodel.ProviderResp - if authUser.Profiles[0].Key == "VIRPT" { - provider, err = c.svc.Provider.GetByOrganization(authUser.Profiles[0].Organization.UUID, authUser) - } else { - provider, err = c.svc.Provider.GetByUUID(visit.Provider.ProviderUUID, authUser) - } + provider, err = c.svc.Provider.GetByNPI(visit.RawProvider.FivePartKeyGroups[0].ProviderNum, authUser) if err != nil { return routeutils.HandleAPIError(ctx, err) } + if provider.ProviderUUID == "" { + org := viewmodel.Organization{ + Type: viewmodel.OrganizationType{ + Key: "provider", + Name: "Provider", + }, + Name: visit.RawProvider.OrgName, + Description: visit.RawProvider.OrgName, + Main: false, + Author: authUser, + LastEditor: authUser, + Reference: visit.RawProvider, + } + + org, err = c.svc.Organization.AddOrganization(org, authUser) + if err != nil { + return routeutils.HandleAPIError(ctx, err) + } + + provider, err = c.svc.Provider.GetByOrganization(org.UUID, authUser) + if err != nil { + return routeutils.HandleAPIError(ctx, err) + } + } + visit.Provider = provider + if validationErrors := validation.ValidateVisit(&visit, &authUser); len(validationErrors) > 0 { return routeutils.ResponseAPICustomValidationError(ctx, "visit validation failed", validationErrors) } - eligibility := viewmodel.Eligibility{} - eligibility.Provider.ProviderNPI = provider.InternalID - eligibility.Provider.ProviderName = provider.OrganizatioName - eligibility.TrackingID = c.rangeIn(1000000, 9999999) - eligibility.Subscriber.SubscriberID = *visit.User.Member - eligibility.Subscriber.PatientType = *visit.User.Type - eligibility.Subscriber.Name.First = visit.User.First - eligibility.Subscriber.Name.Last = visit.User.Last - eligibility.Subscriber.DemographicInfo.DateOfBirth = *visit.User.BirthDate - eligibility.Subscriber.DemographicInfo.Gender = *visit.User.Gender - eligibility.ServiceInfo.DateOfService = time.Now() - eligibility.ServiceInfo.ServiceTypeCodes = []string{"30"} + // eligibility := viewmodel.Eligibility{} + // eligibility.Provider.ProviderNPI = provider.InternalID + // eligibility.Provider.ProviderName = provider.OrganizatioName + // eligibility.TrackingID = c.rangeIn(1000000, 9999999) + // eligibility.Subscriber.SubscriberID = *visit.User.Member + // eligibility.Subscriber.PatientType = *visit.User.Type + // eligibility.Subscriber.Name.First = visit.User.First + // eligibility.Subscriber.Name.Last = visit.User.Last + // eligibility.Subscriber.DemographicInfo.DateOfBirth = *visit.User.BirthDate + // eligibility.Subscriber.DemographicInfo.Gender = *visit.User.Gender + // loc, _ := time.LoadLocation("America/Chicago") + // eligibility.ServiceInfo.DateOfService = time.Now().In(loc) + // eligibility.ServiceInfo.ServiceTypeCodes = []string{"30"} - resp, err := c.bcbsi.BXE.Get271(eligibility) - if err != nil { - fmt.Println(err) - return routeutils.ResponseAPIValidationError(ctx, err.Error()) - } + // resp, err := c.bcbsi.BXE.Get271(eligibility) + // if err != nil { + // fmt.Println("Error to get eligibility: ", err.Error()) + // return routeutils.ResponseAPIValidationError(ctx, err.Error()) + // } user, err := c.svc.Users.GetByMemberID(*visit.User.Member) if err != nil { - fmt.Println(err) + fmt.Println("Error to get user by memberID: ", err.Error()) return routeutils.HandleAPIError(ctx, err) } @@ -498,12 +521,14 @@ func (c *controller) handle(ctx echo.Context) error { profile, err := c.svc.Profile.GetByKey("US") if err != nil { + fmt.Println("Error to get Profile: ", err.Error()) return routeutils.HandleAPIError(ctx, err) } user.Profiles = append(user.Profiles, profile) user, err = c.svc.Users.Create(user, authUser) if err != nil { + fmt.Println("Error to create the user: ", err.Error()) return routeutils.HandleAPIError(ctx, err) } } else { @@ -521,62 +546,65 @@ func (c *controller) handle(ctx echo.Context) error { err = c.svc.Users.UpdateLogin(user) if err != nil { + fmt.Println("Error to update login: ", err.Error()) return routeutils.HandleAPIError(ctx, err) } } - address := viewmodel.Address{} - header := resp.Division.HealthCareEligibilityResponse.LoopHL0030[0].HL_0460[0].HL_0890[0].NM1_0920[0].N3_0950 - body := resp.Division.HealthCareEligibilityResponse.LoopHL0030[0].HL_0460[0].HL_0890[0].NM1_0920[0].N4_0960 - zipCode := strings.TrimSpace(body.N403) + // address := viewmodel.Address{} + // header := resp.Division.HealthCareEligibilityResponse.LoopHL0030[0].HL_0460[0].HL_0890[0].NM1_0920[0].N3_0950 + // body := resp.Division.HealthCareEligibilityResponse.LoopHL0030[0].HL_0460[0].HL_0890[0].NM1_0920[0].N4_0960 + // zipCode := strings.TrimSpace(body.N403) - address.AddressTypeName = "Home" - address.AddressType = "home" - address.Name = fmt.Sprintf("%s, %s", header.N301, body.N401) - address.Address = fmt.Sprintf("%s, %s (%s)", header.N301, body.N401, zipCode) - address.CreatedUserUUID = authUser.ID - address.User = user - address.Type = "provider" + // address.AddressTypeName = "Home" + // address.AddressType = "home" + // address.Name = fmt.Sprintf("%s, %s", header.N301, body.N401) + // address.Address = fmt.Sprintf("%s, %s (%s)", header.N301, body.N401, zipCode) + // address.CreatedUserUUID = authUser.ID + // address.User = user + // address.Type = "provider" - googleMapsAPI, err := maps.NewClient(maps.WithClientIDAndSignature("gme-bluecrossandblue1", "msqgD-jdqCyR0M_1u5C1HION5iI=")) - if err != nil { - fmt.Println("Error to instantiate googles api: ", err.Error()) - return routeutils.HandleAPIError(ctx, err) - } + // googleMapsAPI, err := maps.NewClient(maps.WithClientIDAndSignature("gme-bluecrossandblue1", "msqgD-jdqCyR0M_1u5C1HION5iI=")) + // if err != nil { + // fmt.Println("Error to instantiate googles api: ", err.Error()) + // return routeutils.HandleAPIError(ctx, err) + // } - r := &maps.GeocodingRequest{ - Address: address.Address + " " + body.N402 + ", " + zipCode, - } + // r := &maps.GeocodingRequest{ + // Address: address.Address + " " + body.N402 + ", " + zipCode, + // } - result, err := googleMapsAPI.Geocode(context.Background(), r) - if err != nil { - fmt.Println("Error to instantiate googles api: ", err.Error()) - return routeutils.HandleAPIError(ctx, err) - } + // result, err := googleMapsAPI.Geocode(context.Background(), r) + // if err != nil { + // fmt.Println("Error to instantiate googles api: ", err.Error()) + // return routeutils.HandleAPIError(ctx, err) + // } - if len(result) > 0 { - address.Latitude = result[0].Geometry.Location.Lat - address.Longitude = result[0].Geometry.Location.Lng - } + // if len(result) > 0 { + // address.Latitude = result[0].Geometry.Location.Lat + // address.Longitude = result[0].Geometry.Location.Lng + // } - if len(user.Addresses) > 0 { - for _, a := range user.Addresses { - if a.AddressType == "home" { - err := c.svc.Users.RemoveAddress(a.UUID) - if err != nil { - fmt.Println("Error to remove old address: ", err.Error()) - return routeutils.HandleAPIError(ctx, err) - } - } - } - } + // if address.Latitude != 0 && address.Longitude != 0 { + // if len(user.Addresses) > 0 { + // for _, a := range user.Addresses { + // if a.AddressType == "home" { + // err := c.svc.Users.RemoveAddress(a.UUID) + // if err != nil { + // fmt.Println("Error to remove old address: ", err.Error()) + // return routeutils.HandleAPIError(ctx, err) + // } + // } + // } + // } - address, err = c.svc.Users.SaveAddress(address) - if err != nil { - fmt.Println("Error to save address: ", err.Error()) - return routeutils.HandleAPIError(ctx, err) - } - user.Addresses = append(user.Addresses, address) + // address, err = c.svc.Users.SaveAddress(address) + // if err != nil { + // fmt.Println("Error saving address: ", err.Error()) + // return routeutils.HandleAPIError(ctx, err) + // } + // user.Addresses = append(user.Addresses, address) + // } visit.TripType = viewmodel.TripType{ Key: "no_trip", @@ -588,6 +616,7 @@ func (c *controller) handle(ctx echo.Context) error { visit, err = c.svc.Visits.Save(visit) if err != nil { + fmt.Println("Error saving visit: ", err.Error()) return routeutils.HandleAPIError(ctx, err) } diff --git a/server/serverconfig/util.go b/server/serverconfig/util.go index 8f57c20..ff5d5e0 100644 --- a/server/serverconfig/util.go +++ b/server/serverconfig/util.go @@ -18,7 +18,8 @@ func authSkipper(ctx echo.Context) bool { strings.Contains(path, "/v1/ext") || strings.Contains(path, "/v1/notification/ws") || strings.HasPrefix(path, "/v1/lyfthook") || - strings.HasPrefix(path, "/v1/docs")) + strings.HasPrefix(path, "/v1/docs") || + strings.HasPrefix(path, "/v1/selfregister")) } // appSkipper is the default skipper for the application routes