Skip to content

Commit

Permalink
Merge branch 'main' into MAIN-B-21480-Full-PPM-Counseling
Browse files Browse the repository at this point in the history
  • Loading branch information
samaysofo committed Feb 25, 2025
2 parents f40d3c7 + 810fb35 commit b35ab79
Show file tree
Hide file tree
Showing 43 changed files with 1,474 additions and 219 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -280,4 +280,4 @@ require (
pault.ag/go/piv v0.0.0-20190320181422-d9d61c70919c // indirect
)

replace github.com/pdfcpu/pdfcpu => github.com/transcom/pdfcpu v0.0.0-20250131173611-4b416bd62126
replace github.com/pdfcpu/pdfcpu => github.com/transcom/pdfcpu v0.0.0-20250225161110-ce2f81788248
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -633,8 +633,8 @@ github.com/tiaguinho/gosoap v1.4.4 h1:4XZlaqf/y2UAbCPFGcZS4uLKrEvnMr+5pccIyQAUVg
github.com/tiaguinho/gosoap v1.4.4/go.mod h1:4vv86Jl19UkOeoJW/aawihXYNJ/Iy2NHkhgmBUJ2Ibk=
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
github.com/transcom/pdfcpu v0.0.0-20250131173611-4b416bd62126 h1:XbLtbZvPTc5bY6DuXF2ZHPLPmE3GVe3T/o8PzfmITCA=
github.com/transcom/pdfcpu v0.0.0-20250131173611-4b416bd62126/go.mod h1:8EAma3IBIS7ssMiPlcNIPWwISTuP31WToXfGvc327vI=
github.com/transcom/pdfcpu v0.0.0-20250225161110-ce2f81788248 h1:G1EenmQJPQ5EO1U2iOi3olQxpM0bW+AsPWFpJhnfL1w=
github.com/transcom/pdfcpu v0.0.0-20250225161110-ce2f81788248/go.mod h1:8EAma3IBIS7ssMiPlcNIPWwISTuP31WToXfGvc327vI=
github.com/urfave/cli v1.22.10 h1:p8Fspmz3iTctJstry1PYS3HVdllxnEzTEsgIgtxTrCk=
github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/vektra/mockery/v2 v2.45.1 h1:6HpdnKiLCjVtzlRLQPUNIM0u7yrvAoZ7VWF1TltJvTM=
Expand Down
3 changes: 3 additions & 0 deletions migrations/app/migrations_manifest.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1091,7 +1091,10 @@
20250121153007_update_pricing_proc_to_handle_international_shuttle.up.sql
20250121184450_upd_duty_loc_B-22242.up.sql
20250123173216_add_destination_queue_db_func_and_gbloc_view.up.sql
20250123210535_update_re_intl_transit_times_for_ak_hhg.up.sql
20250204162411_updating_create_accessorial_service_item_proc_for_crating.up.sql
20250206173204_add_hawaii_data.up.sql
20250207153450_add_fetch_documents_func.up.sql
20250210175754_B22451_update_dest_queue_to_consider_sit_extensions.up.sql
20250213151815_fix_spacing_fetch_documents.up.sql
# nothing should be added below this line this file is archived and only needed for rebuilding db Locally to be run prior to new migrations process to keep the current state
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
UPDATE re_intl_transit_times
SET hhg_transit_time = 10
WHERE origin_rate_area_id IN ('b80a00d4-f829-4051-961a-b8945c62c37d','5a27e806-21d4-4672-aa5e-29518f10c0aa')
OR destination_rate_area_id IN ('b80a00d4-f829-4051-961a-b8945c62c37d','5a27e806-21d4-4672-aa5e-29518f10c0aa');

