Skip to content

Commit

Permalink
Merge pull request #14329 from transcom/B-21608-Alaska-Update-search-…
Browse files Browse the repository at this point in the history
…counseling-office-query

B-21608 alaska update search counseling office query
  • Loading branch information
r-mettler authored Dec 5, 2024
2 parents 4f4aa24 + 9c1f76e commit f58c4a3
Show file tree
Hide file tree
Showing 20 changed files with 708 additions and 30 deletions.
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -879,6 +879,7 @@ commands:
export FEATURE_FLAG_QUEUE_MANAGEMENT=false
export FEATURE_FLAG_UNACCOMPANIED_BAGGAGE=false
export FEATURE_FLAG_ENABLE_ALASKA=false
export FEATURE_FLAG_ENABLE_HAWAII=false
# disable for speed, playwright tests can fail otherwise
export DB_DEBUG=false
Expand Down
5 changes: 4 additions & 1 deletion .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,10 @@ export FEATURE_FLAG_MOBILE_HOME=true
export FEATURE_FLAG_UNACCOMPANIED_BAGGAGE=false

# Feature flag to allow AK to be entered as a state
export FEATURE_FLAG_ENABLE_ALASKA=false
export FEATURE_FLAG_ENABLE_ALASKA=true

# Feature flag to allow HI to be entered as a state
export FEATURE_FLAG_ENABLE_HAWAII=false

