Documentation
¶
Index ¶
- func CheckValidationData(checks []ValidationFunc) error
- func SetNoNNilOptionalInt32Field(newInt *int32, oldInt *int32) *int32
- func SetNoNilOptionalBoolField(newBool *bool, oldBool *bool) *bool
- func SetNoNilOptionalCentField(newCent *unit.Cents, oldCent *unit.Cents) *unit.Cents
- func SetNoNilOptionalPoundField(newWeight *unit.Pound, oldWeight *unit.Pound) *unit.Pound
- func SetOptionalDateTimeField(newDate *time.Time, oldDate *time.Time) *time.Time
- func SetOptionalPoundField(newWeight *unit.Pound, oldWeight *unit.Pound) *unit.Pound
- func SetOptionalStringField(newString *string, oldString *string) *string
- type AOAPacketCreator
- type AddressCreator
- type AddressUpdater
- type AdminUserCreator
- type AdminUserFetcher
- type AdminUserListFetcher
- type AdminUserUpdater
- type ApprovedSITDurationUpdateCreator
- type BillableWeightInputs
- type BoatShipmentCreator
- type BoatShipmentFetcher
- type BoatShipmentUpdater
- type ClientCertCreator
- type ClientCertFetcher
- type ClientCertListFetcher
- type ClientCertRemover
- type ClientCertUpdater
- type CounselingServicesPricer
- type CurrentSIT
- type CustomerFetcher
- type CustomerSearcher
- type CustomerSupportRemarkDeleter
- type CustomerSupportRemarkUpdater
- type CustomerSupportRemarksCreator
- type CustomerSupportRemarksFetcher
- type CustomerUpdater
- type DateSelectionChecker
- type Dollar
- type DomesticAdditionalDaysSITPricer
- type DomesticCratingPricer
- type DomesticDestinationAdditionalDaysSITPricer
- type DomesticDestinationFirstDaySITPricer
- type DomesticDestinationPricer
- type DomesticDestinationSITDeliveryPricer
- type DomesticDestinationSITFuelSurchargePricer
- type DomesticDestinationShuttlingPricer
- type DomesticFirstDaySITPricer
- type DomesticLinehaulPricer
- type DomesticNTSPackPricer
- type DomesticOriginAdditionalDaysSITPricer
- type DomesticOriginFirstDaySITPricer
- type DomesticOriginPricer
- type DomesticOriginSITFuelSurchargePricer
- type DomesticOriginSITPickupPricer
- type DomesticOriginShuttlingPricer
- type DomesticPackPricer
- type DomesticShorthaulPricer
- type DomesticUncratingPricer
- type DomesticUnpackPricer
- type ElectronicOrderCategoryCountFetcher
- type ElectronicOrderListFetcher
- type EvaluationReportCreator
- type EvaluationReportDeleter
- type EvaluationReportFetcher
- type EvaluationReportUpdater
- type ExcessWeightRiskManager
- type FeatureFlag
- type FeatureFlagFetcher
- type FetchMoveHistoryParams
- type FetchPaymentRequestListParams
- type Fetcher
- type FileInfo
- type FormCreator
- type FormTemplate
- type FormType
- type FormattedMovingExpenses
- type FormattedOtherExpenses
- type FuelSurchargePricer
- type GEXChannel
- type GHCPaymentRequestInvoiceGenerator
- type GexSender
- type HiddenMove
- type HiddenMoves
- type IsDateWeekendHolidayInfo
- type LineOfAccountingFetcher
- type ListFetcher
- type ListOrderParams
- type MTOAgentCreator
- type MTOAgentUpdater
- type MTOServiceItemCreator
- type MTOServiceItemFetcher
- type MTOServiceItemUpdater
- type MTOShipmentAddressUpdater
- type MTOShipmentCreator
- type MTOShipmentFetcher
- type MTOShipmentStatusUpdater
- type MTOShipmentUpdater
- type ManagementServicesPricer
- type MobileHomeShipmentCreator
- type MobileHomeShipmentFetcher
- type MobileHomeShipmentUpdater
- type MoveAdditionalDocumentsUploader
- type MoveAssignedOfficeUserUpdater
- type MoveCanceler
- type MoveCloseoutOfficeUpdater
- type MoveExcessWeightUploader
- type MoveFetcher
- type MoveFetcherParams
- type MoveFinancialReviewFlagSetter
- type MoveHistoryFetcher
- type MoveListFetcher
- type MoveLocker
- type MoveOrderAmendmentAvailableSinceCount
- type MoveOrderAmendmentAvailableSinceCounts
- type MoveOrderUploadType
- type MoveRouter
- type MoveSearcher
- type MoveTaskOrderChecker
- type MoveTaskOrderCreator
- type MoveTaskOrderFetcher
- type MoveTaskOrderFetcherParams
- type MoveTaskOrderHider
- type MoveTaskOrderUpdater
- type MoveUnlocker
- type MoveWeights
- type MovingExpenseCreator
- type MovingExpenseDeleter
- type MovingExpenseUpdater
- type NewPagination
- type NewQueryAssociation
- type NewQueryAssociations
- type NewQueryFilter
- type NewQueryOrder
- type OfficeFetcher
- type OfficeListFetcher
- type OfficeUserCreator
- type OfficeUserFetcher
- type OfficeUserFetcherPop
- type OfficeUserGblocFetcher
- type OfficeUserUpdater
- type OrderFetcher
- type OrderUpdater
- type OrganizationFetcher
- type OrganizationListFetcher
- type PDFMerger
- type PPMCloseoutFetcher
- type PPMDocumentFetcher
- type PPMEstimator
- type PPMShipmentCreator
- type PPMShipmentFetcher
- type PPMShipmentNewSubmitter
- type PPMShipmentReviewDocuments
- type PPMShipmentRouter
- type PPMShipmentUpdatedSubmitter
- type PPMShipmentUpdater
- type PPTASReportListFetcher
- type PWSViolationsFetcher
- type Page1Values
- type Page2Values
- type Page3Values
- type Pagination
- type ParamsPricer
- type PaymentPacketCreator
- type PaymentRequestBulkDownloadCreator
- type PaymentRequestCreator
- type PaymentRequestFetcher
- type PaymentRequestListFetcher
- type PaymentRequestRecalculator
- type PaymentRequestReviewedFetcher
- type PaymentRequestReviewedProcessor
- type PaymentRequestShipmentRecalculator
- type PaymentRequestStatusUpdater
- type PaymentRequestUploadCreator
- type PaymentServiceItemStatusUpdater
- type PostalCodeType
- type PostalCodeValidator
- type PricingDisplayParam
- type PricingDisplayParams
- type PrimeDownloadMoveUploadPDFGenerator
- type ProgearWeightTicketCreator
- type ProgearWeightTicketDeleter
- type ProgearWeightTicketUpdater
- type QueryAssociation
- type QueryAssociations
- type QueryFilter
- type QueryOrder
- type ReportViolationFetcher
- type ReportViolationsCreator
- type RequestedOfficeUserFetcher
- type RequestedOfficeUserListFetcher
- type RequestedOfficeUserUpdater
- type ReweighCreator
- type ReweighFetcher
- type ReweighUpdater
- type RoleAssociater
- type SFTPClient
- type SFTPFiler
- type SITExtensionApprover
- type SITExtensionCreator
- type SITExtensionDenier
- type SITStatus
- type SSWPPMComputer
- type SSWPPMGenerator
- type SearchCustomersParams
- type SearchMovesParams
- type ServiceItemPricer
- type ServiceRequestDocumentUploadCreator
- type ShipmentAddressUpdateRequester
- type ShipmentApprover
- type ShipmentBillableWeightCalculator
- type ShipmentCancellationRequester
- type ShipmentCreator
- type ShipmentDeleter
- type ShipmentDiversionApprover
- type ShipmentDiversionRequester
- type ShipmentPaymentSITBalance
- type ShipmentRejecter
- type ShipmentReweighRequester
- type ShipmentRouter
- type ShipmentSITStatus
- type ShipmentUpdater
- type ShipmentsPaymentSITBalance
- type SignedCertificationCreator
- type SignedCertificationUpdater
- type SitEntryDateUpdater
- type SyncadaFileProcessor
- type SyncadaSFTPReader
- type SyncadaSFTPSender
- type TableFromSliceCreator
- type TransportationAccountingCodeFetcher
- type TransportationOfficesFetcher
- type UploadCreator
- type UploadInformation
- type UploadInformationFetcher
- type UploadUpdater
- type UserFetcher
- type UserPrivilegeAssociator
- type UserRoleAssociator
- type UserSessionRevocation
- type UserUpdater
- type UserUploadToPDFConverter
- type ValidationFunc
- type WebhookSubscriptionCreator
- type WebhookSubscriptionFetcher
- type WebhookSubscriptionUpdater
- type WeightEstimatorPage1
- type WeightEstimatorPage2
- type WeightEstimatorPage3
- type WeightEstimatorPage4
- type WeightEstimatorPage5
- type WeightEstimatorPage6
- type WeightEstimatorPage7
- type WeightEstimatorPage8
- type WeightEstimatorPage9
- type WeightEstimatorPage10
- type WeightEstimatorPage11
- type WeightEstimatorPages
- type WeightTicketComputer
- type WeightTicketCreator
- type WeightTicketDeleter
- type WeightTicketFetcher
- type WeightTicketGenerator
- type WeightTicketUpdater
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckValidationData ¶
func CheckValidationData(checks []ValidationFunc) error
CheckValidationData runs through a list of ValidationFuncs to check for errors
func SetNoNNilOptionalInt32Field ¶
SetNoNNilOptionalInt32Field sets the correct new value for the updated int32 field.
func SetNoNilOptionalBoolField ¶
SetNoNilOptionalBoolField sets the correct new value for the updated bool field.
func SetNoNilOptionalCentField ¶
SetNoNilOptionalCentField sets the correct new value for the updated cent field. Can be nil.
func SetNoNilOptionalPoundField ¶
SetNoNilOptionalPoundField sets the correct new value for the updated weight field.
func SetOptionalDateTimeField ¶
SetOptionalDateTimeField sets the correct new value for the updated date field. Can be nil.
func SetOptionalPoundField ¶
SetOptionalPoundField sets the correct new value for the updated weight field. Can be nil.
func SetOptionalStringField ¶
SetOptionalStringField sets the correct new value for the updated string field. Can be nil.
Types ¶
type AOAPacketCreator ¶
type AOAPacketCreator interface {
VerifyAOAPacketInternal(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID) error
CreateAOAPacket(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID, isPaymentPacket bool) (afero.File, error)
}
AOAPacketCreator creates an AOA packet for a PPM shipment
type AddressCreator ¶
type AddressCreator interface {
CreateAddress(appCtx appcontext.AppContext, address *models.Address) (*models.Address, error)
}
type AddressUpdater ¶
type AddressUpdater interface {
UpdateAddress(appCtx appcontext.AppContext, address *models.Address, eTag string) (*models.Address, error)
}
type AdminUserCreator ¶
type AdminUserCreator interface {
CreateAdminUser(appCtx appcontext.AppContext, user *models.AdminUser, organizationIDFilter []QueryFilter) (*models.AdminUser, *validate.Errors, error)
}
AdminUserCreator is the exported interface for creating an admin user
type AdminUserFetcher ¶
type AdminUserFetcher interface {
FetchAdminUser(appCtx appcontext.AppContext, filters []QueryFilter) (models.AdminUser, error)
}
AdminUserFetcher is the exported interface for fetching a single admin user
type AdminUserListFetcher ¶
type AdminUserListFetcher interface {
FetchAdminUserList(appCtx appcontext.AppContext, filters []QueryFilter, associations QueryAssociations, pagination Pagination, ordering QueryOrder) (models.AdminUsers, error)
FetchAdminUserCount(appCtx appcontext.AppContext, filters []QueryFilter) (int, error)
}
AdminUserListFetcher is the exported interface for fetching multiple admin users
type AdminUserUpdater ¶
type AdminUserUpdater interface {
UpdateAdminUser(appCtx appcontext.AppContext, id uuid.UUID, payload *adminmessages.AdminUserUpdate) (*models.AdminUser, *validate.Errors, error)
}
AdminUserUpdater is the exported interface for creating an admin user
type ApprovedSITDurationUpdateCreator ¶
type ApprovedSITDurationUpdateCreator interface {
CreateApprovedSITDurationUpdate(appCtx appcontext.AppContext, sitDurationUpdate *models.SITDurationUpdate, shipmentID uuid.UUID, eTag string) (*models.MTOShipment, error)
}
ApprovedSITDurationUpdateCreator is the service object interface to create an approved SIT Duration Update
type BillableWeightInputs ¶
type BillableWeightInputs struct {
CalculatedBillableWeight *unit.Pound
OriginalWeight *unit.Pound
ReweighWeight *unit.Pound
HadManualOverride *bool
}
BillableWeightInputs is a type for capturing what should be returned when a shipment's billable weight is calculated
type BoatShipmentCreator ¶
type BoatShipmentCreator interface {
CreateBoatShipmentWithDefaultCheck(appCtx appcontext.AppContext, boatshipment *models.BoatShipment) (*models.BoatShipment, error)
}
BoatShipmentCreator creates a Boat shipment
type BoatShipmentFetcher ¶
type BoatShipmentFetcher interface {
GetBoatShipment(appCtx appcontext.AppContext, boatShipmentID uuid.UUID, eagerPreloadAssociations []string, postloadAssociations []string) (*models.BoatShipment, error)
PostloadAssociations(appCtx appcontext.AppContext, boatShipment *models.BoatShipment, postloadAssociations []string) error
}
BoatShipmentFetcher fetches a Boat shipment
type BoatShipmentUpdater ¶
type BoatShipmentUpdater interface {
UpdateBoatShipmentWithDefaultCheck(appCtx appcontext.AppContext, boatshipment *models.BoatShipment, mtoShipmentID uuid.UUID) (*models.BoatShipment, error)
}
BoatShipmentUpdater updates a Boat shipment
type ClientCertCreator ¶
type ClientCertCreator interface {
CreateClientCert(appCtx appcontext.AppContext, email string, user *models.ClientCert) (*models.ClientCert, *validate.Errors, error)
}
ClientCertCreator is the exported interface for creating an client cert
type ClientCertFetcher ¶
type ClientCertFetcher interface {
FetchClientCert(appCtx appcontext.AppContext, filters []QueryFilter) (models.ClientCert, error)
}
ClientCertFetcher is the exported interface for fetching a single client cert
type ClientCertListFetcher ¶
type ClientCertListFetcher interface {
FetchClientCertList(appCtx appcontext.AppContext, filters []QueryFilter, associations QueryAssociations, pagination Pagination, ordering QueryOrder) (models.ClientCerts, error)
FetchClientCertCount(appCtx appcontext.AppContext, filters []QueryFilter) (int, error)
}
ClientCertListFetcher is the exported interface for fetching multiple client certs
type ClientCertRemover ¶
type ClientCertRemover interface {
RemoveClientCert(appCtx appcontext.AppContext, id uuid.UUID) (*models.ClientCert, *validate.Errors, error)
}
ClientCertRemover is the exported interface for updating an client cert
type ClientCertUpdater ¶
type ClientCertUpdater interface {
UpdateClientCert(appCtx appcontext.AppContext, id uuid.UUID, payload *adminmessages.ClientCertificateUpdate) (*models.ClientCert, *validate.Errors, error)
}
ClientCertUpdater is the exported interface for updating an client cert
type CounselingServicesPricer ¶
type CounselingServicesPricer interface {
Price(appCtx appcontext.AppContext, lockedPriceCents *unit.Cents) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
CounselingServicesPricer prices counseling services for a GHC move
type CurrentSIT ¶
type CustomerFetcher ¶
type CustomerFetcher interface {
FetchCustomer(appCtx appcontext.AppContext, customerID uuid.UUID) (*models.ServiceMember, error)
}
CustomerFetcher is the service object interface for FetchCustomer
type CustomerSearcher ¶
type CustomerSearcher interface {
SearchCustomers(appCtx appcontext.AppContext, params *SearchCustomersParams) (models.ServiceMemberSearchResults, int, error)
}
type CustomerSupportRemarkDeleter ¶
type CustomerSupportRemarkDeleter interface {
DeleteCustomerSupportRemark(appCtx appcontext.AppContext, customerSupportRemarkID uuid.UUID) error
}
type CustomerSupportRemarkUpdater ¶
type CustomerSupportRemarkUpdater interface {
UpdateCustomerSupportRemark(appCtx appcontext.AppContext, params customersupportremarksop.UpdateCustomerSupportRemarkForMoveParams) (*models.CustomerSupportRemark, error)
}
type CustomerSupportRemarksCreator ¶
type CustomerSupportRemarksCreator interface {
CreateCustomerSupportRemark(appCtx appcontext.AppContext, customerSupportRemark *models.CustomerSupportRemark, moveCode string) (*models.CustomerSupportRemark, error)
}
type CustomerSupportRemarksFetcher ¶
type CustomerSupportRemarksFetcher interface {
ListCustomerSupportRemarks(appCtx appcontext.AppContext, moveCode string) (*models.CustomerSupportRemarks, error)
}
CustomerSupportRemarksFetcher is the exported interface for fetching office remarks for a move.
type CustomerUpdater ¶
type CustomerUpdater interface {
UpdateCustomer(appCtx appcontext.AppContext, eTag string, customer models.ServiceMember) (*models.ServiceMember, error)
}
CustomerUpdater is the service object interface for updating fields of a ServiceMember
type DateSelectionChecker ¶
type DateSelectionChecker interface {
IsDateWeekendHoliday(appCtx appcontext.AppContext, countryCode string, date time.Time) (*IsDateWeekendHolidayInfo, error)
}
DateSelectionChecker is the service object interface to determine business rule for given date
type DomesticAdditionalDaysSITPricer ¶
type DomesticAdditionalDaysSITPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, numberOfDaysInSIT int, disableWeightMinimum bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticAdditionalDaysSITPricer prices domestic origin or domestic additional days SIT for a GHC move
type DomesticCratingPricer ¶
type DomesticCratingPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, billedCubicFeet unit.CubicFeet, servicesScheduleOrigin int, standaloneCrate bool, standaloneCrateCap unit.Cents) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticCratingPricer prices the domestic crating service for a GHC Move
type DomesticDestinationAdditionalDaysSITPricer ¶
type DomesticDestinationAdditionalDaysSITPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, numberOfDaysInSIT int, disableWeightMinimum bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticDestinationAdditionalDaysSITPricer prices domestic destination additional days SIT for a GHC move
type DomesticDestinationFirstDaySITPricer ¶
type DomesticDestinationFirstDaySITPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, disableWeightMinimum bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticDestinationFirstDaySITPricer prices domestic destination first day SIT for a GHC move
type DomesticDestinationPricer ¶
type DomesticDestinationPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, isPPM bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticDestinationPricer prices the domestic destination price for a GHC Move
type DomesticDestinationSITDeliveryPricer ¶
type DomesticDestinationSITDeliveryPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, sitSchedule int, zipDest string, zipSITDest string, distance unit.Miles) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticDestinationSITDeliveryPricer prices domestic destination SIT delivery for a GHC move
type DomesticDestinationSITFuelSurchargePricer ¶
type DomesticDestinationSITFuelSurchargePricer interface {
Price(appCtx appcontext.AppContext, actualPickupDate time.Time, distance unit.Miles, weight unit.Pound, fscWeightBasedDistanceMultiplier float64, eiaFuelPrice unit.Millicents, isPPM bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticDestinationSITFuelSurchargePricer prices domestic destination SIT fuel surcharge
type DomesticDestinationShuttlingPricer ¶
type DomesticDestinationShuttlingPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, servicesScheduleDest int) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticDestinationShuttlingPricer prices the domestic origin shuttling service for a GHC Move
type DomesticFirstDaySITPricer ¶
type DomesticFirstDaySITPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, disableWeightMinimum bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticFirstDaySITPricer prices domestic origin or destination first day SIT for a GHC move
type DomesticLinehaulPricer ¶
type DomesticLinehaulPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, distance unit.Miles, weight unit.Pound, serviceArea string, isPPM bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticLinehaulPricer prices domestic linehaul for a GHC move
type DomesticNTSPackPricer ¶
type DomesticNTSPackPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, servicesScheduleOrigin int, isPPM bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticNTSPackPricer prices the domestic packing for an NTS shipment of a GHC Move
type DomesticOriginAdditionalDaysSITPricer ¶
type DomesticOriginAdditionalDaysSITPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, numberOfDaysInSIT int, disableWeightMinimum bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticOriginAdditionalDaysSITPricer prices domestic origin additional days SIT for a GHC move
type DomesticOriginFirstDaySITPricer ¶
type DomesticOriginFirstDaySITPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, disableWeightMinimum bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticOriginFirstDaySITPricer prices domestic origin first day SIT for a GHC move
type DomesticOriginPricer ¶
type DomesticOriginPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, isPPM bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticOriginPricer prices the domestic origin for a GHC Move
type DomesticOriginSITFuelSurchargePricer ¶
type DomesticOriginSITFuelSurchargePricer interface {
Price(
appCtx appcontext.AppContext,
actualPickupDate time.Time,
distance unit.Miles,
weight unit.Pound,
fscWeightBasedDistanceMultiplier float64,
eiaFuelPrice unit.Millicents,
isPPM bool,
) (
unit.Cents,
PricingDisplayParams,
error,
)
ParamsPricer
}
DomesticOriginSITFuelSurchargePricer prices domestic origin SIT fuel surcharge
type DomesticOriginSITPickupPricer ¶
type DomesticOriginSITPickupPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, serviceArea string, sitSchedule int, zipSITOriginOriginal string, zipSITOriginActual string, distance unit.Miles) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticOriginSITPickupPricer prices domestic origin SIT pickup for a GHC move
type DomesticOriginShuttlingPricer ¶
type DomesticOriginShuttlingPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, servicesScheduleOrigin int) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticOriginShuttlingPricer prices the domestic origin shuttling service for a GHC Move
type DomesticPackPricer ¶
type DomesticPackPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, servicesScheduleOrigin int, isPPM bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticPackPricer prices the domestic packing for a GHC Move
type DomesticShorthaulPricer ¶
type DomesticShorthaulPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, distance unit.Miles, weight unit.Pound, serviceArea string) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticShorthaulPricer prices the domestic shorthaul for a GHC Move
type DomesticUncratingPricer ¶
type DomesticUncratingPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, billedCubicFeet unit.CubicFeet, servicesScheduleDest int) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticUncratingPricer prices the domestic uncrating service for a GHC Move
type DomesticUnpackPricer ¶
type DomesticUnpackPricer interface {
Price(appCtx appcontext.AppContext, contractCode string, requestedPickupDate time.Time, weight unit.Pound, servicesScheduleDest int, isPPM bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
DomesticUnpackPricer prices the domestic unpacking for a GHC Move
type ElectronicOrderCategoryCountFetcher ¶
type ElectronicOrderCategoryCountFetcher interface {
FetchElectronicOrderCategoricalCounts(appCtx appcontext.AppContext, filters []QueryFilter, andFilters *[]QueryFilter) (map[interface{}]int, error)
}
ElectronicOrderCategoryCountFetcher is the exported interface for fetching counts of Electronic orders based on provided category QueryFilters.
type ElectronicOrderListFetcher ¶
type ElectronicOrderListFetcher interface {
FetchElectronicOrderList(appCtx appcontext.AppContext, filters []QueryFilter, associations QueryAssociations, pagination Pagination, ordering QueryOrder) (models.ElectronicOrders, error)
FetchElectronicOrderCount(appCtx appcontext.AppContext, filters []QueryFilter) (int, error)
}
ElectronicOrderListFetcher is the exported interface for fetching multiple electronic orders
type EvaluationReportCreator ¶
type EvaluationReportCreator interface {
CreateEvaluationReport(appCtx appcontext.AppContext, evaluationReport *models.EvaluationReport, locator string) (*models.EvaluationReport, error)
}
type EvaluationReportDeleter ¶
type EvaluationReportDeleter interface {
DeleteEvaluationReport(appCtx appcontext.AppContext, reportID uuid.UUID) error
}
type EvaluationReportFetcher ¶
type EvaluationReportFetcher interface {
FetchEvaluationReports(appCtx appcontext.AppContext, reportType models.EvaluationReportType, moveID uuid.UUID, officeUserID uuid.UUID) (models.EvaluationReports, error)
FetchEvaluationReportByID(appCtx appcontext.AppContext, reportID uuid.UUID, officeUserID uuid.UUID) (*models.EvaluationReport, error)
}
EvaluationReportFetcher is the service object interface for fetching all the evaluation reports for a move as a particular office user
type EvaluationReportUpdater ¶
type EvaluationReportUpdater interface {
UpdateEvaluationReport(appCtx appcontext.AppContext, evaluationReport *models.EvaluationReport, officeUserID uuid.UUID, eTag string) error
SubmitEvaluationReport(appCtx appcontext.AppContext, evaluationReportID uuid.UUID, officeUserID uuid.UUID, eTag string) error
}
type ExcessWeightRiskManager ¶
type ExcessWeightRiskManager interface {
AcknowledgeExcessWeightRisk(appCtx appcontext.AppContext, moveID uuid.UUID, eTag string) (*models.Move, error)
UpdateBillableWeightAsTOO(appCtx appcontext.AppContext, orderID uuid.UUID, weight *int, eTag string) (*models.Order, uuid.UUID, error)
UpdateMaxBillableWeightAsTIO(appCtx appcontext.AppContext, orderID uuid.UUID, weight *int, remarks *string, eTag string) (*models.Order, uuid.UUID, error)
}
ExcessWeightRiskManager is the service object interface for updating the max billable weight for an Order's Entitlement
type FeatureFlag ¶
Simplifed struct based on https://pkg.go.dev/go.flipt.io/flipt/rpc/flipt@v1.25.0/evaluation#VariantEvaluationResponse For boolean responses, Variant is the empty string and Match is the flag value
func (FeatureFlag) IsVariant ¶
func (ff FeatureFlag) IsVariant(variant string) bool
type FeatureFlagFetcher ¶
type FeatureFlagFetcher interface {
GetBooleanFlagForUser(ctx context.Context, appCtx appcontext.AppContext, key string, flagContext map[string]string) (FeatureFlag, error)
GetBooleanFlag(ctx context.Context, logger *zap.Logger, entityID string, key string, flagContext map[string]string) (FeatureFlag, error)
GetVariantFlagForUser(ctx context.Context, appCtx appcontext.AppContext, key string, flagContext map[string]string) (FeatureFlag, error)
GetVariantFlag(ctx context.Context, logger *zap.Logger, entityID string, key string, flagContext map[string]string) (FeatureFlag, error)
}
FeatureFlagFetcher is the exported interface for feature flags
This service is a thin wrapper around flipt, so it doesn't expose all of flipt's API. We can change/expand the API as we get experience.
type FetchMoveHistoryParams ¶
type FetchPaymentRequestListParams ¶
type FetchPaymentRequestListParams struct {
Branch *string
Locator *string
DodID *string
Emplid *string
LastName *string
DestinationDutyLocation *string
Status []string
Page *int64
PerPage *int64
SubmittedAt *time.Time
Sort *string
Order *string
OriginDutyLocation *string
OrderType *string
ViewAsGBLOC *string
}
FetchPaymentRequestListParams is a public struct that's used to pass filter arguments to FetchPaymentRequestList
type Fetcher ¶
type Fetcher interface {
FetchRecord(appCtx appcontext.AppContext, model interface{}, filters []QueryFilter) error
}
Fetcher is the exported interface for fetching a record
type FileInfo ¶
type FileInfo struct {
*models.UserUpload
OriginalUploadStream io.ReadCloser
PDFStream io.ReadCloser
}
FileInfo is a struct that holds information about a file that we'll be converting to a PDF. It's helpful to have this as a single argument for both the work we need to do and for writing better error messages & logs.
func NewFileInfo ¶
func NewFileInfo(userUpload *models.UserUpload, stream io.ReadCloser) *FileInfo
NewFileInfo creates a new FileInfo struct.
type FormCreator ¶
type FormCreator interface {
CreateForm(template FormTemplate) (afero.File, error)
}
FormCreator is the service object interface for CreateForm
type FormTemplate ¶
type FormTemplate struct {
Buffer *bytes.Reader
FieldsLayout map[string]paperworkforms.FieldPos
FormType
FileName string
Data interface{}
}
FormTemplate are the struct fields defined to call CreateForm service object
type FormattedMovingExpenses ¶
type FormattedMovingExpenses struct {
ContractedExpenseMemberPaid string
ContractedExpenseGTCCPaid string
RentalEquipmentMemberPaid string
RentalEquipmentGTCCPaid string
PackingMaterialsMemberPaid string
PackingMaterialsGTCCPaid string
WeighingFeesMemberPaid string
WeighingFeesGTCCPaid string
GasMemberPaid string
GasGTCCPaid string
TollsMemberPaid string
TollsGTCCPaid string
OilMemberPaid string
OilGTCCPaid string
OtherMemberPaid string
OtherGTCCPaid string
TotalMemberPaid string
TotalGTCCPaid string
TotalMemberPaidRepeated string
TotalGTCCPaidRepeated string
TotalPaidNonSIT string
TotalMemberPaidSIT string
TotalGTCCPaidSIT string
TotalPaidSIT string
}
FormattedMovingExpenses is an object representing the service member's moving expenses formatted for the SSW
type FormattedOtherExpenses ¶
FormattedOtherExpenses is an object representing the other moving expenses formatted for the SSW
type FuelSurchargePricer ¶
type FuelSurchargePricer interface {
Price(appCtx appcontext.AppContext, actualPickupDate time.Time, distance unit.Miles, weight unit.Pound, fscWeightBasedDistanceMultiplier float64, eiaFuelPrice unit.Millicents, isPPM bool) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
FuelSurchargePricer prices the fuel surcharge price for a GHC Move
type GEXChannel ¶
type GEXChannel string
GEXChannel type to define constants for valid GEX Channels
const ( // GEXChannelInvoice is the URL query parameter that we use when sending EDI invoices to US Bank via GEX GEXChannelInvoice GEXChannel = "TRANSCOM-DPS-MILMOVE-CPS-IN-USBANK-RCOM" // GEXChannelDataWarehouse is the URL query parameter that we use when sending data to the IGC data warehouse GEXChannelDataWarehouse GEXChannel = "TRANSCOM-DPS-MILMOVE-GHG-IN-IGC-RCOM" )
type GHCPaymentRequestInvoiceGenerator ¶
type GHCPaymentRequestInvoiceGenerator interface {
Generate(appCtx appcontext.AppContext, paymentRequest models.PaymentRequest, sendProductionInvoice bool) (ediinvoice.Invoice858C, error)
}
GHCPaymentRequestInvoiceGenerator is the exported interface for generating an invoice
type GexSender ¶
type GexSender interface {
SendToGex(channel GEXChannel, edi string, filename string) (resp *http.Response, err error)
}
GexSender is an interface for sending and receiving a request
type HiddenMove ¶
HiddenMove struct used to store the MTO ID and the reason that the move is being hidden.
type HiddenMoves ¶
type HiddenMoves []HiddenMove
HiddenMoves is the slice of HiddenMove to return in the handler call
type LineOfAccountingFetcher ¶
type LineOfAccountingFetcher interface {
FetchLongLinesOfAccounting(departmentIndicator models.DepartmentIndicator, ordersIssueDate time.Time, tacCode string, appCtx appcontext.AppContext) ([]models.LineOfAccounting, error)
BuildFullLineOfAccountingString(loa models.LineOfAccounting) string
}
LineOfAccountingFetcher is the exported interface for fetching lines of accounting based on a centralized location for business logic
type ListFetcher ¶
type ListFetcher interface {
FetchRecordList(appCtx appcontext.AppContext, model interface{}, filters []QueryFilter, associations QueryAssociations, pagination Pagination, ordering QueryOrder) error
FetchRecordCount(appCtx appcontext.AppContext, model interface{}, filters []QueryFilter) (int, error)
}
ListFetcher is the exported interface for fetching multiple records
type ListOrderParams ¶
type ListOrderParams struct {
Branch *string
Locator *string
DodID *string
Emplid *string
LastName *string
DestinationDutyLocation *string
OriginDutyLocation []string
OriginGBLOC *string
SubmittedAt *time.Time
AppearedInTOOAt *time.Time
RequestedMoveDate *string
Status []string
Page *int64
PerPage *int64
Sort *string
Order *string
NeedsPPMCloseout *bool
PPMType *string
CloseoutInitiated *time.Time
CloseoutLocation *string
OrderType *string
PPMStatus *string
ViewAsGBLOC *string
CounselingOffice *string
}
ListOrderParams is a public struct that's used to pass filter arguments to the ListOrders
type MTOAgentCreator ¶
type MTOAgentCreator interface {
CreateMTOAgentPrime(appCtx appcontext.AppContext, mtoAgent *models.MTOAgent) (*models.MTOAgent, error)
}
MTOAgentCreator is the service object interface for CreateMTOAgent
type MTOAgentUpdater ¶
type MTOAgentUpdater interface {
UpdateMTOAgentBasic(appCtx appcontext.AppContext, mtoAgent *models.MTOAgent, eTag string) (*models.MTOAgent, error)
UpdateMTOAgentPrime(appCtx appcontext.AppContext, mtoAgent *models.MTOAgent, eTag string) (*models.MTOAgent, error)
}
MTOAgentUpdater is the service object interface for UpdateMTOAgent
type MTOServiceItemCreator ¶
type MTOServiceItemCreator interface {
CreateMTOServiceItem(appCtx appcontext.AppContext, serviceItem *models.MTOServiceItem) (*models.MTOServiceItems, *validate.Errors, error)
}
MTOServiceItemCreator is the exported interface for creating a mto service item
type MTOServiceItemFetcher ¶
type MTOServiceItemFetcher interface {
GetServiceItem(appCtx appcontext.AppContext, serviceItemID uuid.UUID) (*models.MTOServiceItem, error)
}
MTOServiceItemFetcher is the exported interface for fetching a mto service item
type MTOServiceItemUpdater ¶
type MTOServiceItemUpdater interface {
ApproveOrRejectServiceItem(appCtx appcontext.AppContext, mtoServiceItemID uuid.UUID, status models.MTOServiceItemStatus, rejectionReason *string, eTag string) (*models.MTOServiceItem, error)
UpdateMTOServiceItem(appCtx appcontext.AppContext, serviceItem *models.MTOServiceItem, eTag string, validator string) (*models.MTOServiceItem, error)
UpdateMTOServiceItemBasic(appCtx appcontext.AppContext, serviceItem *models.MTOServiceItem, eTag string) (*models.MTOServiceItem, error)
UpdateMTOServiceItemPrime(appCtx appcontext.AppContext, serviceItem *models.MTOServiceItem, planner route.Planner, shipment models.MTOShipment, eTag string) (*models.MTOServiceItem, error)
ConvertItemToCustomerExpense(appCtx appcontext.AppContext, shipment *models.MTOShipment, customerExpenseReason *string, convertToCustomerExpense bool) (*models.MTOServiceItem, error)
}
MTOServiceItemUpdater is the exported interface for updating an mto service item
type MTOShipmentAddressUpdater ¶
type MTOShipmentAddressUpdater interface {
UpdateMTOShipmentAddress(appCtx appcontext.AppContext, newAddress *models.Address, mtoShipmentID uuid.UUID, eTag string, mustBeAvailableToPrime bool) (*models.Address, error)
}
MTOShipmentAddressUpdater is the exported interface for updating an address on an MTO Shipment
type MTOShipmentCreator ¶
type MTOShipmentCreator interface {
CreateMTOShipment(appCtx appcontext.AppContext, MTOShipment *models.MTOShipment) (*models.MTOShipment, error)
}
MTOShipmentCreator is the exported interface for creating a shipment
type MTOShipmentFetcher ¶
type MTOShipmentFetcher interface {
ListMTOShipments(appCtx appcontext.AppContext, moveID uuid.UUID) ([]models.MTOShipment, error)
GetShipment(appCtx appcontext.AppContext, shipmentID uuid.UUID, eagerAssociations ...string) (*models.MTOShipment, error)
GetDiversionChain(appCtx appcontext.AppContext, shipmentID uuid.UUID) (*[]models.MTOShipment, error)
}
MTOShipmentFetcher is the service object interface for fetching all shipments of a move
type MTOShipmentStatusUpdater ¶
type MTOShipmentStatusUpdater interface {
UpdateMTOShipmentStatus(appCtx appcontext.AppContext, shipmentID uuid.UUID, status models.MTOShipmentStatus, rejectionReason *string, diversionReason *string, eTag string) (*models.MTOShipment, error)
}
MTOShipmentStatusUpdater is the exported interface for updating an MTO shipment status
type MTOShipmentUpdater ¶
type MTOShipmentUpdater interface {
MTOShipmentsMTOAvailableToPrime(appCtx appcontext.AppContext, mtoShipmentID uuid.UUID) (bool, error)
UpdateMTOShipment(appCtx appcontext.AppContext, mtoShipment *models.MTOShipment, eTag string, api string) (*models.MTOShipment, error)
}
MTOShipmentUpdater is the service object interface for UpdateMTOShipment
type ManagementServicesPricer ¶
type ManagementServicesPricer interface {
Price(appCtx appcontext.AppContext, lockedPriceCents *unit.Cents) (unit.Cents, PricingDisplayParams, error)
ParamsPricer
}
ManagementServicesPricer prices management services for a GHC move
type MobileHomeShipmentCreator ¶
type MobileHomeShipmentCreator interface {
CreateMobileHomeShipmentWithDefaultCheck(appCtx appcontext.AppContext, mobileHomeshipment *models.MobileHome) (*models.MobileHome, error)
}
MobileHomeShipmentCreator creates a Mobile Home shipment
type MobileHomeShipmentFetcher ¶
type MobileHomeShipmentFetcher interface {
GetMobileHomeShipment(appCtx appcontext.AppContext, mobileHomeShipmentID uuid.UUID, eagerPreloadAssociations []string, postloadAssociations []string) (*models.MobileHome, error)
PostloadAssociations(appCtx appcontext.AppContext, mobileHomeShipment *models.MobileHome, postloadAssociations []string) error
}
MobileHomeShipmentFetcher fetches a Mobile Home shipment
type MobileHomeShipmentUpdater ¶
type MobileHomeShipmentUpdater interface {
UpdateMobileHomeShipmentWithDefaultCheck(appCtx appcontext.AppContext, mobileHomeshipment *models.MobileHome, mtoShipmentID uuid.UUID) (*models.MobileHome, error)
}
MobileHomeShipmentUpdater updates a Mobile Home shipment
type MoveAdditionalDocumentsUploader ¶
type MoveAdditionalDocumentsUploader interface {
CreateAdditionalDocumentsUpload(
appCtx appcontext.AppContext,
userID uuid.UUID,
moveID uuid.UUID,
file io.ReadCloser,
uploadFilename string,
storer storage.FileStorer,
uploadType models.UploadType,
) (models.Upload, string, *validate.Errors, error)
}
type MoveAssignedOfficeUserUpdater ¶
type MoveAssignedOfficeUserUpdater interface {
UpdateAssignedOfficeUser(appCtx appcontext.AppContext, moveID uuid.UUID, officeUser *models.OfficeUser, role roles.RoleType) (*models.Move, error)
DeleteAssignedOfficeUser(appCtx appcontext.AppContext, moveID uuid.UUID, role roles.RoleType) (*models.Move, error)
}
type MoveCanceler ¶
type MoveCanceler interface {
CancelMove(appCtx appcontext.AppContext, moveID uuid.UUID) (*models.Move, error)
}
type MoveCloseoutOfficeUpdater ¶
type MoveCloseoutOfficeUpdater interface {
UpdateCloseoutOffice(appCtx appcontext.AppContext, moveLocator string, closeoutOfficeID uuid.UUID, eTag string) (*models.Move, error)
}
type MoveExcessWeightUploader ¶
type MoveExcessWeightUploader interface {
CreateExcessWeightUpload(
appCtx appcontext.AppContext,
moveID uuid.UUID,
file io.ReadCloser,
uploadFilename string,
uploadType models.UploadType,
) (*models.Move, error)
}
MoveExcessWeightUploader is the exported interface for uploading an excess weight document for a move
type MoveFetcher ¶
type MoveFetcher interface {
FetchMove(appCtx appcontext.AppContext, locator string, searchParams *MoveFetcherParams) (*models.Move, error)
FetchMovesForPPTASReports(appCtx appcontext.AppContext, params *MoveTaskOrderFetcherParams) (models.Moves, error)
}
MoveFetcher is the exported interface for fetching a move by locator
type MoveFetcherParams ¶
type MoveFetcherParams struct {
IncludeHidden bool // indicates if a hidden/disabled move can be returned
}
MoveFetcherParams is public struct that's used to pass filter arguments to MoveFetcher queries
type MoveFinancialReviewFlagSetter ¶
type MoveFinancialReviewFlagSetter interface {
SetFinancialReviewFlag(appCtx appcontext.AppContext, moveID uuid.UUID, eTag string, flagForReview bool, remarks *string) (*models.Move, error)
}
MoveFinancialReviewFlagSetter is the exported interface for flagging a move for financial review
type MoveHistoryFetcher ¶
type MoveHistoryFetcher interface {
FetchMoveHistory(appCtx appcontext.AppContext, params *FetchMoveHistoryParams) (*models.MoveHistory, int64, error)
}
MoveHistoryFetcher is the exported interface for fetching a move by locator
type MoveListFetcher ¶
type MoveListFetcher interface {
FetchMoveList(appCtx appcontext.AppContext, filters []QueryFilter, associations QueryAssociations, pagination Pagination, ordering QueryOrder) (models.Moves, error)
FetchMoveCount(appCtx appcontext.AppContext, filters []QueryFilter) (int, error)
}
MoveListFetcher is the exported interface for fetching multiple moves
type MoveLocker ¶
type MoveLocker interface {
LockMove(appCtx appcontext.AppContext, move *models.Move, officeUserID uuid.UUID) (*models.Move, error)
}
MoveLocker is the exported interface for locking moves
type MoveOrderAmendmentAvailableSinceCounts ¶
type MoveOrderAmendmentAvailableSinceCounts []MoveOrderAmendmentAvailableSinceCount
type MoveOrderUploadType ¶
type MoveOrderUploadType int
Prime move order upload to PDF generation for download
const ( MoveOrderUploadAll MoveOrderUploadType = iota MoveOrderUpload MoveOrderAmendmentUpload )
type MoveRouter ¶
type MoveRouter interface {
Approve(appCtx appcontext.AppContext, move *models.Move) error
ApproveOrRequestApproval(appCtx appcontext.AppContext, move models.Move) (*models.Move, error)
Cancel(appCtx appcontext.AppContext, reason string, move *models.Move) error
CompleteServiceCounseling(appCtx appcontext.AppContext, move *models.Move) error
RouteAfterAmendingOrders(appCtx appcontext.AppContext, move *models.Move) error
SendToOfficeUser(appCtx appcontext.AppContext, move *models.Move) error
Submit(appCtx appcontext.AppContext, move *models.Move, newSignedCertification *models.SignedCertification) error
}
MoveRouter is the exported interface for routing moves at different stages
type MoveSearcher ¶
type MoveSearcher interface {
SearchMoves(appCtx appcontext.AppContext, params *SearchMovesParams) (models.Moves, int, error)
}
type MoveTaskOrderChecker ¶
type MoveTaskOrderChecker interface {
MTOAvailableToPrime(appCtx appcontext.AppContext, moveTaskOrderID uuid.UUID) (bool, error)
}
MoveTaskOrderChecker is the service object interface for checking if a MoveTaskOrder is in a certain state
type MoveTaskOrderCreator ¶
type MoveTaskOrderCreator interface {
CreateMoveTaskOrder(appCtx appcontext.AppContext, moveTaskOrder *models.Move) (*models.Move, *validate.Errors, error)
}
MoveTaskOrderCreator is the service object interface for CreateMoveTaskOrder
type MoveTaskOrderFetcher ¶
type MoveTaskOrderFetcher interface {
FetchMoveTaskOrder(appCtx appcontext.AppContext, searchParams *MoveTaskOrderFetcherParams) (*models.Move, error)
ListAllMoveTaskOrders(appCtx appcontext.AppContext, searchParams *MoveTaskOrderFetcherParams) (models.Moves, error)
ListPrimeMoveTaskOrders(appCtx appcontext.AppContext, searchParams *MoveTaskOrderFetcherParams) (models.Moves, error)
ListNewPrimeMoveTaskOrders(appCtx appcontext.AppContext, searchParams *MoveTaskOrderFetcherParams) (models.Moves, int, error)
GetMove(appCtx appcontext.AppContext, searchParams *MoveTaskOrderFetcherParams, eagerAssociations ...string) (*models.Move, error)
ListPrimeMoveTaskOrdersAmendments(appCtx appcontext.AppContext, searchParams *MoveTaskOrderFetcherParams) (models.Moves, MoveOrderAmendmentAvailableSinceCounts, error)
}
MoveTaskOrderFetcher is the service object interface for FetchMoveTaskOrder
type MoveTaskOrderFetcherParams ¶
type MoveTaskOrderFetcherParams struct {
IsAvailableToPrime bool // indicates if all MTOs returned must be Prime-available
IncludeHidden bool // indicates if hidden/disabled MTOs should be included in the output
Since *time.Time // if filled, only MTOs that have been updated after this timestamp will be returned
MoveTaskOrderID uuid.UUID // ID of the move task order
Locator string // the locator is a unique string that identifies the move
MoveCode *string // moveCode that is passed in when searching through prime moves
ID *string // id of the move that is sent in when searching through prime moves
ExcludeExternalShipments bool // indicates if external vendor shipments should be returned
Page *int64
PerPage *int64
}
MoveTaskOrderFetcherParams is a public struct that's used to pass filter arguments to ListAllMoveTaskOrders, and FetchMoveTaskOrder queries
type MoveTaskOrderHider ¶
type MoveTaskOrderHider interface {
Hide(appCtx appcontext.AppContext) (HiddenMoves, error)
}
MoveTaskOrderHider is the service object interface for Hide
type MoveTaskOrderUpdater ¶
type MoveTaskOrderUpdater interface {
MakeAvailableToPrime(appCtx appcontext.AppContext, moveTaskOrderID uuid.UUID, eTag string, includeServiceCodeMS bool, includeServiceCodeCS bool) (*models.Move, error)
UpdatePostCounselingInfo(appCtx appcontext.AppContext, moveTaskOrderID uuid.UUID, eTag string) (*models.Move, error)
UpdateStatusServiceCounselingCompleted(appCtx appcontext.AppContext, moveTaskOrderID uuid.UUID, eTag string) (*models.Move, error)
UpdateReviewedBillableWeightsAt(appCtx appcontext.AppContext, moveTaskOrderID uuid.UUID, eTag string) (*models.Move, error)
UpdateTIORemarks(appCtx appcontext.AppContext, moveTaskOrderID uuid.UUID, eTag string, remarks string) (*models.Move, error)
ShowHide(appCtx appcontext.AppContext, moveTaskOrderID uuid.UUID, show *bool) (*models.Move, error)
UpdatePPMType(appCtx appcontext.AppContext, moveTaskOrderID uuid.UUID) (*models.Move, error)
}
MoveTaskOrderUpdater is the service object interface for updating fields of a MoveTaskOrder
type MoveUnlocker ¶
type MoveUnlocker interface {
UnlockMove(appCtx appcontext.AppContext, move *models.Move, officeUserID uuid.UUID) (*models.Move, error)
CheckForLockedMovesAndUnlock(appCtx appcontext.AppContext, officeUserID uuid.UUID) error
}
MoveUnlocker is the exported interface for unlocking moves
type MoveWeights ¶
type MoveWeights interface {
CheckExcessWeight(appCtx appcontext.AppContext, moveID uuid.UUID, updatedShipment models.MTOShipment) (*models.Move, *validate.Errors, error)
CheckAutoReweigh(appCtx appcontext.AppContext, moveID uuid.UUID, updatedShipment *models.MTOShipment) (models.MTOShipments, error)
}
MoveWeights is the exported interface for flagging a move with an excess weight risk
type MovingExpenseCreator ¶
type MovingExpenseCreator interface {
CreateMovingExpense(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID) (*models.MovingExpense, error)
}
MovingExpenseCreator creates a MovingExpense that is associated with a PPMShipment
type MovingExpenseDeleter ¶
type MovingExpenseDeleter interface {
DeleteMovingExpense(appCtx appcontext.AppContext, ppmID uuid.UUID, movingExpenseID uuid.UUID) error
}
MovingExpenseDeleter deletes a MovingExpense
type MovingExpenseUpdater ¶
type MovingExpenseUpdater interface {
UpdateMovingExpense(appCtx appcontext.AppContext, movingExpense models.MovingExpense, eTag string) (*models.MovingExpense, error)
}
MovingExpenseUpdater updates a MovingExpense
type NewPagination ¶
type NewPagination func(page *int64, perPage *int64) Pagination
NewPagination creates a new Pagination interface
type NewQueryAssociation ¶
type NewQueryAssociation func(field string) QueryAssociation
NewQueryAssociation is a function type definition for building a QueryAssociation Should allow services to pass associated data values for querying into QueryAssociations
type NewQueryAssociations ¶
type NewQueryAssociations func(associations []QueryAssociation) QueryAssociations
NewQueryAssociations is a function type definition for building a QueryAssociations Should allow services to pass in query associations
type NewQueryFilter ¶
type NewQueryFilter func(column string, comparator string, value interface{}) QueryFilter
NewQueryFilter is a function type definition for building a QueryFilter Should allow handlers to parse query params into QueryFilters for services
type NewQueryOrder ¶
type NewQueryOrder func(column *string, sortOrder *bool) QueryOrder
NewQueryOrder describes a function that creates a new QueryOrder object
type OfficeFetcher ¶
type OfficeFetcher interface {
FetchOffice(appCtx appcontext.AppContext, filters []QueryFilter) (models.TransportationOffice, error)
}
OfficeFetcher is the exported interface for fetching a single transportation office
type OfficeListFetcher ¶
type OfficeListFetcher interface {
FetchOfficeList(appCtx appcontext.AppContext, filters []QueryFilter, associations QueryAssociations, pagination Pagination, ordering QueryOrder) (models.TransportationOffices, error)
FetchOfficeCount(appCtx appcontext.AppContext, filters []QueryFilter) (int, error)
}
OfficeListFetcher is the exported interface for fetching multiple transportation offices
type OfficeUserCreator ¶
type OfficeUserCreator interface {
CreateOfficeUser(appCtx appcontext.AppContext, user *models.OfficeUser, transportationIDFilter []QueryFilter) (*models.OfficeUser, *validate.Errors, error)
}
OfficeUserCreator is the exported interface for creating an office user
type OfficeUserFetcher ¶
type OfficeUserFetcher interface {
FetchOfficeUser(appCtx appcontext.AppContext, filters []QueryFilter) (models.OfficeUser, error)
}
OfficeUserFetcher is the exported interface for fetching a single office user
type OfficeUserFetcherPop ¶
type OfficeUserFetcherPop interface {
FetchOfficeUserByID(appCtx appcontext.AppContext, id uuid.UUID) (models.OfficeUser, error)
FetchOfficeUsersByRoleAndOffice(appCtx appcontext.AppContext, role roles.RoleType, officeID uuid.UUID) ([]models.OfficeUser, error)
}
OfficeUserFetcherPop is the exported interface for fetching a single office user
type OfficeUserGblocFetcher ¶
type OfficeUserGblocFetcher interface {
FetchGblocForOfficeUser(appCtx appcontext.AppContext, id uuid.UUID) (string, error)
}
OfficeUserGblocFetcher is the exported interface for fetching the GBLOC of the currently signed in office user
type OfficeUserUpdater ¶
type OfficeUserUpdater interface {
UpdateOfficeUser(appCtx appcontext.AppContext, id uuid.UUID, payload *adminmessages.OfficeUserUpdate) (*models.OfficeUser, *validate.Errors, error)
}
OfficeUserUpdater is the exported interface for creating an office user
type OrderFetcher ¶
type OrderFetcher interface {
FetchOrder(appCtx appcontext.AppContext, orderID uuid.UUID) (*models.Order, error)
ListOrders(appCtx appcontext.AppContext, officeUserID uuid.UUID, params *ListOrderParams) ([]models.Move, int, error)
ListAllOrderLocations(appCtx appcontext.AppContext, officeUserID uuid.UUID, params *ListOrderParams) ([]models.Move, error)
}
OrderFetcher is the service object interface for FetchOrder
type OrderUpdater ¶
type OrderUpdater interface {
UploadAmendedOrdersAsCustomer(appCtx appcontext.AppContext, userID uuid.UUID, orderID uuid.UUID, file io.ReadCloser, filename string, storer storage.FileStorer) (models.Upload, string, *validate.Errors, error)
UploadAmendedOrdersAsOffice(appCtx appcontext.AppContext, userID uuid.UUID, orderID uuid.UUID, file io.ReadCloser, filename string, storer storage.FileStorer) (models.Upload, string, *validate.Errors, error)
UpdateOrderAsTOO(appCtx appcontext.AppContext, orderID uuid.UUID, payload ghcmessages.UpdateOrderPayload, eTag string) (*models.Order, uuid.UUID, error)
UpdateOrderAsCounselor(appCtx appcontext.AppContext, orderID uuid.UUID, payload ghcmessages.CounselingUpdateOrderPayload, eTag string) (*models.Order, uuid.UUID, error)
UpdateAllowanceAsTOO(appCtx appcontext.AppContext, orderID uuid.UUID, payload ghcmessages.UpdateAllowancePayload, eTag string) (*models.Order, uuid.UUID, error)
UpdateAllowanceAsCounselor(appCtx appcontext.AppContext, orderID uuid.UUID, payload ghcmessages.CounselingUpdateAllowancePayload, eTag string) (*models.Order, uuid.UUID, error)
}
OrderUpdater is the service object interface for updating fields of an Order
type OrganizationFetcher ¶
type OrganizationFetcher interface {
FetchOrganization(appCtx appcontext.AppContext, filters []QueryFilter) (models.Organization, error)
}
OrganizationFetcher is the exported interface for fetching a single organization
type OrganizationListFetcher ¶
type OrganizationListFetcher interface {
FetchOrganizationList(appCtx appcontext.AppContext, filters []QueryFilter, associations QueryAssociations, pagination Pagination, ordering QueryOrder) (models.Organizations, error)
FetchOrganizationCount(appCtx appcontext.AppContext, filters []QueryFilter) (int, error)
}
OrganizationListFetcher is the exported interface for fetching multiple organizations
type PDFMerger ¶
type PDFMerger interface {
MergePDFs(appCtx appcontext.AppContext, pdfsToMerge []io.ReadCloser) (io.ReadCloser, error)
}
PDFMerger merges PDFs
type PPMCloseoutFetcher ¶
type PPMCloseoutFetcher interface {
GetPPMCloseout(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID) (*models.PPMCloseout, error)
GetActualWeight(ppmShipment *models.PPMShipment) (unit.Pound, error)
}
PPMCloseoutFetcher fetches all of the necessary calculations needed for display when the SC is reviewing a closeout
type PPMDocumentFetcher ¶
type PPMDocumentFetcher interface {
GetPPMDocuments(appCtx appcontext.AppContext, mtoShipmentID uuid.UUID) (*models.PPMDocuments, error)
}
PPMDocumentFetcher fetches all documents associated with a PPM shipment
type PPMEstimator ¶
type PPMEstimator interface {
EstimateIncentiveWithDefaultChecks(appCtx appcontext.AppContext, oldPPMShipment models.PPMShipment, newPPMShipment *models.PPMShipment) (*unit.Cents, *unit.Cents, error)
FinalIncentiveWithDefaultChecks(appCtx appcontext.AppContext, oldPPMShipment models.PPMShipment, newPPMShipment *models.PPMShipment) (*unit.Cents, error)
PriceBreakdown(appCtx appcontext.AppContext, ppmShipment *models.PPMShipment) (unit.Cents, unit.Cents, unit.Cents, unit.Cents, unit.Cents, unit.Cents, unit.Cents, error)
CalculatePPMSITEstimatedCost(appCtx appcontext.AppContext, ppmShipment *models.PPMShipment) (*unit.Cents, error)
CalculatePPMSITEstimatedCostBreakdown(appCtx appcontext.AppContext, ppmShipment *models.PPMShipment) (*models.PPMSITEstimatedCostInfo, error)
}
PPMEstimator estimates the cost of a PPM shipment
type PPMShipmentCreator ¶
type PPMShipmentCreator interface {
CreatePPMShipmentWithDefaultCheck(appCtx appcontext.AppContext, ppmshipment *models.PPMShipment) (*models.PPMShipment, error)
}
PPMShipmentCreator creates a PPM shipment
type PPMShipmentFetcher ¶
type PPMShipmentFetcher interface {
GetPPMShipment(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID, eagerPreloadAssociations []string, postloadAssociations []string) (*models.PPMShipment, error)
PostloadAssociations(appCtx appcontext.AppContext, ppmShipment *models.PPMShipment, postloadAssociations []string) error
}
PPMShipmentFetcher fetches a PPM shipment
type PPMShipmentNewSubmitter ¶
type PPMShipmentNewSubmitter interface {
SubmitNewCustomerCloseOut(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID, signedCertification models.SignedCertification) (*models.PPMShipment, error)
}
PPMShipmentNewSubmitter handles a new submission for a PPM shipment
type PPMShipmentReviewDocuments ¶
type PPMShipmentReviewDocuments interface {
SubmitReviewedDocuments(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID) (*models.PPMShipment, error)
}
PPMShipmentReviewDocuments handles a new submission for a PPM shipment
type PPMShipmentRouter ¶
type PPMShipmentRouter interface {
SetToDraft(appCtx appcontext.AppContext, ppmShipment *models.PPMShipment) error
Submit(appCtx appcontext.AppContext, ppmShipment *models.PPMShipment) error
SendToCustomer(appCtx appcontext.AppContext, ppmShipment *models.PPMShipment) error
SubmitCloseOutDocumentation(appCtx appcontext.AppContext, ppmShipment *models.PPMShipment) error
SubmitReviewedDocuments(appCtx appcontext.AppContext, ppmShipment *models.PPMShipment) error
}
PPMShipmentRouter routes a PPM shipment
type PPMShipmentUpdatedSubmitter ¶
type PPMShipmentUpdatedSubmitter interface {
SubmitUpdatedCustomerCloseOut(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID, signedCertification models.SignedCertification, eTag string) (*models.PPMShipment, error)
}
PPMShipmentUpdatedSubmitter handles a submission for a PPM shipment that has been submitted before
type PPMShipmentUpdater ¶
type PPMShipmentUpdater interface {
UpdatePPMShipmentWithDefaultCheck(appCtx appcontext.AppContext, ppmshipment *models.PPMShipment, mtoShipmentID uuid.UUID) (*models.PPMShipment, error)
UpdatePPMShipmentSITEstimatedCost(appCtx appcontext.AppContext, ppmshipment *models.PPMShipment) (*models.PPMShipment, error)
}
PPMShipmentUpdater updates a PPM shipment
type PPTASReportListFetcher ¶
type PPTASReportListFetcher interface {
GetMovesForReportBuilder(appCtx appcontext.AppContext, params *MoveTaskOrderFetcherParams) (models.Moves, error)
BuildPPTASReportsFromMoves(appCtx appcontext.AppContext, moves models.Moves) (models.PPTASReports, error)
}
PPTASReportListFetcher is the exported interface for fetching reports
type PWSViolationsFetcher ¶
type PWSViolationsFetcher interface {
GetPWSViolations(appCtx appcontext.AppContext) (*models.PWSViolations, error)
}
PWSViolationsFetcher is the exported interface for fetching office remarks for a move.
type Page1Values ¶
type Page1Values struct {
CUIBanner string
ServiceMemberName string
MaxSITStorageEntitlement string
PreferredPhoneNumber string
PreferredEmail string
DODId string
ServiceBranch string
RankGrade string
IssuingBranchOrAgency string
OrdersIssueDate string
OrdersTypeAndOrdersNumber string
AuthorizedOrigin string
AuthorizedDestination string
NewDutyAssignment string
WeightAllotment string
WeightAllotmentProGear string
WeightAllotmentProgearSpouse string
TotalWeightAllotment string
POVAuthorized string
ShipmentNumberAndTypes string
ShipmentPickUpDates string
ShipmentWeights string
ShipmentCurrentShipmentStatuses string
SITNumberAndTypes string
SITEntryDates string
SITEndDates string
SITDaysInStorage string
PreparationDate1 string
MaxObligationGCC100 string
TotalWeightAllotmentRepeat string
MaxObligationGCC95 string
MaxObligationSIT string
MaxObligationGCCMaxAdvance string
ActualObligationGCC100 string
ActualObligationGCC95 string
ActualObligationAdvance string
ActualObligationSIT string
MileageTotal string
MailingAddressW2 string
}
Page1Values is an object representing a Shipment Summary Worksheet
type Page2Values ¶
type Page2Values struct {
CUIBanner string
PreparationDate2 string
TAC string
SAC string
ContractedExpenseMemberPaid string
ContractedExpenseGTCCPaid string
RentalEquipmentMemberPaid string
RentalEquipmentGTCCPaid string
PackingMaterialsMemberPaid string
PackingMaterialsGTCCPaid string
WeighingFeesMemberPaid string
WeighingFeesGTCCPaid string
GasMemberPaid string
GasGTCCPaid string
TollsMemberPaid string
TollsGTCCPaid string
OilMemberPaid string
OilGTCCPaid string
OtherMemberPaid string
OtherGTCCPaid string
TotalMemberPaid string
TotalGTCCPaid string
TotalMemberPaidRepeated string
TotalGTCCPaidRepeated string
TotalPaidNonSIT string
TotalMemberPaidSIT string
TotalGTCCPaidSIT string
TotalPaidSIT string
Disbursement string
ShipmentPickupDates string
TrustedAgentName string
ServiceMemberSignature string
PPPOPPSORepresentative string
SignatureDate string
PPMRemainingEntitlement string
FormattedMovingExpenses
FormattedOtherExpenses
}
Page2Values is an object representing a Shipment Summary Worksheet
type Page3Values ¶
Page3Values is an object representing a Shipment Summary Worksheet
type Pagination ¶
Pagination represents an interface for pagination
type ParamsPricer ¶
type ParamsPricer interface {
PriceUsingParams(appCtx appcontext.AppContext, params models.PaymentServiceItemParams) (unit.Cents, PricingDisplayParams, error)
}
ParamsPricer is an interface that all param-aware pricers implement
type PaymentPacketCreator ¶
type PaymentPacketCreator interface {
Generate(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID, addBookmarks bool, addWaterMarks bool) (io.ReadCloser, error)
GenerateDefault(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID) (io.ReadCloser, error)
}
PaymentPacketCreator creates a payment packet for a PPM shipment
type PaymentRequestBulkDownloadCreator ¶
type PaymentRequestBulkDownloadCreator interface {
CreatePaymentRequestBulkDownload(appCtx appcontext.AppContext, paymentRequestID uuid.UUID) (afero.File, error)
}
type PaymentRequestCreator ¶
type PaymentRequestCreator interface {
CreatePaymentRequestCheck(appCtx appcontext.AppContext, paymentRequest *models.PaymentRequest) (*models.PaymentRequest, error)
}
PaymentRequestCreator is the exported interface for creating a payment request
type PaymentRequestFetcher ¶
type PaymentRequestFetcher interface {
FetchPaymentRequest(appCtx appcontext.AppContext, paymentRequestID uuid.UUID) (models.PaymentRequest, error)
}
PaymentRequestFetcher is the exported interface for fetching a payment request
type PaymentRequestListFetcher ¶
type PaymentRequestListFetcher interface {
FetchPaymentRequestList(appCtx appcontext.AppContext, officeUserID uuid.UUID, params *FetchPaymentRequestListParams) (*models.PaymentRequests, int, error)
FetchPaymentRequestListByMove(appCtx appcontext.AppContext, locator string) (*models.PaymentRequests, error)
}
PaymentRequestListFetcher is the exported interface for fetching a list of payment requests
type PaymentRequestRecalculator ¶
type PaymentRequestRecalculator interface {
RecalculatePaymentRequest(appCtx appcontext.AppContext, paymentRequestID uuid.UUID) (*models.PaymentRequest, error)
}
PaymentRequestRecalculator is the exported interface for recalculating a payment request
type PaymentRequestReviewedFetcher ¶
type PaymentRequestReviewedFetcher interface {
FetchReviewedPaymentRequest(appCtx appcontext.AppContext) (models.PaymentRequests, error)
}
PaymentRequestReviewedFetcher is the exported interface for fetching all payment requests in 'reviewed' status
type PaymentRequestReviewedProcessor ¶
type PaymentRequestReviewedProcessor interface {
ProcessReviewedPaymentRequest(appCtx appcontext.AppContext)
ProcessAndLockReviewedPR(appCtx appcontext.AppContext, pr models.PaymentRequest) error
}
PaymentRequestReviewedProcessor is the exported interface for processing reviewed payment requests
type PaymentRequestShipmentRecalculator ¶
type PaymentRequestShipmentRecalculator interface {
ShipmentRecalculatePaymentRequest(appCtx appcontext.AppContext, shipmentID uuid.UUID) (*models.PaymentRequests, error)
}
PaymentRequestShipmentRecalculator is the exported interface for recalculating payment requests for a shipment
type PaymentRequestStatusUpdater ¶
type PaymentRequestStatusUpdater interface {
UpdatePaymentRequestStatus(appCtx appcontext.AppContext, paymentRequest *models.PaymentRequest, eTag string) (*models.PaymentRequest, error)
}
PaymentRequestStatusUpdater is the exported interface for updating the status of a payment request
type PaymentRequestUploadCreator ¶
type PaymentRequestUploadCreator interface {
CreateUpload(appCtx appcontext.AppContext, file io.ReadCloser, paymentRequestID uuid.UUID, userID uuid.UUID, filename string, isWeightTicket bool) (*models.Upload, error)
}
PaymentRequestUploadCreator is the exported interface for creating a payment request upload
type PaymentServiceItemStatusUpdater ¶
type PaymentServiceItemStatusUpdater interface {
UpdatePaymentServiceItemStatus(appCtx appcontext.AppContext, paymentServiceItemID uuid.UUID,
status models.PaymentServiceItemStatus, rejectionReason *string, eTag string) (models.PaymentServiceItem, *validate.Errors, error)
}
PaymentServiceItemStatusUpdater is the exported interface for updating a payment service item
type PostalCodeType ¶
type PostalCodeType string
PostalCodeType is initialized as a string type
const ( Origin PostalCodeType = "origin" Destination PostalCodeType = "destination" )
PostalCodeTypes
type PostalCodeValidator ¶
type PostalCodeValidator interface {
ValidatePostalCode(appCtx appcontext.AppContext, postalCode string) (bool, error)
}
PostalCodeValidator is the service object interface for ValidatePostalCode
type PricingDisplayParam ¶
type PricingDisplayParam struct {
Key models.ServiceItemParamName
Value string
}
PricingDisplayParam represents a parameter (key/value pair) returned from a pricer
type PricingDisplayParams ¶
type PricingDisplayParams []PricingDisplayParam
PricingDisplayParams represents a slice of pricing parameters
type PrimeDownloadMoveUploadPDFGenerator ¶
type PrimeDownloadMoveUploadPDFGenerator interface {
GenerateDownloadMoveUserUploadPDF(appCtx appcontext.AppContext, moveOrderUploadType MoveOrderUploadType, move models.Move, addBookmarks bool) (afero.File, error)
}
type ProgearWeightTicketCreator ¶
type ProgearWeightTicketCreator interface {
CreateProgearWeightTicket(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID) (*models.ProgearWeightTicket, error)
}
ProgearWeightTickerCreator creates a ProgearWeightTicket that is associated with a PPMShipment
type ProgearWeightTicketDeleter ¶
type ProgearWeightTicketDeleter interface {
DeleteProgearWeightTicket(appCtx appcontext.AppContext, ppmID uuid.UUID, progearWeightTicketID uuid.UUID) error
}
ProgearWeightTicketDeleter deletes a ProgearWeightTicket
type ProgearWeightTicketUpdater ¶
type ProgearWeightTicketUpdater interface {
UpdateProgearWeightTicket(appCtx appcontext.AppContext, progearWeightTicket models.ProgearWeightTicket, eTag string) (*models.ProgearWeightTicket, error)
}
ProgearWeightTicketUpdater updates a ProgearWeightTicket
type QueryAssociation ¶
type QueryAssociation interface {
Field() string
}
QueryAssociation is an interface to allow passing association values into query interfaces
type QueryAssociations ¶
QueryAssociations is an interface to allow
type QueryFilter ¶
QueryFilter is an interface to allow passing filter values into query interfaces Ex `FetchMany` takes a list of filters
type QueryOrder ¶
QueryOrder describes the "order by" clause in a sql query
type ReportViolationFetcher ¶
type ReportViolationFetcher interface {
FetchReportViolationsByReportID(appCtx appcontext.AppContext, reportID uuid.UUID) (models.ReportViolations, error)
}
type ReportViolationsCreator ¶
type ReportViolationsCreator interface {
AssociateReportViolations(appCtx appcontext.AppContext, reportViolations *models.ReportViolations, reportID uuid.UUID) error
}
type RequestedOfficeUserFetcher ¶
type RequestedOfficeUserFetcher interface {
FetchRequestedOfficeUser(appCtx appcontext.AppContext, filters []QueryFilter) (models.OfficeUser, error)
}
RequestedOfficeUserFetcher is the exported interface for fetching a single requested office user
type RequestedOfficeUserListFetcher ¶
type RequestedOfficeUserListFetcher interface {
FetchRequestedOfficeUsersList(appCtx appcontext.AppContext, filters []QueryFilter, associations QueryAssociations, pagination Pagination, ordering QueryOrder) (models.OfficeUsers, error)
FetchRequestedOfficeUsersCount(appCtx appcontext.AppContext, filters []QueryFilter) (int, error)
}
RequestedOfficeUserListFetcher is the exported interface for fetching multiple requested office users
type RequestedOfficeUserUpdater ¶
type RequestedOfficeUserUpdater interface {
UpdateRequestedOfficeUser(appCtx appcontext.AppContext, id uuid.UUID, payload *adminmessages.RequestedOfficeUserUpdate) (*models.OfficeUser, *validate.Errors, error)
}
RequestedOfficeUserFetcher is the exported interface for updating a requested office user
type ReweighCreator ¶
type ReweighCreator interface {
CreateReweighCheck(appCtx appcontext.AppContext, reweigh *models.Reweigh) (*models.Reweigh, error)
}
ReweighCreator creates a reweigh
type ReweighFetcher ¶
type ReweighFetcher interface {
ListReweighsByShipmentIDs(appCtx appcontext.AppContext, shipmentIDs []uuid.UUID) (map[uuid.UUID]models.Reweigh, error)
}
ReweighFetcher allows us to fetch reweights. This is primarily used during the reweigh update of a diverted shipment
type ReweighUpdater ¶
type ReweighUpdater interface {
UpdateReweighCheck(appCtx appcontext.AppContext, reweigh *models.Reweigh, eTag string) (*models.Reweigh, error)
}
ReweighUpdater updates a reweigh
type RoleAssociater ¶
type RoleAssociater interface {
FetchRolesForUser(appCtx appcontext.AppContext, userID uuid.UUID) (roles.Roles, error)
}
RoleAssociater is the service object interface for fetching roles for a user id
type SFTPClient ¶
type SFTPClient interface {
ReadDir(p string) ([]os.FileInfo, error)
Open(path string) (SFTPFiler, error)
Remove(path string) error
}
SFTPClient is the exported interface for an SFTP client created for reading from and SFTP connection
type SITExtensionApprover ¶
type SITExtensionApprover interface {
ApproveSITExtension(appCtx appcontext.AppContext, shipmentID uuid.UUID, sitExtensionID uuid.UUID, approvedDays int, requestReason models.SITDurationUpdateRequestReason, officeRemarks *string, eTag string) (*models.MTOShipment, error)
}
SITExtensionApprover is the service object interface for approving a SIT extension
type SITExtensionCreator ¶
type SITExtensionCreator interface {
CreateSITExtension(appCtx appcontext.AppContext, sitExtension *models.SITDurationUpdate) (*models.SITDurationUpdate, error)
}
SITExtensionCreator creates a SIT extension
type SITExtensionDenier ¶
type SITExtensionDenier interface {
DenySITExtension(appCtx appcontext.AppContext, shipmentID uuid.UUID, sitExtensionID uuid.UUID, officeRemarks *string, convertToCustomerExpense *bool, eTag string) (*models.MTOShipment, error)
}
SITExtensionDenier is the service object interface for denying a SIT extension
type SITStatus ¶
type SITStatus struct {
ShipmentID uuid.UUID
TotalSITDaysUsed int
TotalDaysRemaining int
CalculatedTotalDaysInSIT int
CurrentSIT *CurrentSIT
PastSITs models.SITServiceItemGroupings
}
SITStatus is the summary of the current SIT service item days in storage remaining balance and dates
type SSWPPMComputer ¶
type SSWPPMComputer interface {
FetchDataShipmentSummaryWorksheetFormData(appCtx appcontext.AppContext, _ *auth.Session, ppmShipmentID uuid.UUID) (*models.ShipmentSummaryFormData, error)
ComputeObligations(_ appcontext.AppContext, _ models.ShipmentSummaryFormData, _ route.Planner) (models.Obligations, error)
FormatValuesShipmentSummaryWorksheet(shipmentSummaryFormData models.ShipmentSummaryFormData, isPaymentPacket bool) (Page1Values, Page2Values, Page3Values, error)
FormatShipment(ppm models.PPMShipment, weightAllotment models.SSWMaxWeightEntitlement, isPaymentPacket bool) models.WorkSheetShipment
FormatValuesShipmentSummaryWorksheetFormPage1(data models.ShipmentSummaryFormData, isPaymentPacket bool) (Page1Values, error)
FormatValuesShipmentSummaryWorksheetFormPage2(data models.ShipmentSummaryFormData, isPaymentPacket bool) (Page2Values, error)
FormatValuesShipmentSummaryWorksheetFormPage3(data models.ShipmentSummaryFormData, isPaymentPacket bool) (Page3Values, error)
}
type SSWPPMGenerator ¶
type SSWPPMGenerator interface {
FillSSWPDFForm(Page1Values, Page2Values, Page3Values) (afero.File, *pdfcpu.PDFInfo, error)
}
type SearchCustomersParams ¶
type SearchMovesParams ¶
type SearchMovesParams struct {
Branch *string
Locator *string
DodID *string
Emplid *string
CustomerName *string
PaymentRequestCode *string
DestinationPostalCode *string
OriginPostalCode *string
Status []string
ShipmentsCount *int64
Page int64
PerPage int64
Sort *string
Order *string
PickupDate *time.Time
DeliveryDate *time.Time
MoveCreatedDate *time.Time
}
type ServiceItemPricer ¶
type ServiceItemPricer interface {
PriceServiceItem(appCtx appcontext.AppContext, item models.PaymentServiceItem) (unit.Cents, models.PaymentServiceItemParams, error)
}
ServiceItemPricer prices a generic payment service item for a GHC move
type ServiceRequestDocumentUploadCreator ¶
type ServiceRequestDocumentUploadCreator interface {
CreateUpload(appCtx appcontext.AppContext, file io.ReadCloser, mtoServiceItemID uuid.UUID, userID uuid.UUID, filename string) (*models.Upload, error)
}
serviceRequestDocumentUploadCreator is the exported interface for creating a mto service item request upload
type ShipmentAddressUpdateRequester ¶
type ShipmentAddressUpdateRequester interface {
RequestShipmentDeliveryAddressUpdate(appCtx appcontext.AppContext, shipmentID uuid.UUID, newAddress models.Address, contractorRemarks string, eTag string) (*models.ShipmentAddressUpdate, error)
ReviewShipmentAddressChange(appCtx appcontext.AppContext, shipmentID uuid.UUID, tooApprovalStatus models.ShipmentAddressUpdateStatus, tooRemarks string) (*models.ShipmentAddressUpdate, error)
}
ShipmentAddressUpdateRequester Interface for the service object that creates an approved SIT Address Update
type ShipmentApprover ¶
type ShipmentApprover interface {
ApproveShipment(appCtx appcontext.AppContext, shipmentID uuid.UUID, eTag string) (*models.MTOShipment, error)
}
ShipmentApprover is the service object interface for approving a shipment
type ShipmentBillableWeightCalculator ¶
type ShipmentBillableWeightCalculator interface {
CalculateShipmentBillableWeight(shipment *models.MTOShipment) BillableWeightInputs
}
ShipmentBillableWeightCalculator is the service object interface for calculating a shipment's billable weight
type ShipmentCancellationRequester ¶
type ShipmentCancellationRequester interface {
RequestShipmentCancellation(appCtx appcontext.AppContext, shipmentID uuid.UUID, eTag string) (*models.MTOShipment, error)
}
ShipmentCancellationRequester is the service object interface for approving a shipment diversion
type ShipmentCreator ¶
type ShipmentCreator interface {
CreateShipment(appCtx appcontext.AppContext, shipment *models.MTOShipment) (*models.MTOShipment, error)
}
ShipmentCreator creates a shipment, taking into account different shipment types and their needs.
type ShipmentDeleter ¶
type ShipmentDeleter interface {
DeleteShipment(appCtx appcontext.AppContext, shipmentID uuid.UUID) (uuid.UUID, error)
}
ShipmentDeleter is the service object interface for deleting a shipment
type ShipmentDiversionApprover ¶
type ShipmentDiversionApprover interface {
ApproveShipmentDiversion(appCtx appcontext.AppContext, shipmentID uuid.UUID, eTag string) (*models.MTOShipment, error)
}
ShipmentDiversionApprover is the service object interface for approving a shipment diversion
type ShipmentDiversionRequester ¶
type ShipmentDiversionRequester interface {
RequestShipmentDiversion(appCtx appcontext.AppContext, shipmentID uuid.UUID, eTag string, diversionReason *string) (*models.MTOShipment, error)
}
ShipmentDiversionRequester is the service object interface for requesting a shipment diversion
type ShipmentPaymentSITBalance ¶
type ShipmentPaymentSITBalance struct {
ShipmentID uuid.UUID
TotalSITDaysAuthorized int
TotalSITDaysRemaining int
TotalSITEndDate time.Time
PendingSITDaysInvoiced int
PendingBilledStartDate time.Time
PendingBilledEndDate time.Time
PreviouslyBilledDays *int
PreviouslyBilledEndDate *time.Time
}
ShipmentPaymentSITBalance is a public struct that's used to return current SIT balances to the TIO for a payment request
type ShipmentRejecter ¶
type ShipmentRejecter interface {
RejectShipment(appCtx appcontext.AppContext, shipmentID uuid.UUID, eTag string, reason *string) (*models.MTOShipment, error)
}
ShipmentRejecter is the service object interface for rejecting a shipment
type ShipmentReweighRequester ¶
type ShipmentReweighRequester interface {
RequestShipmentReweigh(appCtx appcontext.AppContext, shipmentID uuid.UUID, requestor models.ReweighRequester) (*models.Reweigh, error)
}
ShipmentReweighRequester is the service object interface for approving a shipment diversion
type ShipmentRouter ¶
type ShipmentRouter interface {
Submit(appCtx appcontext.AppContext, shipment *models.MTOShipment) error
Approve(appCtx appcontext.AppContext, shipment *models.MTOShipment) error
RequestCancellation(appCtx appcontext.AppContext, shipment *models.MTOShipment) error
Cancel(appCtx appcontext.AppContext, shipment *models.MTOShipment) error
Reject(appCtx appcontext.AppContext, shipment *models.MTOShipment, rejectionReason *string) error
RequestDiversion(appCtx appcontext.AppContext, shipment *models.MTOShipment, diversionReason *string) error
ApproveDiversion(appCtx appcontext.AppContext, shipment *models.MTOShipment) error
}
ShipmentRouter is used for setting the status on shipments at different stages
type ShipmentSITStatus ¶
type ShipmentSITStatus interface {
CalculateShipmentsSITStatuses(appCtx appcontext.AppContext, shipments []models.MTOShipment) map[string]SITStatus
CalculateShipmentSITStatus(appCtx appcontext.AppContext, shipment models.MTOShipment) (*SITStatus, models.MTOShipment, error)
CalculateShipmentSITAllowance(appCtx appcontext.AppContext, shipment models.MTOShipment) (int, error)
RetrieveShipmentSIT(appCtx appcontext.AppContext, shipment models.MTOShipment) (models.SITServiceItemGroupings, error)
}
ShipmentSITStatus is the interface for calculating SIT service item summary balances of shipments
type ShipmentUpdater ¶
type ShipmentUpdater interface {
UpdateShipment(appCtx appcontext.AppContext, shipment *models.MTOShipment, eTag string, api string) (*models.MTOShipment, error)
}
ShipmentUpdater updates a shipment, taking into account different shipment types and their needs.
type ShipmentsPaymentSITBalance ¶
type ShipmentsPaymentSITBalance interface {
ListShipmentPaymentSITBalance(appCtx appcontext.AppContext, paymentRequestID uuid.UUID) ([]ShipmentPaymentSITBalance, error)
}
ShipmentsPaymentSITBalance is the exported interface for returning SIT balances for all shipments of a payment request
type SignedCertificationCreator ¶
type SignedCertificationCreator interface {
CreateSignedCertification(appCtx appcontext.AppContext, signedCertification models.SignedCertification) (*models.SignedCertification, error)
}
SignedCertificationCreator creates a signed certification
type SignedCertificationUpdater ¶
type SignedCertificationUpdater interface {
UpdateSignedCertification(appCtx appcontext.AppContext, signedCertification models.SignedCertification, eTag string) (*models.SignedCertification, error)
}
SignedCertificationUpdater updates a signed certification
type SitEntryDateUpdater ¶
type SitEntryDateUpdater interface {
UpdateSitEntryDate(appCtx appcontext.AppContext, sitEntryDateUpdate *models.SITEntryDateUpdate) (*models.MTOServiceItem, error)
}
SitEntryDateUpdater is the exported interface for updating a service item's SIT entry date
type SyncadaFileProcessor ¶
type SyncadaFileProcessor interface {
ProcessFile(appCtx appcontext.AppContext, syncadaPath string, text string) error
EDIType() models.EDIType
}
SyncadaFileProcessor is the exported interface for processing EDI files from Syncada
type SyncadaSFTPReader ¶
type SyncadaSFTPReader interface {
FetchAndProcessSyncadaFiles(appCtx appcontext.AppContext, pickupPath string, lastRead time.Time, processor SyncadaFileProcessor) (time.Time, error)
}
SyncadaSFTPReader is the exported interface for reading files from an SFTP connection
type SyncadaSFTPSender ¶
type SyncadaSFTPSender interface {
SendToSyncadaViaSFTP(appCtx appcontext.AppContext, localDataReader io.Reader, syncadaFileName string) (int64, error)
}
SyncadaSFTPSender is the exported interface for sending an EDI to Syncada
type TableFromSliceCreator ¶
type TableFromSliceCreator interface {
CreateTableFromSlice(appCtx appcontext.AppContext, slice interface{}) error
}
TableFromSliceCreator creates and populates a table based on a model slice
type TransportationAccountingCodeFetcher ¶
type TransportationAccountingCodeFetcher interface {
FetchOrderTransportationAccountingCodes(departmentIndicator models.DepartmentIndicator, ordersIssueDate time.Time, tacCode string, appCtx appcontext.AppContext) ([]models.TransportationAccountingCode, error)
}
TransportationAccountingCodeFetcher is the exported interface for fetching transportation accounting codes based on a centralized location for business logic
type TransportationOfficesFetcher ¶
type TransportationOfficesFetcher interface {
GetTransportationOffices(appCtx appcontext.AppContext, search string, forPpm bool) (*models.TransportationOffices, error)
GetTransportationOffice(appCtx appcontext.AppContext, transportationOfficeID uuid.UUID, includeOnlyPPMCloseoutOffices bool) (*models.TransportationOffice, error)
GetAllGBLOCs(appCtx appcontext.AppContext) (*models.GBLOCs, error)
GetCounselingOffices(appCtx appcontext.AppContext, dutyLocationID uuid.UUID) (*models.TransportationOffices, error)
}
type UploadCreator ¶
type UploadCreator interface {
CreateUpload(appCtx appcontext.AppContext, file io.ReadCloser, uploadFilename string, uploadType models.UploadType) (*models.Upload, error)
}
UploadCreator is the service object interface for CreateUpload
type UploadInformation ¶
type UploadInformation struct {
UploadID uuid.UUID `db:"upload_id"`
ContentType string `db:"content_type"`
CreatedAt time.Time `db:"created_at"`
Filename string
Bytes int64
MoveLocator *string `db:"locator"`
MoveStatus *models.MoveStatus `db:"status"`
ServiceMemberID *uuid.UUID `db:"service_member_id"`
ServiceMemberFirstName *string `db:"service_member_first_name"`
ServiceMemberLastName *string `db:"service_member_last_name"`
ServiceMemberPhone *string `db:"service_member_telephone"`
ServiceMemberEmail *string `db:"service_member_email"`
OfficeUserID *uuid.UUID `db:"office_user_id"`
OfficeUserFirstName *string `db:"office_user_first_name"`
OfficeUserLastName *string `db:"office_user_last_name"`
OfficeUserPhone *string `db:"office_user_telephone"`
OfficeUserEmail *string `db:"office_user_email"`
}
UploadInformation contains information for uploads
type UploadInformationFetcher ¶
type UploadInformationFetcher interface {
FetchUploadInformation(appCtx appcontext.AppContext, uuid uuid.UUID) (UploadInformation, error)
FetchUploadInformationForDeletion(appCtx appcontext.AppContext, uuid uuid.UUID, moveLocator string) (UploadInformation, error)
}
UploadInformationFetcher is the service object interface for FetchUploadInformation
type UploadUpdater ¶
type UploadUpdater interface {
UpdateUpload(appCtx appcontext.AppContext, file io.ReadCloser, uploadFilename string, uploadType models.UploadType) (*models.Upload, error)
}
UploadUpdater is the service object interface for UpdateUpload
type UserFetcher ¶
type UserFetcher interface {
FetchUser(appCtx appcontext.AppContext, filters []QueryFilter) (models.User, error)
}
UserFetcher is the service object interface for FetchUser
type UserPrivilegeAssociator ¶
type UserPrivilegeAssociator interface {
UpdateUserPrivileges(appCtx appcontext.AppContext, userID uuid.UUID, privileges []models.PrivilegeType) ([]models.UsersPrivileges, error)
}
UserPrivilegeAssociator is the service object interface for UpdateUserPrivileges
type UserRoleAssociator ¶
type UserRoleAssociator interface {
UpdateUserRoles(appCtx appcontext.AppContext, userID uuid.UUID, roles []roles.RoleType) ([]models.UsersRoles, *validate.Errors, error)
}
UserRoleAssociator is the service object interface for UpdateUserRoles
type UserSessionRevocation ¶
type UserSessionRevocation interface {
RevokeUserSession(appCtx appcontext.AppContext, id uuid.UUID, payload *adminmessages.UserUpdate, sessionManagers auth.AppSessionManagers) (*models.User, *validate.Errors, error)
}
UserSessionRevocation is the exported interface for revoking a user session
type UserUpdater ¶
type UserUpdater interface {
UpdateUser(appCtx appcontext.AppContext, id uuid.UUID, user *models.User) (*models.User, *validate.Errors, error)
}
UserUpdater is the service object interface for UpdateUser
type UserUploadToPDFConverter ¶
type UserUploadToPDFConverter interface {
ConvertUserUploadsToPDF(appCtx appcontext.AppContext, userUploads models.UserUploads) ([]*FileInfo, error)
}
UserUploadToPDFConverter converts user uploads to PDFs
type ValidationFunc ¶
type ValidationFunc func() error
ValidationFunc is a type representing the signature for a function that validates a service/model
type WebhookSubscriptionCreator ¶
type WebhookSubscriptionCreator interface {
CreateWebhookSubscription(appCtx appcontext.AppContext, subscription *models.WebhookSubscription) (*models.WebhookSubscription, *validate.Errors, error)
}
WebhookSubscriptionCreator is the exported interface for creating an admin user
type WebhookSubscriptionFetcher ¶
type WebhookSubscriptionFetcher interface {
FetchWebhookSubscription(appCtx appcontext.AppContext, filters []QueryFilter) (models.WebhookSubscription, error)
}
WebhookSubscriptionFetcher is the service object interface for FetchWebhookSubscription
type WebhookSubscriptionUpdater ¶
type WebhookSubscriptionUpdater interface {
UpdateWebhookSubscription(appCtx appcontext.AppContext, webhooksubscription *models.WebhookSubscription, severity *int64, eTag *string) (*models.WebhookSubscription, error)
}
WebhookSubscriptionUpdater is the service object interface for UpdateWebhookSubscription
type WeightEstimatorPage1 ¶
type WeightEstimatorPage1 struct {
LivingRoomCuFt1 string
LivingRoomPieces1 string
LivingRoomTotal1 string
LivingRoomCuFt2 string
LivingRoomPieces2 string
LivingRoomTotal2 string
LivingRoomCuFt3 string
LivingRoomPieces3 string
LivingRoomTotal3 string
LivingRoomCuFt4 string
LivingRoomPieces4 string
LivingRoomTotal4 string
LivingRoomCuFt5 string
LivingRoomPieces5 string
LivingRoomTotal5 string
LivingRoomCuFt6 string
LivingRoomPieces6 string
LivingRoomTotal6 string
LivingRoomCuFt7 string
LivingRoomPieces7 string
LivingRoomTotal7 string
LivingRoomCuFt8 string
LivingRoomPieces8 string
LivingRoomTotal8 string
LivingRoomCuFt9 string
LivingRoomPieces9 string
LivingRoomTotal9 string
LivingRoomCuFt10 string
LivingRoomPieces10 string
LivingRoomTotal10 string
LivingRoomCuFt11 string
LivingRoomPieces11 string
LivingRoomTotal11 string
LivingRoomCuFt12 string
LivingRoomPieces12 string
LivingRoomTotal12 string
LivingRoomCuFt13 string
LivingRoomPieces13 string
LivingRoomTotal13 string
LivingRoomCuFt14 string
LivingRoomPieces14 string
LivingRoomTotal14 string
LivingRoomCuFt15 string
LivingRoomPieces15 string
LivingRoomTotal15 string
LivingRoomCuFt16 string
LivingRoomPieces16 string
LivingRoomTotal16 string
LivingRoomCuFt17 string
LivingRoomPieces17 string
LivingRoomTotal17 string
LivingRoomCuFt18 string
LivingRoomPieces18 string
LivingRoomTotal18 string
LivingRoomCuFt19 string
LivingRoomPieces19 string
LivingRoomTotal19 string
LivingRoomCuFt20 string
LivingRoomPieces20 string
LivingRoomTotal20 string
LivingRoomCuFt21 string
LivingRoomPieces21 string
LivingRoomTotal21 string
LivingRoomCuFt22 string
LivingRoomPieces22 string
LivingRoomTotal22 string
LivingRoomCuFt23 string
LivingRoomPieces23 string
LivingRoomTotal23 string
LivingRoomCuFt24 string
LivingRoomPieces24 string
LivingRoomTotal24 string
LivingRoomCuFt25 string
LivingRoomPieces25 string
LivingRoomTotal25 string
LivingRoomCuFt26 string
LivingRoomPieces26 string
LivingRoomTotal26 string
LivingRoomCuFt27 string
LivingRoomPieces27 string
LivingRoomTotal27 string
LivingRoomCuFt28 string
LivingRoomPieces28 string
LivingRoomTotal28 string
LivingRoomCuFt29 string
LivingRoomPieces29 string
LivingRoomTotal29 string
LivingRoomCuFt30 string
LivingRoomPieces30 string
LivingRoomTotal30 string
LivingRoomCuFt31 string
LivingRoomPieces31 string
LivingRoomTotal31 string
LivingRoomCuFt32 string
LivingRoomPieces32 string
LivingRoomTotal32 string
}
WeightEstimatorPage1 is an object representing fields from Page 1 of the pdf
type WeightEstimatorPage2 ¶
type WeightEstimatorPage2 struct {
LivingRoomCuFt33 string
LivingRoomPieces33 string
LivingRoomTotal33 string
LivingRoomCuFt34 string
LivingRoomPieces34 string
LivingRoomTotal34 string
LivingRoomCuFt35 string
LivingRoomPieces35 string
LivingRoomTotal35 string
LivingRoomCuFt36 string
LivingRoomPieces36 string
LivingRoomTotal36 string
LivingRoomCuFt37 string
LivingRoomPieces37 string
LivingRoomTotal37 string
LivingRoomCuFt38 string
LivingRoomPieces38 string
LivingRoomTotal38 string
LivingRoomCuFt39 string
LivingRoomPieces39 string
LivingRoomTotal39 string
LivingRoomCuFt40 string
LivingRoomPieces40 string
LivingRoomTotal40 string
LivingRoomPiecesTotal1 string
LivingRoomCuFtTotal1 string
LivingRoomCuFt41 string
LivingRoomPieces41 string
LivingRoomTotal41 string
LivingRoomPiecesTotal2 string
LivingRoomCuFtTotal2 string
LivingRoomTotalItems string
LivingRoomTotalCube string
LivingRoomWeight string
DiningRoomCuFt1 string
DiningRoomPieces1 string
DiningRoomTotal1 string
DiningRoomCuFt2 string
DiningRoomPieces2 string
DiningRoomTotal2 string
DiningRoomCuFt3 string
DiningRoomPieces3 string
DiningRoomTotal3 string
DiningRoomCuFt4 string
DiningRoomPieces4 string
DiningRoomTotal4 string
DiningRoomCuFt5 string
DiningRoomPieces5 string
DiningRoomTotal5 string
DiningRoomCuFt6 string
DiningRoomPieces6 string
DiningRoomTotal6 string
DiningRoomCuFt7 string
DiningRoomPieces7 string
DiningRoomTotal7 string
DiningRoomCuFt8 string
DiningRoomPieces8 string
DiningRoomTotal8 string
DiningRoomCuFt9 string
DiningRoomPieces9 string
DiningRoomTotal9 string
DiningRoomCuFt10 string
DiningRoomPieces10 string
DiningRoomTotal10 string
DiningRoomCuFt11 string
DiningRoomPieces11 string
DiningRoomTotal11 string
DiningRoomCuFt12 string
DiningRoomPieces12 string
DiningRoomTotal12 string
DiningRoomCuFt13 string
DiningRoomPieces13 string
DiningRoomTotal13 string
DiningRoomPiecesTotal1 string
DiningRoomCuFtTotal1 string
DiningRoomPiecesTotal2 string
DiningRoomCuFtTotal2 string
DiningRoomTotalItems string
DiningRoomTotalCube string
}
WeightEstimatorPage2 is an object representing fields from Page 2 of the pdf
type WeightEstimatorPage3 ¶
type WeightEstimatorPage3 struct {
DiningRoomWeight string
BedRoomCuFt1 string
BedRoomPieces1 string
BedRoomTotal1 string
BedRoomCuFt2 string
BedRoomPieces2 string
BedRoomTotal2 string
BedRoomCuFt3 string
BedRoomPieces3 string
BedRoomTotal3 string
BedRoomCuFt4 string
BedRoomPieces4 string
BedRoomTotal4 string
BedRoomCuFt5 string
BedRoomPieces5 string
BedRoomTotal5 string
BedRoomCuFt6 string
BedRoomPieces6 string
BedRoomTotal6 string
BedRoomCuFt7 string
BedRoomPieces7 string
BedRoomTotal7 string
BedRoomCuFt8 string
BedRoomPieces8 string
BedRoomTotal8 string
BedRoomCuFt9 string
BedRoomPieces9 string
BedRoomTotal9 string
BedRoomCuFt10 string
BedRoomPieces10 string
BedRoomTotal10 string
BedRoomCuFt11 string
BedRoomPieces11 string
BedRoomTotal11 string
BedRoomCuFt12 string
BedRoomPieces12 string
BedRoomTotal12 string
BedRoomCuFt13 string
BedRoomPieces13 string
BedRoomTotal13 string
BedRoomCuFt14 string
BedRoomPieces14 string
BedRoomTotal14 string
BedRoomCuFt15 string
BedRoomPieces15 string
BedRoomTotal15 string
BedRoomCuFt16 string
BedRoomPieces16 string
BedRoomTotal16 string
BedRoomCuFt17 string
BedRoomPieces17 string
BedRoomTotal17 string
BedRoomCuFt18 string
BedRoomPieces18 string
BedRoomTotal18 string
BedRoomCuFt19 string
BedRoomPieces19 string
BedRoomTotal19 string
BedRoomCuFt20 string
BedRoomPieces20 string
BedRoomTotal20 string
BedRoomCuFt21 string
BedRoomPieces21 string
BedRoomTotal21 string
BedRoomCuFt22 string
BedRoomPieces22 string
BedRoomTotal22 string
BedRoomPiecesTotal1 string
BedRoomCuFtTotal1 string
BedRoomPiecesTotal2 string
BedRoomCuFtTotal2 string
BedRoomTotalItems string
BedRoomTotalCube string
BedRoomWeight string
}
type WeightEstimatorPage4 ¶
type WeightEstimatorPage4 struct {
DenCuFt1 string
DenPieces1 string
DenTotal1 string
DenCuFt2 string
DenPieces2 string
DenTotal2 string
DenCuFt3 string
DenPieces3 string
DenTotal3 string
DenCuFt4 string
DenPieces4 string
DenTotal4 string
DenCuFt5 string
DenPieces5 string
DenTotal5 string
DenCuFt6 string
DenPieces6 string
DenTotal6 string
DenCuFt7 string
DenPieces7 string
DenTotal7 string
DenCuFt8 string
DenPieces8 string
DenTotal8 string
DenCuFt9 string
DenPieces9 string
DenTotal9 string
DenCuFt10 string
DenPieces10 string
DenTotal10 string
DenCuFt11 string
DenPieces11 string
DenTotal11 string
DenCuFt12 string
DenPieces12 string
DenTotal12 string
DenCuFt13 string
DenPieces13 string
DenTotal13 string
DenCuFt14 string
DenPieces14 string
DenTotal14 string
DenPiecesTotal1 string
DenCuFtTotal1 string
DenPiecesTotal2 string
DenCuFtTotal2 string
DenTotalItems string
DenTotalCube string
DenWeight string
NurseryCuFt1 string
NurseryPieces1 string
NurseryTotal1 string
NurseryCuFt2 string
NurseryPieces2 string
NurseryTotal2 string
NurseryCuFt3 string
NurseryPieces3 string
NurseryTotal3 string
NurseryCuFt4 string
NurseryPieces4 string
NurseryTotal4 string
NurseryCuFt5 string
NurseryPieces5 string
NurseryTotal5 string
NurseryCuFt6 string
NurseryPieces6 string
NurseryTotal6 string
NurseryCuFt7 string
NurseryPieces7 string
NurseryTotal7 string
NurseryCuFt8 string
NurseryPieces8 string
NurseryTotal8 string
NurseryCuFt9 string
NurseryPieces9 string
NurseryTotal9 string
NurseryCuFt10 string
NurseryPieces10 string
NurseryTotal10 string
NurseryCuFt11 string
NurseryPieces11 string
NurseryTotal11 string
NurseryPiecesTotal1 string
NurseryCuFtTotal1 string
NurseryCuFt12 string
NurseryPieces12 string
NurseryTotal12 string
NurseryTotalItems string
}
type WeightEstimatorPage5 ¶
type WeightEstimatorPage5 struct {
NurseryPiecesTotal2 string
NurseryCuFtTotal2 string
NurseryTotalCube string
NurseryWeight string
KitchenCuFt1 string
KitchenPieces1 string
KitchenTotal1 string
KitchenCuFt2 string
KitchenPieces2 string
KitchenTotal2 string
KitchenCuFt3 string
KitchenPieces3 string
KitchenTotal3 string
KitchenCuFt4 string
KitchenPieces4 string
KitchenTotal4 string
KitchenCuFt5 string
KitchenPieces5 string
KitchenTotal5 string
KitchenCuFt6 string
KitchenPieces6 string
KitchenTotal6 string
KitchenCuFt7 string
KitchenPieces7 string
KitchenTotal7 string
KitchenCuFt8 string
KitchenPieces8 string
KitchenTotal8 string
KitchenCuFt9 string
KitchenPieces9 string
KitchenTotal9 string
KitchenCuFt10 string
KitchenPieces10 string
KitchenTotal10 string
KitchenCuFt11 string
KitchenPieces11 string
KitchenTotal11 string
KitchenCuFt12 string
KitchenPieces12 string
KitchenTotal12 string
KitchenPiecesTotal1 string
KitchenCuFtTotal1 string
KitchenPiecesTotal2 string
KitchenCuFtTotal2 string
KitchenTotalItems string
KitchenTotalCube string
KitchenWeight string
AppliancesCuFt1 string
AppliancesPieces1 string
AppliancesTotal1 string
AppliancesCuFt2 string
AppliancesPieces2 string
AppliancesTotal2 string
AppliancesCuFt3 string
AppliancesPieces3 string
AppliancesTotal3 string
AppliancesCuFt4 string
AppliancesPieces4 string
AppliancesTotal4 string
AppliancesCuFt5 string
AppliancesPieces5 string
AppliancesTotal5 string
AppliancesCuFt6 string
AppliancesPieces6 string
AppliancesTotal6 string
AppliancesCuFt7 string
AppliancesPieces7 string
AppliancesTotal7 string
AppliancesCuFt8 string
AppliancesPieces8 string
AppliancesTotal8 string
}
type WeightEstimatorPage6 ¶
type WeightEstimatorPage6 struct {
AppliancesCuFt9 string
AppliancesPieces9 string
AppliancesTotal9 string
AppliancesCuFt10 string
AppliancesPieces10 string
AppliancesTotal10 string
AppliancesCuFt11 string
AppliancesPieces11 string
AppliancesTotal11 string
AppliancesCuFt12 string
AppliancesPieces12 string
AppliancesTotal12 string
AppliancesCuFt13 string
AppliancesPieces13 string
AppliancesTotal13 string
AppliancesCuFt14 string
AppliancesPieces14 string
AppliancesTotal14 string
AppliancesCuFt15 string
AppliancesPieces15 string
AppliancesTotal15 string
AppliancesCuFt16 string
AppliancesPieces16 string
AppliancesTotal16 string
AppliancesPiecesTotal1 string
AppliancesCuFtTotal1 string
AppliancesCuFt17 string
AppliancesPieces17 string
AppliancesTotal17 string
AppliancesTotalItems string
AppliancesCuFt18 string
AppliancesPieces18 string
AppliancesTotal18 string
AppliancesTotalCube string
AppliancesPiecesTotal2 string
AppliancesCuFtTotal2 string
AppliancesWeight string
OutdoorCuFt1 string
OutdoorPieces1 string
OutdoorTotal1 string
OutdoorCuFt2 string
OutdoorPieces2 string
OutdoorTotal2 string
OutdoorCuFt3 string
OutdoorPieces3 string
OutdoorTotal3 string
OutdoorCuFt4 string
OutdoorPieces4 string
OutdoorTotal4 string
OutdoorCuFt5 string
OutdoorPieces5 string
OutdoorTotal5 string
OutdoorCuFt6 string
OutdoorPieces6 string
OutdoorTotal6 string
OutdoorCuFt7 string
OutdoorPieces7 string
OutdoorTotal7 string
OutdoorCuFt8 string
OutdoorPieces8 string
OutdoorTotal8 string
OutdoorCuFt9 string
OutdoorPieces9 string
OutdoorTotal9 string
OutdoorCuFt10 string
OutdoorPieces10 string
OutdoorTotal10 string
OutdoorCuFt11 string
OutdoorPieces11 string
OutdoorTotal11 string
OutdoorCuFt12 string
OutdoorPieces12 string
OutdoorTotal12 string
OutdoorCuFt13 string
OutdoorPieces13 string
OutdoorTotal13 string
OutdoorCuFt14 string
OutdoorPieces14 string
OutdoorTotal14 string
OutdoorCuFt15 string
OutdoorPieces15 string
OutdoorTotal15 string
OutdoorCuFt16 string
OutdoorPieces16 string
OutdoorTotal16 string
OutdoorCuFt17 string
OutdoorPieces17 string
OutdoorTotal17 string
OutdoorCuFt18 string
OutdoorPieces18 string
OutdoorTotal18 string
OutdoorCuFt19 string
OutdoorPieces19 string
OutdoorTotal19 string
OutdoorCuFt20 string
OutdoorPieces20 string
OutdoorTotal20 string
}
type WeightEstimatorPage7 ¶
type WeightEstimatorPage7 struct {
OutdoorCuFt21 string
OutdoorPieces21 string
OutdoorTotal21 string
OutdoorCuFt22 string
OutdoorPieces22 string
OutdoorTotal22 string
OutdoorCuFt23 string
OutdoorPieces23 string
OutdoorTotal23 string
OutdoorCuFt24 string
OutdoorPieces24 string
OutdoorTotal24 string
OutdoorCuFt25 string
OutdoorPieces25 string
OutdoorTotal25 string
OutdoorCuFt26 string
OutdoorPieces26 string
OutdoorTotal26 string
OutdoorCuFt27 string
OutdoorPieces27 string
OutdoorTotal27 string
OutdoorCuFt28 string
OutdoorPieces28 string
OutdoorTotal28 string
OutdoorCuFt29 string
OutdoorPieces29 string
OutdoorTotal29 string
OutdoorPiecesTotal1 string
OutdoorCuFtTotal1 string
OutdoorCuFt30 string
OutdoorPieces30 string
OutdoorTotal30 string
OutdoorTotalItems string
OutdoorPiecesTotal2 string
OutdoorCuFtTotal2 string
OutdoorTotalCube string
OutdoorWeight string
ExerciseCuFt1 string
ExercisePieces1 string
ExerciseTotal1 string
ExerciseCuFt2 string
ExercisePieces2 string
ExerciseTotal2 string
ExerciseCuFt3 string
ExercisePieces3 string
ExerciseTotal3 string
ExerciseCuFt4 string
ExercisePieces4 string
ExerciseTotal4 string
ExerciseCuFt5 string
ExercisePieces5 string
ExerciseTotal5 string
ExerciseCuFt6 string
ExercisePieces6 string
ExerciseTotal6 string
ExerciseCuFt7 string
ExercisePieces7 string
ExerciseTotal7 string
ExerciseCuFt8 string
ExercisePieces8 string
ExerciseTotal8 string
ExerciseCuFt9 string
ExercisePieces9 string
ExerciseTotal9 string
ExerciseCuFt10 string
ExercisePieces10 string
ExerciseTotal10 string
ExerciseCuFt11 string
ExercisePieces11 string
ExerciseTotal11 string
ExercisePiecesTotal1 string
ExerciseCuFtTotal1 string
ExerciseCuFt12 string
ExercisePieces12 string
ExerciseTotal12 string
ExerciseTotalItems string
ExerciseCuFt13 string
ExercisePieces13 string
ExerciseTotal13 string
ExerciseTotalCube string
ExercisePiecesTotal2 string
ExerciseCuFtTotal2 string
ExerciseWeight string
}
type WeightEstimatorPage8 ¶
type WeightEstimatorPage8 struct {
MiscCuFt1 string
MiscPieces1 string
MiscTotal1 string
MiscCuFt2 string
MiscPieces2 string
MiscTotal2 string
MiscCuFt3 string
MiscPieces3 string
MiscTotal3 string
MiscCuFt4 string
MiscPieces4 string
MiscTotal4 string
MiscCuFt5 string
MiscPieces5 string
MiscTotal5 string
MiscCuFt6 string
MiscPieces6 string
MiscTotal6 string
MiscCuFt7 string
MiscPieces7 string
MiscTotal7 string
MiscCuFt8 string
MiscPieces8 string
MiscTotal8 string
MiscCuFt9 string
MiscPieces9 string
MiscTotal9 string
MiscCuFt10 string
MiscPieces10 string
MiscTotal10 string
MiscCuFt11 string
MiscPieces11 string
MiscTotal11 string
MiscCuFt12 string
MiscPieces12 string
MiscTotal12 string
MiscCuFt13 string
MiscPieces13 string
MiscTotal13 string
MiscCuFt14 string
MiscPieces14 string
MiscTotal14 string
MiscCuFt15 string
MiscPieces15 string
MiscTotal15 string
MiscCuFt16 string
MiscPieces16 string
MiscTotal16 string
MiscCuFt17 string
MiscPieces17 string
MiscTotal17 string
MiscCuFt18 string
MiscPieces18 string
MiscTotal18 string
MiscCuFt19 string
MiscPieces19 string
MiscTotal19 string
MiscCuFt20 string
MiscPieces20 string
MiscTotal20 string
MiscCuFt21 string
MiscPieces21 string
MiscTotal21 string
MiscCuFt22 string
MiscPieces22 string
MiscTotal22 string
MiscCuFt23 string
MiscPieces23 string
MiscTotal23 string
MiscCuFt24 string
MiscPieces24 string
MiscTotal24 string
MiscCuFt25 string
MiscPieces25 string
MiscTotal25 string
MiscCuFt26 string
MiscPieces26 string
MiscTotal26 string
MiscCuFt27 string
MiscPieces27 string
MiscTotal27 string
MiscCuFt28 string
MiscPieces28 string
MiscTotal28 string
MiscCuFt29 string
MiscPieces29 string
MiscTotal29 string
MiscCuFt30 string
MiscPieces30 string
MiscTotal30 string
MiscPiecesTotal1 string
MiscCuFtTotal1 string
MiscPiecesTotal2 string
MiscCuFtTotal2 string
MiscTotalItems string
MiscTotalCube string
MiscWeight string
}
type WeightEstimatorPage9 ¶
type WeightEstimatorPage9 struct {
GarageCuFt1 string
GaragePieces1 string
GarageTotal1 string
GarageCuFt2 string
GaragePieces2 string
GarageTotal2 string
GarageCuFt3 string
GaragePieces3 string
GarageTotal3 string
GarageCuFt4 string
GaragePieces4 string
GarageTotal4 string
GarageCuFt5 string
GaragePieces5 string
GarageTotal5 string
GarageCuFt6 string
GaragePieces6 string
GarageTotal6 string
GarageCuFt7 string
GaragePieces7 string
GarageTotal7 string
GarageCuFt8 string
GaragePieces8 string
GarageTotal8 string
GarageCuFt9 string
GaragePieces9 string
GarageTotal9 string
GarageCuFt10 string
GaragePieces10 string
GarageTotal10 string
GarageCuFt11 string
GaragePieces11 string
GarageTotal11 string
GarageCuFt12 string
GaragePieces12 string
GarageTotal12 string
GarageCuFt13 string
GaragePieces13 string
GarageTotal13 string
GarageCuFt14 string
GaragePieces14 string
GarageTotal14 string
GaragePiecesTotal1 string
GarageCuFtTotal1 string
GaragePiecesTotal2 string
GarageCuFtTotal2 string
GarageTotalItems string
GarageTotalCube string
GarageWeight string
MilitaryTotalItems string
CivilianTotalItems string
MilitaryTotalCube string
CivilianTotalCube string
CartonsCuFt1 string
CartonsPieces1 string
CartonsTotal1 string
CartonsCuFt2 string
CartonsPieces2 string
CartonsTotal2 string
MilitaryWeight string
CivilianWeight string
CartonsCuFt3 string
CartonsPieces3 string
CartonsTotal3 string
MilitaryProGear string
CivilianProGear string
CartonsCuFt4 string
CartonsPieces4 string
CartonsTotal4 string
MilitaryMinusProGear string
CivilianMinusProGear string
CartonsCuFt5 string
CartonsPieces5 string
CartonsTotal5 string
MilitaryPacking string
}
type WeightEstimatorPage10 ¶
type WeightEstimatorPage10 struct {
CartonsCuFt6 string
CartonsPieces6 string
CartonsTotal6 string
MilitaryWeightChargeable string
CivilianWeightChargeable string
CartonsCuFt7 string
CartonsPieces7 string
CartonsTotal7 string
MilitaryWeightAllowance string
CivilianWeightAllowance string
CartonsCuFt8 string
CartonsPieces8 string
CartonsTotal8 string
MilitaryWeightOverUnder string
CivilianWeightOverUnder string
CartonsCuFt9 string
CartonsPieces9 string
CartonsTotal9 string
CartonsPiecesTotal1 string
CartonsCuFtTotal1 string
ProGearCuFt1 string
ProGearPieces1 string
ProGearTotal1 string
ProGearCuFt2 string
ProGearPieces2 string
ProGearTotal2 string
ProGearCuFt3 string
ProGearPieces3 string
ProGearTotal3 string
ProGearCuFt4 string
ProGearPieces4 string
ProGearTotal4 string
ProGearCuFt5 string
ProGearPieces5 string
ProGearTotal5 string
ProGearCuFt6 string
ProGearPieces6 string
ProGearTotal6 string
ProGearCuFt7 string
ProGearPieces7 string
ProGearTotal7 string
ProGearCuFt8 string
ProGearPieces8 string
ProGearTotal8 string
ProGearCuFt9 string
ProGearPieces9 string
ProGearTotal9 string
ProGearCuFt10 string
ProGearPieces10 string
ProGearTotal10 string
ProGearCuFt11 string
ProGearPieces11 string
ProGearTotal11 string
ProGearCuFt12 string
ProGearPieces12 string
ProGearTotal12 string
}
type WeightEstimatorPage11 ¶
type WeightEstimatorPages ¶
type WeightEstimatorPages struct {
Page1 WeightEstimatorPage1
Page2 WeightEstimatorPage2
Page3 WeightEstimatorPage3
Page4 WeightEstimatorPage4
Page5 WeightEstimatorPage5
Page6 WeightEstimatorPage6
Page7 WeightEstimatorPage7
Page8 WeightEstimatorPage8
Page9 WeightEstimatorPage9
Page10 WeightEstimatorPage10
Page11 WeightEstimatorPage11
}
type WeightTicketComputer ¶
type WeightTicketComputer interface {
ParseWeightEstimatorExcelFile(appCtx appcontext.AppContext, file io.ReadCloser) (*WeightEstimatorPages, error)
}
type WeightTicketCreator ¶
type WeightTicketCreator interface {
CreateWeightTicket(appCtx appcontext.AppContext, ppmShipmentID uuid.UUID) (*models.WeightTicket, error)
}
WeightTicketCreator creates a WeightTicket that is associated with a PPMShipment
type WeightTicketDeleter ¶
type WeightTicketDeleter interface {
DeleteWeightTicket(appCtx appcontext.AppContext, ppmID uuid.UUID, weightTicketID uuid.UUID) error
}
WeightTicketDeleter deletes a WeightTicket
type WeightTicketFetcher ¶
type WeightTicketFetcher interface {
GetWeightTicket(appCtx appcontext.AppContext, weightTicketID uuid.UUID) (*models.WeightTicket, error)
}
WeightTicketFetcher fetches a WeightTicket that is associated with a PPMShipment
type WeightTicketGenerator ¶
type WeightTicketUpdater ¶
type WeightTicketUpdater interface {
UpdateWeightTicket(appCtx appcontext.AppContext, weightTicket models.WeightTicket, eTag string) (*models.WeightTicket, error)
}
WeightTicketUpdater updates a WeightTicket
Source Files
¶
- address.go
- admin_user.go
- boat_shipment.go
- calendar.go
- client_cert.go
- customer.go
- customer_support_remarks.go
- db_tools.go
- electronic_order.go
- evaluation_report.go
- feature_flag.go
- fetch.go
- ghc_rate_engine.go
- invoice.go
- line_of_accounting.go
- lock_move.go
- mobile_home_shipment.go
- move.go
- move_history.go
- move_task_order.go
- moving_expense.go
- mto_agent.go
- mto_service_item.go
- mto_shipment.go
- office.go
- office_user.go
- order.go
- organization.go
- pagination.go
- paperwork.go
- payment_request.go
- payment_service_item.go
- postal_code.go
- ppm_closeout.go
- ppmshipment.go
- pptas_report.go
- progear_weight_ticket.go
- pws_violation.go
- query.go
- query_order.go
- report_violation.go
- requested_office_users.go
- reweigh.go
- roles.go
- shipment_address_update.go
- shipment_orchestrator.go
- shipment_summary_worksheet.go
- signed_certification.go
- sit_entry_date_update.go
- sit_extension.go
- transportation_accounting_code.go
- transportation_office.go
- upload.go
- user.go
- users_privileges.go
- users_roles.go
- validation.go
- webhook_subscription.go
- weight_ticket.go
- weight_ticket_parser.go