diff --git a/server/router/routeutils/response.go b/server/router/routeutils/response.go index c68fed6..2aab6da 100644 --- a/server/router/routeutils/response.go +++ b/server/router/routeutils/response.go @@ -39,7 +39,7 @@ func ResponseAPIErrorWithData(c echo.Context, status int, message string, redire Error: true, Message: message, Redirect: redirect, - Data: data, + Data: data, } return c.JSON(status, returnValue) @@ -92,11 +92,12 @@ func ResponseAPINotFoundError(c echo.Context) error { return ResponseAPIError(c, http.StatusNotFound, "Not Found", false) } -//ResponseAPINotEligible returns a standard API not eligible to the response +//ResponseAPINotEligibleError returns a standard API not eligible to the response func ResponseAPINotEligibleError(c echo.Context) error { - return ResponseAPIError(c, http.StatusForbidden, "Eligibility Not Found or Error", false) + return ResponseAPIError(c, http.StatusForbidden, "Member does not have active insurance coverage", false) } +//ResponseAPINotEligibleWithMessageError returns a standard API not eligible to the response with custom message func ResponseAPINotEligibleWithMessageError(c echo.Context, message string) error { return ResponseAPIError(c, http.StatusForbidden, message, false) } diff --git a/server/router/usersroute/controller.go b/server/router/usersroute/controller.go index ce5f1c6..17b057b 100644 --- a/server/router/usersroute/controller.go +++ b/server/router/usersroute/controller.go @@ -1,15 +1,15 @@ package usersroute import ( + "bytes" b64 "encoding/base64" + "encoding/json" "fmt" "math/rand" + "net/http" + "strings" "sync" "time" - "net/http" - "encoding/json" - "bytes" - "strings" "bitbucket.org/nemt/nemt-portal-api/application/applicationservice" "bitbucket.org/nemt/nemt-portal-api/application/third/eligibility/bcbsi" @@ -19,8 +19,8 @@ import ( "bitbucket.org/nemt/nemt-portal-api/infra/cache" "bitbucket.org/nemt/nemt-portal-api/infra/config" "bitbucket.org/nemt/nemt-portal-api/server/authorization" - "bitbucket.org/nemt/nemt-portal-api/server/validation" "bitbucket.org/nemt/nemt-portal-api/server/router/routeutils" + "bitbucket.org/nemt/nemt-portal-api/server/validation" "github.com/labstack/echo" "golang.org/x/net/context" "googlemaps.github.io/maps" @@ -346,7 +346,7 @@ func (c *controller) handleMember(ctx echo.Context) error { } //Validate member - if validationErrors := validation.ValidateEligibility(&user) ; len(validationErrors) > 0 { + if validationErrors := validation.ValidateEligibility(&user); len(validationErrors) > 0 { return routeutils.ResponseAPICustomValidationError(ctx, "eligibility validation failed", validationErrors) } @@ -409,44 +409,44 @@ func (c *controller) handleMember(ctx echo.Context) error { eligibility.ServiceInfo.ServiceTypeCodes = []string{"30"} /* - resp, err := c.bcbsi.BXE.Get271(eligibility) - if err != nil { - fmt.Println("Eligibility Not Found or Error: ", err.Error()) - return routeutils.ResponseAPINotEligibleError(ctx) - } + resp, err := c.bcbsi.BXE.Get271(eligibility) + if err != nil { + fmt.Println("Eligibility Not Found or Error: ", err.Error()) + return routeutils.ResponseAPINotEligibleError(ctx) + } */ //This part is emulating eligibility check for testing purposes client := &http.Client{} eligibilityJson, err := json.Marshal(eligibility) if err != nil { - return routeutils.HandleAPIError(ctx, err) + return routeutils.ResponseAPINotEligibleError(ctx) } req, _ := http.NewRequest("POST", c.cfg.Eligibility.Url, bytes.NewBuffer(eligibilityJson)) req.Header.Add("App", c.cfg.HTTP.Auth.AppKey) req.Header.Add("Token", ctx.Request().Header.Get("Token")) req.Header.Add("Content-Type", "application/json") - + resp, err := client.Do(req) if err != nil { - return routeutils.HandleAPIError(ctx, err) + return routeutils.ResponseAPINotEligibleError(ctx) } defer resp.Body.Close() if resp.StatusCode < 200 || resp.StatusCode > 300 { - return routeutils.ResponseAPINotEligibleWithMessageError(ctx, "Cannot check eligibility") + return routeutils.ResponseAPINotEligibleError(ctx) } eligibilityResponse := viewmodel.Interchange271{} decoder := json.NewDecoder(resp.Body) err = decoder.Decode(&eligibilityResponse) if err != nil { - return routeutils.ResponseAPINotEligibleWithMessageError(ctx, "Cannot check eligibility") + return routeutils.ResponseAPINotEligibleError(ctx) } //================================================================ if len(eligibilityResponse.Division.HealthCareEligibilityResponse.LoopHL0030) < 1 { - return routeutils.ResponseAPINotEligibleWithMessageError(ctx, "Cannot check eligibility") + return routeutils.ResponseAPINotEligibleError(ctx) } address := viewmodel.Address{} @@ -467,17 +467,17 @@ func (c *controller) handleMember(ctx echo.Context) error { if len(cleanZipcode) > zipcodeTrimLength { trimmedZipcode = cleanZipcode[:zipcodeTrimLength] } - + _, err = c.svc.Zipcodes.GetByParticipatingZipcode(trimmedZipcode) - if err != nil{ - return routeutils.ResponseAPINotEligibleWithMessageError(ctx, "Member's Home zipcode, " + trimmedZipcode + ", is not currently eligible for participation in this program") + if err != nil { + return routeutils.ResponseAPINotEligibleWithMessageError(ctx, "Member's Home zipcode, "+trimmedZipcode+", is not currently eligible for participation in this program") } 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) + return routeutils.HandleAPIError(ctx, err) } r := &maps.GeocodingRequest{ @@ -487,7 +487,7 @@ func (c *controller) handleMember(ctx echo.Context) error { result, err := googleMapsAPI.Geocode(context.Background(), r) if err != nil { fmt.Println("Error to instantiate googles api: ", err.Error()) - return routeutils.HandleAPIError(ctx,err) + return routeutils.HandleAPIError(ctx, err) } if len(result) > 0 { @@ -497,7 +497,7 @@ func (c *controller) handleMember(ctx echo.Context) error { _, err := c.svc.Users.SaveAddress(address) if err != nil { fmt.Println("Error to save address: ", err.Error()) - return routeutils.HandleAPIError(ctx,err) + return routeutils.HandleAPIError(ctx, err) } } @@ -597,7 +597,7 @@ func (c *controller) handlePortal(ctx echo.Context) error { } user.Pass = string(pass) - if passwordValidationErrors := validation.ValidatePassword(&user) ; len(passwordValidationErrors) > 0 { + if passwordValidationErrors := validation.ValidatePassword(&user); len(passwordValidationErrors) > 0 { return routeutils.ResponseAPICustomValidationError(ctx, "Password not strong enough", passwordValidationErrors) }