update re_intl_transit_times
SET hhg_transit_time = 20
WHERE origin_rate_area_id IN ('9bb87311-1b29-4f29-8561-8a4c795654d4','635e4b79-342c-4cfc-8069-39c408a2decd')
OR destination_rate_area_id IN ('9bb87311-1b29-4f29-8561-8a4c795654d4','635e4b79-342c-4cfc-8069-39c408a2decd');
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
CREATE OR REPLACE FUNCTION public.fetch_documents(docCursor refcursor, useruploadCursor refcursor, uploadCursor refcursor, _docID uuid) RETURNS setof refcursor AS $$
BEGIN
OPEN $1 FOR
SELECT documents.created_at, documents.deleted_at, documents.id, documents.service_member_id, documents.updated_at
FROM documents AS documents
WHERE documents.id = _docID and documents.deleted_at is null
LIMIT 1;
RETURN NEXT $1;
OPEN $2 FOR
SELECT user_uploads.created_at, user_uploads.deleted_at, user_uploads.document_id, user_uploads.id, user_uploads.updated_at,
user_uploads.upload_id, user_uploads.uploader_id
FROM user_uploads AS user_uploads
WHERE user_uploads.deleted_at is null and user_uploads.document_id = _docID
ORDER BY created_at asc;
RETURN NEXT $2;
OPEN $3 FOR
SELECT uploads.id, uploads.bytes, uploads.checksum, uploads.content_type, uploads.created_at, uploads.deleted_at, uploads.filename,
uploads.rotation, uploads.storage_key, uploads.updated_at, uploads.upload_type
FROM uploads AS uploads, user_uploads
WHERE uploads.deleted_at is null
and uploads.id = user_uploads.upload_id
and user_uploads.deleted_at is null and user_uploads.document_id = _docID;
RETURN NEXT $3;
END;
$$ LANGUAGE plpgsql;
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
CREATE OR REPLACE FUNCTION public.fetch_documents(docCursor refcursor, useruploadCursor refcursor, uploadCursor refcursor, _docID uuid) RETURNS setof refcursor AS $$
BEGIN
OPEN $1 FOR
SELECT documents.created_at, documents.deleted_at, documents.id, documents.service_member_id, documents.updated_at
FROM documents AS documents
WHERE documents.id = _docID and documents.deleted_at is null
LIMIT 1;
RETURN NEXT $1;
OPEN $2 FOR
SELECT user_uploads.created_at, user_uploads.deleted_at, user_uploads.document_id, user_uploads.id, user_uploads.updated_at,
user_uploads.upload_id, user_uploads.uploader_id
FROM user_uploads AS user_uploads
WHERE user_uploads.deleted_at is null and user_uploads.document_id = _docID
ORDER BY created_at asc;
RETURN NEXT $2;
OPEN $3 FOR
SELECT uploads.id, uploads.bytes, uploads.checksum, uploads.content_type, uploads.created_at, uploads.deleted_at, uploads.filename,
uploads.rotation, uploads.storage_key, uploads.updated_at, uploads.upload_type FROM uploads AS uploads , user_uploads
WHERE uploads.deleted_at is null and uploads.id = user_uploads.upload_id and user_uploads.deleted_at is null and user_uploads.document_id = _docID;
RETURN NEXT $3;
END;
$$ LANGUAGE plpgsql;
72 changes: 72 additions & 0 deletions pkg/factory/address_factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -201,3 +201,75 @@ func GetTraitAddress4() []Customization {
},
}
}

// GetTraitAddressAKZone1 is an address in Zone 1 of AK
func GetTraitAddressAKZone1() []Customization {

return []Customization{
{
Model: models.Address{
StreetAddress1: "82 Joe Gibbs Rd",
StreetAddress2: models.StringPointer("P.O. Box 1234"),
StreetAddress3: models.StringPointer("c/o Another Person"),
City: "ANCHORAGE",
State: "AK",
PostalCode: "99695",
IsOconus: models.BoolPointer(true),
},
},
}
}

// GetTraitAddressAKZone2 is an address in Zone 2 of Alaska
func GetTraitAddressAKZone2() []Customization {

return []Customization{
{
Model: models.Address{
StreetAddress1: "44 John Riggins Rd",
StreetAddress2: models.StringPointer("P.O. Box 1234"),
StreetAddress3: models.StringPointer("c/o Another Person"),
City: "FAIRBANKS",
State: "AK",
PostalCode: "99703",
IsOconus: models.BoolPointer(true),
},
},
}
}

// GetTraitAddressAKZone3 is an address in Zone 3 of Alaska
func GetTraitAddressAKZone3() []Customization {

return []Customization{
{
Model: models.Address{
StreetAddress1: "26 Clinton Portis Rd",
StreetAddress2: models.StringPointer("P.O. Box 1234"),
StreetAddress3: models.StringPointer("c/o Another Person"),
City: "KODIAK",
State: "AK",
PostalCode: "99697",
IsOconus: models.BoolPointer(true),
},
},
}
}

// GetTraitAddressAKZone4 is an address in Zone 4 of Alaska
func GetTraitAddressAKZone4() []Customization {

return []Customization{
{
Model: models.Address{
StreetAddress1: "8 Alex Ovechkin Rd",
StreetAddress2: models.StringPointer("P.O. Box 1234"),
StreetAddress3: models.StringPointer("c/o Another Person"),
City: "JUNEAU",
State: "AK",
PostalCode: "99801",
IsOconus: models.BoolPointer(true),
},
},
}
}
2 changes: 1 addition & 1 deletion pkg/handlers/ghcapi/documents.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func (h GetDocumentHandler) Handle(params documentop.GetDocumentParams) middlewa
return handlers.ResponseForError(appCtx.Logger(), err), err
}

