package
2.2.0-preview.5.5+incompatible
Repository: https://github.com/18f/culper.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
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
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
BlankApplication returns a constructed Application.
Catalogue eturns an array of the sub-sections of the form.
DefaultFormVersion returns the most recent form version for the given formType.
EqipClient returns a new eqip.Client, configured with the WS_* environment variables.
IsDatabaseErrorNotFound returns true if the error is a DatabaseErrorNotFound error.
MarshalPayloadEntity basic payload structure with an entity.
NewErrorStack creates a new stack of errors for a particular field.
# 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.
AuthnSAMLResponseType represents an Aunthn Response.
Warning messages.
Audience types used with Javascript Web Tokens.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Informative messages.
BasicEnabled Flag to enable basic username and password authentication.
Warning messages.
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.
CORSMaxAge The number of seconds browsers should cache preflight requests.
Attachment document types (dervied from e-QIP identifiers).
CSRFSecret Random tokens used for CSRF digitally signed using a secret random key of at least 256-bits.
Warning messages.
Warning messages.
DatabaseHost PostgreSQL database host name and port.
DatabaseName PostgreSQL database instance name.
DatabasePassword PostgreSQL database password.
DatabaseSSLMode The PostgreSQL sslmode to use to connect to the db
Target: Back-end (api) Default: `require`.
DatabaseURI PostgreSQL database connection string.
DatabaseUser PostgreSQL database user name.
DbMigrationTarget Target a specific database migration step for example, `20180212130825_account_lock.sql`.
DevDisableSSL controls whether to use a cookie with Secure set to false in development.
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.
Warning messages.
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`.
Warning messages.
HashRouting Flag to enable hash routing.
IndentJSON set to indent response JSON.
Warning messages.
Different potential layouts used by the frontend.
Different potential layouts used by the frontend.
Special layout flags for e-QIP integration for...
Different potential layouts used by the frontend.
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.
APOFPO elements.
Different potential layouts used by the frontend.
Special layout flags for e-QIP integration for...
Special layout flags for e-QIP integration for...
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.
LogoutSAMLResponseType represents a Logout Response.
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.
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.
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.
SamlSloEnabled Flag to enable SAML single logout.
Warning messages.
Warning messages.
Warning messages.
Warning messages.
Informative messages.
Warning messages.
SamlVerifyInsecure Flag to allow insecure validation of SAML 2.0 responses.
Informative messages.
Informative messages.
Informative messages.
Warning messages.
Warning messages.
Informative messages.
SessionTimeout Session timeout in minutes.
Warning messages.
Audience types used with Javascript Web Tokens.
Informative messages.
Informative messages.
Warning messages.
StatusIncomplete indicates that the submission is INCOMPLETE.
StatusKickback indicates that the submission is KICKBACK.
StatusSubmitted indicates that the submission is SUBMITTED.
Informative messages.
TestDatabaseName PostgreSQL database instance name for tests
Target: Back-end (api) Default: `eapp_test`.
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.
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
ErrAccountDoesNotExist is an error when a users account does not exist.
ErrApplicationAlreadyExists is an error when a given application does not exist.
ErrApplicationDoesNotExist is an error when a given application does not exist.
ErrAttachmentDoesNotExist is returned when the requested attchment 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.
ErrSessionExpired is returned when the requested session has expired.
ErrValidSessionNotFound is returned when a valid session is not found.
Geocode is the geocoder to be used by the application.
# Structs
Account represents a user account.
AdditionalComments represents the payload for the additional comments at the end of the form.
Application represents a single SF application.
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.
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.
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.
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.
GeocodeResult represents geocoded information that has been transformed from the original source.
GeocodeValues stores generic geospatial related query parameters.
Height is a basic input.
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.
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.
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.
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.
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.
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.
Session contains all the information about a given user session in eApp.
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.
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 and validate.
ErrorStackResults is an interface to be used to represent a collection of interfaces.
Geocoder is an interface for geocoding implementations.
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.
Rejector interface allows an entity to have nos cleared when the application is kicked back.
SamlService represents a service to request and validate SAML responses.
Section interface represents a top level section in the form Right now that's just an entity, but it would be nice if we could separate Sections from things like text fields in the future.
Serializer is an interface that sits between the domain models and the database.
SessionService backs user authentication -- providing a way to verify & modify session status.
Settings represents environments settings to pull configuration information.
StorageService stores eapp related data.
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.
XMLService represents a basic interface to XML related functionality.
# Type aliases
DatabaseErrorNotFound is an error that indicates that the function failed because the seach returned zero results.
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.
SAMLResponseType represents the type of a SAML response received from the identity server.