package
0.5.9
Repository: https://github.com/18f/e-qip-prototype.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

Application returns the application state in JSON format.
ApplicationData returns the entire application in a JSON structure.
Catalogue eturns an array of the sub-sections of the form.
Hash returns the SHA256 hash of the application state in hexadecimal.
MarshalPayloadEntity basic payload structure with an entity.
Metadata returns the application metadata.
NewErrorStack creates a new stack of errors for a particular field.
Package an application for transmitting to cold storage.
PurgeAccountStorage removes all data associated with an account.

# Constants

Warning messages.
Warning messages.
APIBaseURL Back-end URL for the front-end to direct requests to.
APIRedirect Front-end URL for the back-end to redirect responses to.
Warning messages.
Informative messages.
Warning messages.
Informative messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Informative messages.
AttachmentsEnabled Flag representing whether or not attachments are allowed.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Audience types used with Javascript Web Tokens.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Informative messages.
BasicEnabled Flag to enable basic username and password authentication.
Informative messages.
Attachment document types (dervied from e-QIP identifiers).
Warning messages.
CORSAllowed Whitelist of address(es) for cross-origin resource sharing (CORS).
Warning messages.
Informative messages.
Attachment document types (dervied from e-QIP identifiers).
DatabaseHost PostgreSQL database host name and port.
DatabaseName PostgreSQL database instance name.
DatabasePassword PostgreSQL database password.
DatabaseURI PostgreSQL database connection string.
DatabaseUser PostgreSQL database user name.
DbMigrationTarget Target a specific database migration step for example, `20180212130825_account_lock.sql`.
Warning messages.
Warning messages.
FileMaximumSize Is the maximum file size of an attachment allowed in bytes.
FileTypes Allowed file types of an attachment.
FlushStorage Flag to enable flushing of persisted information for an account during the logon process.
Attachment document types (dervied from e-QIP identifiers).
Informative messages.
GolangEnv Sets the Go environment to configure the application for specific uses: - `test`: used with unit testing and code coverage - `development`: for use while developing the application - `staging`: environment for various usability tests prior to releasing to production - `production`: compiled for production use only minimum required assets (does **not** include test accounts) Target: Back-end (api) Default: `development` Values: `test` | `development` | `staging` | `production`.
HashRouting Flag to enable hash routing.
Warning messages.
Warning messages.
JwtSecret The HS512 algorithm is used to sign each JavaScript Web Token using a secret random key of at least 512-bits.
Warning messages.
Informative messages.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Special layout flags for e-QIP integration for Country elements with CountriesNoUS type.
Different potential layouts used by the frontend.
Special layout flags for e-QIP integration for Country elements with CountriesNoUS type.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
LogDirectory Path to the local file system log file.
LogFile Path to the local file system log file.
Informative messages.
LogLevel Log level for the back-end API.
LogSyslog Connection string for a `syslog` server such as `udp://logserver:514`.
LogSyslogCert Providing a path to the PEM certificate will convert all `syslog` communication to use TLS.
Attachment document types (dervied from e-QIP identifiers).
Warning messages.
Warning messages.
Warning messages.
Warning messages.
NodeEnv Sets the Node environment to configure the application for a specific uses: - `test`: used with unit testing and code coverage - `development`: for use while developing the application - `staging`: environment for various usability tests prior to releasing to production - `production`: minify and optimize all possible assets for optimal use Target: Front-end (web) Default: `development` Values: `test` | `development` | `staging` | `production`.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Port Port to use for back-end API.
Informative messages.
Warning messages.
Warning messages.
SamlConsumerServiceURL Endpoint for assertion consumer service.
SamlEnabled Flag to enable SAML authentication.
Warning messages.
Warning messages.
SamlIdpPublicCert File path (absolute or relative) to identity data provider's public certificate (X.509 PEM) used to verify the authentication response signature.
SamlIdpSsoDescURL The identity provider's issuer URL.
SamlIdpSsoURL Endpoint to SAML 2.0 Single Sign-On (SSO) identity provider.
Warning messages.
Warning messages.
SamlPrivateCert File path (absolute or relative) to SAML private certificate.
SamlPublicCert File path (absolute or relative) to SAML public certificate.
Warning messages.
Warning messages.
SamlSignRequest Flag to enable signing of SAML 2.0 requests.
Informative messages.
Warning messages.
SamlVerifyInsecure Flag to allow insecure validation of SAML 2.0 responses.
SessionTimeout Session timeout in minutes.
Audience types used with Javascript Web Tokens.
Informative messages.
Informative messages.
Informative messages.
TLSCert File path (absolute or relative) to TLS public certificate (X.509 PEM) certificate for use with the back-end API.
TLSKey File path (absolute or relative) to TLS private key (X.509 PEM) for use the back-end API.
Warning messages.
Informative messages.
Informative messages.
Informative messages.
Warning messages.
UspsAPIKey United States Postal Service (USPS) API key for address validation.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Informative messages.
Warning messages.
Informative messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
WsAgencyGroupID Provided by OPM representing the destination agency's group.
WsAgencyID Provided by OPM representing the destination agency.
WsCallerinfoAgencyID Provided by OPM representing the caller's agency.
WsCallerinfoAgencyUserPseudossn Flag representing whether or not the caller has an SSN.
WsCallerinfoAgencyUserSSN Provided by OPM representing the caller's agency user making the web service call.
WsEnabled Allows requests to be made to the eqip web service.
WsKey File path to private certificate key (PKCS#8 DER) used to sign security tokens for the OPM web service.
WsURL The endpoint for the OPM web service used to submit the package for investigation.

# Variables

ErrAccoundDoesNotExist is an error when a users account does not exist.
ErrDatastoreConnection is an error when a database connection cannot be made.
ErrNoResultsFound is a generic error when results are not found but a request was valid.
ErrPasswordDoesNotMatch is an error when a user inputs an invalid password.
Geocode is the geocoder to be used by the application.

# Structs

Account represents a user account.
An ArchivalPdf represents a PDF (Portable Document Format) file that needs to be retained and submitted to e-QIP.
Attachment stores information in regards to a file associated with the application.
BasicAuthMembership stores basic authentication information for the account.
Benefit payload type.
Branch is a basic yes/no input.
Checkbox is a basic input.
CheckboxGroup is a basic input.
CitizenshipComments represents the payload for the citizenship comments section.
CitizenshipMultiple represents the payload for the citizenship multiple section.
CitizenshipPassports represents the payload for the citizenship passports section.
CitizenshipStatus represents the payload for the citizenship status section.
CivilUnion is an item of named payloads.
ClearanceLevel is a basic input.
Collection represents a structure composed of zero or more items.
CollectionItem is an item of named payloads directly used in a `Collection`.
Contacts payload.
CoOwners payload.
Country is a basic input.
DateControl is a basic input.
DateRange is a basic input.
Email is a basic input.
EmploymentActivity is a basic input.
ErrFieldInvalid represents an error for a field with an invalid value.
ErrFieldRequired represents an error for a field that requires data.
ErrInvalidLocation represents an error for location information with additional options.
FinancialBankruptcy represents the payload for the financial bankruptcy section.
FinancialCard represents the payload for the financial card section.
FinancialComments represents the payload for the financial comments section.
FinancialCredit represents the payload for the financial credit section.
FinancialDelinquent represents the payload for the financial delinquent section.
FinancialGambling represents the payload for the financial gambling section.
FinancialNonpayment represents the payload for the financial nonpayment section.
FinancialTaxes represents the payload for the financial taxes section.
ForeignActivitiesBenefits represents the payload for the foreign activities benefits section.
ForeignActivitiesDirect represents the payload for the foreign activities direct section.
ForeignActivitiesIndirect represents the payload for the foreign activities indirect section.
ForeignActivitiesRealEstate represents the payload for the foreign activities real estate section.
ForeignActivitiesSupport represents the payload for the foreign activities support section.
ForeignBornDocument is a basic input.
ForeignBusinessAdvice represents the payload for the foreign business advice section.
ForeignBusinessConferences represents the payload for the foreign business conferences section.
ForeignBusinessContact represents the payload for the foreign business contact section.
ForeignBusinessEmployment represents the payload for the foreign business employment section.
ForeignBusinessFamily represents the payload for the foreign business family section.
ForeignBusinessPolitical represents the payload for the foreign business political section.
ForeignBusinessSponsorship represents the payload for the foreign business sponsorship section.
ForeignBusinessVentures represents the payload for the foreign business ventures section.
ForeignBusinessVoting represents the payload for the foreign business voting section.
ForeignComments represents the payload for the foreign comments section.
ForeignContacts represents the payload for the foreign contacts section.
ForeignPassport represents the payload for the foreign passport section.
ForeignTravel represents the payload for the foreign travel section.
FormMetadata represents extra information associated with the application regarding its current state.
GeocodeResult represents geocoded information that has been transformed from the original source.
GeocodeValues stores generic geospatial related query parameters.
Height is a basic input.
HistoryComments represents the payload for the history comments section.
HistoryEducation represents the payload for the history education section.
HistoryEmployment represents the payload for the history employment section.
HistoryFederal represents the payload for the history federal section.
HistoryResidence represents the payload for the history residence section.
IdentificationBirthDate represents the payload for the identification birth date section.
IdentificationBirthPlace represents the payload for the identification birth place section.
IdentificationComments represents the payload for the identification comments section.
IdentificationContacts represents the payload for the identification contact information section.
IdentificationName represents the payload for the identification name section.
IdentificationOtherNames represents the payload for the identification other names section.
IdentificationPhysical represents the payload for the identification physical traits section.
IdentificationSSN represents the payload for the identification SSN section.
LegalAssociationsActivitiesToOverthrow represents the payload for the legal associations activities to overthrow section.
LegalAssociationsAdvocating represents the payload for the legal associations advocating section.
LegalAssociationsEngagedInTerrorism represents the payload for the legal associations engaged in terrorism section.
LegalAssociationsMembershipOverthrow represents the payload for the legal associations membership to overthrow government section.
LegalAssociationsMembershipViolence represents the payload for the legal associations memberhisp advocating violence section.
LegalAssociationsTerrorismAssociation represents the payload for the legal associations with terrorism section.
LegalAssociationsTerroristOrganization represents the payload for the legal associations with terrorist organizations section.
LegalComments represents the payload for the legal comments section.
LegalCourt represents the payload for the legal noncriminal court section.
LegalInvestigationsDebarred represents the payload for the legal investigations debarred section.
LegalInvestigationsHistory represents the payload for the legal investigations history section.
LegalInvestigationsRevoked represents the payload for the legal investigatinos revoked section.
LegalPoliceAdditionalOffenses represents the payload for the legal police additional offenses section.
LegalPoliceDomesticViolence represents the payload for the legal police domestic violence section.
LegalPoliceOffenses represents the payload for the legal police offenses section.
LegalTechnologyManipulating represents the payload for the legal technology manipulating section.
LegalTechnologyUnauthorized represents the payload for the legal technology unauthorized access section.
LegalTechnologyUnlawful represents the payload for the legal technology unlawful use section.
Location is a basic input.
Migration is a service used for data storage migrations.
MilitaryComments represents the payload for the military comments section.
MilitaryDisciplinary represents the payload for the military disposition section.
MilitaryForeign represents the payload for the military foreign section.
MilitaryHistory represents the payload for the military history section.
MilitarySelective represents the payload for the military service section.
Name is a basic input.
NotApplicable is a basic input.
Number is a basic input.
Payload is a basic structure to encapsulate a generic structure.
PhysicalAddress is a basic input.
PsychologicalComments represents the payload for the psychological comments section.
PsychologicalCompetence represents the payload for the psychological competence section.
PsychologicalConsultations represents the payload for the psychological consultations section.
PsychologicalDiagnoses represents the payload for the psychological diagnosis section.
PsychologicalExisting represents the payload for the psychological existing conditions section.
PsychologicalHospitalizations represents the payload for the psychological hospitalizations section.
Radio is a basic input.
ReasonLeft is a basic input.
RelationshipsCohabitants represents the payload for the relationships cohabitants section.
RelationshipsComments represents the payload for the relationships comments section.
RelationshipsMarital represents the payload for the relationships marital section.
RelationshipsPeople represents the payload for the relationships people section.
RelationshipsRelatives represents the payload for the relationships relatives section.
SectionInformation represents a structure to quickly organize the different sections and subsections with the payload type(s).
Sentence is a basic input.
Signature is a basic input.
SSN is a basic input.
Submission represents the payload for the submission section.
SubmissionAdditionalComments represents the payload for the submission additional comments section.
SubmissionAttachments represents the payload for the submission attachments section.
SubmissionCredit represents the payload for the submission credit release section.
SubmissionGeneral represents the payload for the submission general release section.
SubmissionMedical represents the payload for the submission medical release section.
SubstanceAlcoholAdditional represents the payload for the substance alcohol additional section.
SubstanceAlcoholNegative represents the payload for the substance alcohol negative section.
SubstanceAlcoholOrdered represents the payload for the substance alcholo ordered section.
SubstanceAlcoholVoluntary represents the payload for the substance alcohol voluntary section.
SubstanceComments represents the payload for the substance comments section.
SubstanceDrugClearance represents the payload for the substance drug clearance section.
SubstanceDrugMisuse represents the payload for the substance drug misuse section.
SubstanceDrugOrdered represents the payload for the substance drug ordered section.
SubstanceDrugPublicSafety represents the payload for the substance drug public safety section.
SubstanceDrugPurchase represents the payload for the substance drug purchase section.
SubstanceDrugUsage represents the payload for the substance drug usage section.
SubstanceDrugVoluntary represents the payload for the substance drug voluntary section.
Supervisor is a basic input.
Telephone is a basic input.
Text is a basic input.
Textarea is a basic input.
Transmission record of application being sent to external system for additional processing.
Treatment is a basic structure.

# Interfaces

DatabaseService represents a persisted data storage.
Entity is a structure which can marshall, validate, and persist.
ErrorStackResults is an interface to be used to represent a collection of interfaces.
Finder interface provides common functionality for finding persisted data using properties other than the primary key.
Geocoder is an interface for geocoding implementations.
Identifier allows for entities to be tagged with an ID.
LogService represents common methods for a logging service.
Marshaller is structure which can marshal and unmarshal JSON.
PdfService declares operations to create and query archival PDFs.
Persister interface provides common functionality for persisting data to storage.
SamlService represents a service to request and validate SAML responses.
Settings represents environments settings to pull configuration information.
TokenService represents a service providing Javascript Web Tokens.
ValidationResult is an interface to be used by errors that return a properly formatted struct to be used to send for client-side validation requests.
Validator interface entities which allow validating properties.
XMLService represents a basic interface to XML related functionality.

# Type aliases

ErrorStack contains a list of ErrorStackResults that have been captured.
GeocodeResults contains a list of found Result.
LogFields are named keys to hold additional information to be reported in the log messages.
PayloadProperties is a structure of JSON where it is an object of named properties which each value being that of a Payload.