document, err := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID, true)
document, err := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID)
if err != nil {
return handlers.ResponseForError(appCtx.Logger(), err), err
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/handlers/ghcapi/uploads.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ func (h CreateUploadHandler) Handle(params uploadop.CreateUploadParams) middlewa
}

// Fetch document to ensure user has access to it
document, docErr := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID, true)
document, docErr := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID)
if docErr != nil {
return handlers.ResponseForError(appCtx.Logger(), docErr), rollbackErr
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/handlers/internalapi/documents.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func (h ShowDocumentHandler) Handle(params documentop.ShowDocumentParams) middle
return handlers.ResponseForError(appCtx.Logger(), err), err
}

document, err := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID, false)
document, err := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID)
if err != nil {
return handlers.ResponseForError(appCtx.Logger(), err), err
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/handlers/internalapi/uploads.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ func (h CreateUploadHandler) Handle(params uploadop.CreateUploadParams) middlewa
}

// Fetch document to ensure user has access to it
document, docErr := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID, true)
document, docErr := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID)
if docErr != nil {
return handlers.ResponseForError(appCtx.Logger(), docErr), rollbackErr
}
Expand Down Expand Up @@ -267,7 +267,7 @@ func (h CreatePPMUploadHandler) Handle(params ppmop.CreatePPMUploadParams) middl
documentID := uuid.FromStringOrNil(params.DocumentID.String())

// Fetch document to ensure user has access to it
document, docErr := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID, true)
document, docErr := models.FetchDocument(appCtx.DB(), appCtx.Session(), documentID)
if docErr != nil {
docNotFoundErr := fmt.Errorf("documentId %q was not found for this user", documentID)
return ppmop.NewCreatePPMUploadNotFound().WithPayload(payloads.ClientError(handlers.NotFoundMessage, docNotFoundErr.Error(), h.GetTraceIDFromRequest(params.HTTPRequest))), docNotFoundErr
Expand Down
4 changes: 2 additions & 2 deletions pkg/handlers/primeapi/mto_service_item_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1041,8 +1041,8 @@ func (suite *HandlerSuite) TestCreateMTOServiceItemOriginSITHandlerWithDOFSITWit
},
}, nil)
factory.FetchReServiceByCode(suite.DB(), models.ReServiceCodeDOFSIT)
sitEntryDate := time.Date(2024, time.February, 28, 0, 0, 0, 0, time.UTC)
sitDepartureDate := time.Date(2024, time.February, 27, 0, 0, 0, 0, time.UTC)
sitEntryDate := time.Date(2024, time.February, 27, 0, 0, 0, 0, time.UTC)
sitDepartureDate := time.Date(2024, time.February, 28, 0, 0, 0, 0, time.UTC)
sitPostalCode := "00000"

// Original customer pickup address
Expand Down
8 changes: 8 additions & 0 deletions pkg/models/address.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/gobuffalo/validate/v3"
"github.com/gobuffalo/validate/v3/validators"
"github.com/gofrs/uuid"
"github.com/pkg/errors"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"

Expand Down Expand Up @@ -146,6 +147,13 @@ func (a *Address) LineDisplayFormat() string {
return fmt.Sprintf("%s%s%s, %s, %s %s", a.StreetAddress1, optionalStreetAddress2, optionalStreetAddress3, a.City, a.State, a.PostalCode)
}

func (a *Address) IsAddressAlaska() (bool, error) {
if a == nil {
return false, errors.New("address is nil")
}
return a.State == "AK", nil
}

// NotImplementedCountryCode is the default for unimplemented country code lookup
type NotImplementedCountryCode struct {
message string
Expand Down
31 changes: 31 additions & 0 deletions pkg/models/address_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -385,3 +385,34 @@ func (suite *ModelSuite) Test_FetchDutyLocationGblocForAK() {
suite.Equal(string(*gbloc), "MAPK")
})
}

func (suite *ModelSuite) TestIsAddressAlaska() {
var address *m.Address
bool1, err := address.IsAddressAlaska()
suite.Error(err)
suite.Equal("address is nil", err.Error())
suite.Equal(false, bool1)

address = &m.Address{
StreetAddress1: "street 1",
StreetAddress2: m.StringPointer("street 2"),
StreetAddress3: m.StringPointer("street 3"),
City: "city",
PostalCode: "90210",
County: m.StringPointer("County"),
}

bool2, err := address.IsAddressAlaska()
suite.NoError(err)
suite.Equal(m.BoolPointer(false), &bool2)

address.State = "MT"
bool3, err := address.IsAddressAlaska()
suite.NoError(err)
suite.Equal(m.BoolPointer(false), &bool3)

address.State = "AK"
bool4, err := address.IsAddressAlaska()
suite.NoError(err)
suite.Equal(m.BoolPointer(true), &bool4)
}
Loading

0 comments on commit b35ab79

Please sign in to comment.