# Feature flag to enable/disable customers needing to authenticate with CAC on registration
# When turned to true, this will require each customer user to have the value of true in cac_validated in the service_members table
Expand Down
3 changes: 2 additions & 1 deletion config/env/demo.app-client-tls.env
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
3 changes: 2 additions & 1 deletion config/env/demo.app.env
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
3 changes: 2 additions & 1 deletion config/env/exp.app-client-tls.env
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
3 changes: 2 additions & 1 deletion config/env/exp.app.env
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
3 changes: 2 additions & 1 deletion config/env/loadtest.app-client-tls.env
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
3 changes: 2 additions & 1 deletion config/env/loadtest.app.env
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
3 changes: 2 additions & 1 deletion config/env/prd.app-client-tls.env
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
3 changes: 2 additions & 1 deletion config/env/prd.app.env
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
3 changes: 2 additions & 1 deletion config/env/stg.app-client-tls.env
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
3 changes: 2 additions & 1 deletion config/env/stg.app.env
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,5 @@ FEATURE_FLAG_MANAGE_SUPPORTING_DOCS=false
FEATURE_FLAG_THIRD_ADDRESS_AVAILABLE=false
FEATURE_FLAG_QUEUE_MANAGEMENT=false
FEATURE_FLAG_DODID_UNIQUE=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_ALASKA=false
FEATURE_FLAG_ENABLE_HAWAII=false
20 changes: 16 additions & 4 deletions pkg/handlers/internalapi/duty_locations.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,18 +50,30 @@ func (h SearchDutyLocationsHandler) Handle(params locationop.SearchDutyLocations

/** Feature Flag - Alaska - Determines if AK can be included/excluded **/
isAlaskaEnabled := false
featureFlagName := "enable_alaska"
flag, err := h.FeatureFlagFetcher().GetBooleanFlagForUser(context.TODO(), appCtx, featureFlagName, map[string]string{})
akFeatureFlagName := "enable_alaska"
flag, err := h.FeatureFlagFetcher().GetBooleanFlagForUser(context.TODO(), appCtx, akFeatureFlagName, map[string]string{})
if err != nil {
appCtx.Logger().Error("Error fetching feature flag", zap.String("featureFlagKey", featureFlagName), zap.Error(err))
appCtx.Logger().Error("Error fetching feature flag", zap.String("featureFlagKey", akFeatureFlagName), zap.Error(err))
} else {
isAlaskaEnabled = flag.Match
}

/** Feature Flag - Hawaii - Determines if HI can be included/excluded **/
isHawaiiEnabled := false
hiFeatureFlagName := "enable_hawaii"
flag, err = h.FeatureFlagFetcher().GetBooleanFlagForUser(context.TODO(), appCtx, hiFeatureFlagName, map[string]string{})
if err != nil {
appCtx.Logger().Error("Error fetching feature flag", zap.String("featureFlagKey", hiFeatureFlagName), zap.Error(err))
} else {
isHawaiiEnabled = flag.Match
}

// build states to exlude filter list
statesToExclude := make([]string, 0)
if !isAlaskaEnabled {
// HI locations will also be excluded as part of AK embargo
statesToExclude = append(statesToExclude, "AK")
}
if !isHawaiiEnabled {
statesToExclude = append(statesToExclude, "HI")
}

Expand Down
21 changes: 21 additions & 0 deletions pkg/models/gbloc_aors.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package models

import (
"time"

"github.com/gofrs/uuid"
)

type GblocAors struct {
ID uuid.UUID `json:"id" db:"id"`
JppsoRegionID uuid.UUID `json:"jppso_regions_id" db:"jppso_regions_id"`
OconusRateAreaID uuid.UUID `json:"oconus_rate_area_id" db:"oconus_rate_area_id"`
DepartmentIndicator *string `json:"department_indicator" db:"department_indicator"`
CreatedAt time.Time `json:"created_at" db:"created_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
}

// TableName overrides the table name used by Pop.
func (c GblocAors) TableName() string {
return "gbloc_aors"
}
20 changes: 20 additions & 0 deletions pkg/models/jppso_regions.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package models

import (
"time"

"github.com/gofrs/uuid"
)

type JppsoRegions struct {
ID uuid.UUID `json:"id" db:"id"`
Code string `json:"code" db:"code"`
Name string `json:"name" db:"name"`
CreatedAt time.Time `json:"created_at" db:"created_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
}

// TableName overrides the table name used by Pop.
func (c JppsoRegions) TableName() string {
return "jppso_regions"
}
14 changes: 7 additions & 7 deletions pkg/models/re_oconus_rate_areas.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import (
)

type OconusRateArea struct {
ID uuid.UUID `json:"id" db:"id" rw:"r"`
RateAreaId uuid.UUID `json:"rate_area_id" db:"rate_area_id" rw:"r"`
CountryId uuid.UUID `json:"country_id" db:"country_id" rw:"r"`
UsPostRegionCityId uuid.UUID `json:"us_post_region_city_id" db:"us_post_region_city_id" rw:"r"`
Active bool `json:"active" db:"active" rw:"r"`
CreatedAt time.Time `json:"created_at" db:"created_at" rw:"r"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at" rw:"r"`
ID uuid.UUID `json:"id" db:"id"`
RateAreaId uuid.UUID `json:"rate_area_id" db:"rate_area_id"`
CountryId uuid.UUID `json:"country_id" db:"country_id"`
UsPostRegionCityId uuid.UUID `json:"us_post_region_cities_id" db:"us_post_region_cities_id"`
Active bool `json:"active" db:"active"`
CreatedAt time.Time `json:"created_at" db:"created_at"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at"`
}

func (o OconusRateArea) TableName() string {
Expand Down
14 changes: 14 additions & 0 deletions pkg/models/us_post_region_city.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,17 @@ func FindCountyByZipCode(db *pop.Connection, zipCode string) (string, error) {
}
return usprc.UsprcCountyNm, nil
}

func FindByZipCode(db *pop.Connection, zipCode string) (*UsPostRegionCity, error) {
var usprc UsPostRegionCity
err := db.Where("uspr_zip_id = ?", zipCode).First(&usprc)
if err != nil {
switch err {
case sql.ErrNoRows:
return nil, apperror.NewEventError("No UsPostRegionCity found for provided zip code "+zipCode+".", err)
default:
return nil, err
}
}
return &usprc, nil
}
9 changes: 9 additions & 0 deletions pkg/models/us_post_region_city_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,12 @@ func (suite *ModelSuite) TestFindCountyByZipCode() {
_, err = models.FindCountyByZipCode(suite.DB(), "99999")
suite.Error(err)
}

func (suite *ModelSuite) TestFindByZipCode() {

// Attempt to gather 90210's County from the 90210 zip code
usPostRegionCity, err := models.FindByZipCode(suite.DB(), "90210")
suite.NotNil(usPostRegionCity)
suite.NoError(err)
suite.Equal("LOS ANGELES", usPostRegionCity.UsprcCountyNm)
}
Loading

0 comments on commit f58c4a3

Please sign in to comment.