Documentation ¶
Index ¶
- Constants
- Variables
- func ContainsAllIDs[BS IBaseStruct](models []BS, ids []uuid.UUID) bool
- func ConvertEnums[EnumType ~string](pqGroups pq.StringArray) []EnumType
- func EmailAddressesToStringPtrs(addresses []EmailAddress) []*string
- func EmailAddressesToStrings(addresses []EmailAddress) []string
- func MarshalNullBool(nb null.Bool) graphql.Marshaler
- func MarshalNullFloat(zf null.Float) graphql.Marshaler
- func MarshalNullInt(ni null.Int) graphql.Marshaler
- func MarshalNullString(ns null.String) graphql.Marshaler
- func MarshalUUID(id uuid.UUID) graphql.Marshaler
- func MarshalZeroBool(zb zero.Bool) graphql.Marshaler
- func MarshalZeroFloat(zf zero.Float) graphql.Marshaler
- func MarshalZeroInt(zi zero.Int) graphql.Marshaler
- func MarshalZeroString(zs zero.String) graphql.Marshaler
- func MarshalZeroTime(zt zero.Time) graphql.Marshaler
- func NewUserIDRelation(userID uuid.UUID) userIDRelation
- func StringsFromZeroStrs(zs []zero.String) []string
- func UnmarshalNullBool(v interface{}) (null.Bool, error)
- func UnmarshalNullFloat(v interface{}) (null.Float, error)
- func UnmarshalNullInt(v interface{}) (null.Int, error)
- func UnmarshalNullString(v interface{}) (null.String, error)
- func UnmarshalUUID(v interface{}) (uuid.UUID, error)
- func UnmarshalZeroBool(v interface{}) (zero.Bool, error)
- func UnmarshalZeroFloat(v interface{}) (zero.Float, error)
- func UnmarshalZeroInt(v interface{}) (zero.Int, error)
- func UnmarshalZeroString(v interface{}) (zero.String, error)
- func UnmarshalZeroTime(v interface{}) (zero.Time, error)
- func ZeroStringsFrom(strs []string) []zero.String
- type Action
- type ActionType
- type AugmentedSystemIntakeContact
- type BaseStruct
- type BaseStructUser
- func (cbr *BaseStructUser) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (b *BaseStructUser) GetBaseStruct() *BaseStructUser
- func (b BaseStructUser) GetCreatedBy() string
- func (b BaseStructUser) GetID() uuid.UUID
- func (b BaseStructUser) GetModifiedBy() *string
- func (mbr *BaseStructUser) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type BookmarkRequest
- type BudgetActualCost
- type BusinessCase
- type BusinessCaseSolution
- type BusinessCaseStatus
- type BusinessCaseWithCosts
- type BusinessCases
- type BusinessOwnerInformation
- type CedarAssigneeType
- type CedarAuthorityToOperate
- type CedarBudget
- type CedarBudgetActualCost
- type CedarBudgetSystemCost
- type CedarBusinessOwnerInformation
- type CedarContract
- type CedarDataCenter
- type CedarDataCenter2
- type CedarDeployment
- type CedarExchange
- type CedarExchangeTypeOfDataItem
- type CedarRole
- type CedarRoleNameType
- type CedarRoleType
- type CedarSoftwareProductItem
- type CedarSoftwareProducts
- type CedarSubSystem
- type CedarSystem
- type CedarSystemBookmark
- type CedarSystemDetails
- type CedarSystemMaintainerInformation
- type CedarThreat
- type CedarURL
- type CloseTRBRequestInput
- type ContractDate
- type CreateCedarSystemBookmarkInput
- type CreateCedarSystemBookmarkPayload
- type CreateGRBReviewerInput
- type CreateSystemIntakeContactInput
- type CreateSystemIntakeContactPayload
- type CreateSystemIntakeDocumentInput
- type CreateSystemIntakeDocumentPayload
- type CreateSystemIntakeGRBReviewersInput
- type CreateSystemIntakeGRBReviewersPayload
- type CreateSystemIntakeInput
- type CreateSystemIntakeNoteInput
- type CreateTRBAdminNoteConsultSessionInput
- type CreateTRBAdminNoteGeneralRequestInput
- type CreateTRBAdminNoteGuidanceLetterInput
- type CreateTRBAdminNoteInitialRequestFormInput
- type CreateTRBAdminNoteSupportingDocumentsInput
- type CreateTRBGuidanceLetterRecommendationInput
- type CreateTRBRequestAttendeeInput
- type CreateTRBRequestDocumentInput
- type CreateTRBRequestDocumentPayload
- type CreateTRBRequestFeedbackInput
- type CurrentUser
- type DeleteCedarSystemBookmarkPayload
- type DeleteSystemIntakeContactInput
- type DeleteSystemIntakeContactPayload
- type DeleteSystemIntakeDocumentPayload
- type DeleteSystemIntakeGRBReviewerInput
- type DeleteTRBRequestDocumentPayload
- type DeleteTRBRequestFundingSourcesInput
- type DocumentUploaderRole
- type EmailAddress
- type EmailNotificationRecipients
- type EstimatedLifecycleCost
- type EstimatedLifecycleCosts
- type ExchangeDirection
- type GRBReviewerComparison
- type GRBReviewerComparisonIntake
- type GovernanceRequestFeedback
- type GovernanceRequestFeedbackSourceAction
- type GovernanceRequestFeedbackTargetForm
- type GovernanceRequestFeedbackType
- type HTML
- func (h HTML) MarshalGQLContext(ctx context.Context, w io.Writer) error
- func (h *HTML) StringPointer() *string
- func (h *HTML) ToTemplate() template.HTML
- func (h *HTML) UnmarshalGQLContext(ctx context.Context, v interface{}) error
- func (h *HTML) ValueOrEmptyHTML() HTML
- func (h *HTML) ValueOrEmptyString() string
- type IBaseStruct
- type ITGovDecisionStatus
- type ITGovDraftBusinessCaseStatus
- type ITGovFeedbackStatus
- type ITGovFinalBusinessCaseStatus
- type ITGovGRBStatus
- type ITGovGRTStatus
- type ITGovIntakeFormStatus
- type ITGovTaskStatuses
- type IntakeReview
- type IntakeReviewDecision
- type LaunchDarklySettings
- type LifecycleCostPhase
- type LifecycleCostSolution
- type LifecycleCostYear
- type Mutation
- type PersonRole
- type Query
- type RelatedSystemIntake
- type RelatedTRBRequest
- type ReopenTRBRequestInput
- type RequestRelationType
- type Role
- type SIGRBReviewerRole
- type SIGRBReviewerVotingRole
- type SendCantFindSomethingEmailInput
- type SendFeedbackEmailInput
- type SendReportAProblemEmailInput
- type SendTRBGuidanceLetterInput
- type SetRolesForUserOnSystemInput
- type SetSystemIntakeRelationExistingServiceInput
- type SetSystemIntakeRelationExistingSystemInput
- type SetSystemIntakeRelationNewSystemInput
- type SetTRBRequestRelationExistingServiceInput
- type SetTRBRequestRelationExistingSystemInput
- type SetTRBRequestRelationNewSystemInput
- type SoftwareProductItem
- type StartGRBReviewInput
- type SubmitIntakeInput
- type SystemIntake
- type SystemIntakeAction
- type SystemIntakeActionActor
- type SystemIntakeActionType
- type SystemIntakeAnnualSpending
- type SystemIntakeAnnualSpendingInput
- type SystemIntakeBusinessOwner
- type SystemIntakeBusinessOwnerInput
- type SystemIntakeChangeLCIDRetirementDateInput
- type SystemIntakeCloseRequestInput
- type SystemIntakeCollaborator
- type SystemIntakeCollaboratorInput
- type SystemIntakeConfirmLCIDInput
- type SystemIntakeContact
- type SystemIntakeContactsPayload
- type SystemIntakeContract
- type SystemIntakeContractInput
- type SystemIntakeContractNumber
- func (cbr *SystemIntakeContractNumber) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (s SystemIntakeContractNumber) GetMappingKey() uuid.UUID
- func (s SystemIntakeContractNumber) GetMappingVal() *SystemIntakeContractNumber
- func (mbr *SystemIntakeContractNumber) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type SystemIntakeCosts
- type SystemIntakeCostsInput
- type SystemIntakeDecisionState
- type SystemIntakeDocument
- type SystemIntakeDocumentCommonType
- type SystemIntakeDocumentStatus
- type SystemIntakeDocumentType
- type SystemIntakeDocumentVersion
- type SystemIntakeExpireLCIDInput
- type SystemIntakeFormState
- type SystemIntakeFormStep
- type SystemIntakeFundingSource
- type SystemIntakeFundingSourceInput
- type SystemIntakeFundingSourcesInput
- type SystemIntakeGRBReviewer
- func (cbr *SystemIntakeGRBReviewer) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (r SystemIntakeGRBReviewer) GetMappingKey() uuid.UUID
- func (r SystemIntakeGRBReviewer) GetMappingVal() *SystemIntakeGRBReviewer
- func (mbr *SystemIntakeGRBReviewer) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (b *SystemIntakeGRBReviewer) UserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type SystemIntakeGRBReviewerComparisonResponse
- func (cbr *SystemIntakeGRBReviewerComparisonResponse) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (mbr *SystemIntakeGRBReviewerComparisonResponse) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (b *SystemIntakeGRBReviewerComparisonResponse) UserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type SystemIntakeGRBReviewerRole
- type SystemIntakeGRBReviewerVotingRole
- type SystemIntakeGovernanceTeam
- type SystemIntakeGovernanceTeamInput
- type SystemIntakeISSOInput
- type SystemIntakeIsso
- type SystemIntakeIssueLCIDInput
- type SystemIntakeLCIDExpirationChange
- type SystemIntakeLCIDStatus
- type SystemIntakeMeetingState
- type SystemIntakeNotITGovReqInput
- type SystemIntakeNote
- type SystemIntakeNoteAuthor
- type SystemIntakeProductManager
- type SystemIntakeProductManagerInput
- type SystemIntakeProgressToNewStepsInput
- type SystemIntakeRejectIntakeInput
- type SystemIntakeReopenRequestInput
- type SystemIntakeRequestEditsInput
- type SystemIntakeRequestType
- type SystemIntakeRequester
- type SystemIntakeRequesterInput
- type SystemIntakeRequesterWithComponentInput
- type SystemIntakeRetireLCIDInput
- type SystemIntakeSoftwareAcquisitionMethod
- type SystemIntakeSoftwareAcquisitionMethods
- type SystemIntakeState
- type SystemIntakeStatusAdmin
- type SystemIntakeStatusRequester
- type SystemIntakeStep
- type SystemIntakeStepToProgressTo
- type SystemIntakeSystem
- func (cbr *SystemIntakeSystem) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (s SystemIntakeSystem) GetMappingKey() uuid.UUID
- func (s SystemIntakeSystem) GetMappingVal() *SystemIntakeSystem
- func (mbr *SystemIntakeSystem) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type SystemIntakeTRBFollowUp
- type SystemIntakeUnretireLCIDInput
- type SystemIntakeUpdateLCIDInput
- type SystemIntakes
- type SystemIntakesByCedarSystemIDsRequest
- type SystemIntakesByCedarSystemIDsResponse
- type SystemMaintainerInformation
- type TRBAdminNote
- type TRBAdminNoteCategory
- type TRBAdminNoteCategorySpecificData
- type TRBAdminNoteConsultSessionCategoryData
- type TRBAdminNoteGeneralRequestCategoryData
- type TRBAdminNoteGuidanceLetterCategoryData
- type TRBAdminNoteInitialRequestFormCategoryData
- type TRBAdminNoteSupportingDocumentsCategoryData
- type TRBAdminNoteTRBGuidanceLetterRecommendationLink
- type TRBAdminNoteTRBRequestDocumentLink
- type TRBAttendConsultStatus
- type TRBAttendeeByTRBAndEUAIDRequest
- type TRBCollabGroupOption
- type TRBConsultPrepStatus
- type TRBDocumentCommonType
- type TRBFeedbackAction
- type TRBFeedbackStatus
- type TRBFormStatus
- type TRBFundingSource
- type TRBGuidanceLetter
- type TRBGuidanceLetterRecommendation
- type TRBGuidanceLetterRecommendationCategory
- type TRBGuidanceLetterStatus
- type TRBGuidanceLetterStatusTaskList
- type TRBLeadOption
- type TRBRequest
- type TRBRequestAttendee
- type TRBRequestContractNumber
- func (cbr *TRBRequestContractNumber) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (t TRBRequestContractNumber) GetMappingKey() uuid.UUID
- func (t TRBRequestContractNumber) GetMappingVal() *TRBRequestContractNumber
- func (mbr *TRBRequestContractNumber) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type TRBRequestDocument
- type TRBRequestDocumentStatus
- type TRBRequestDocumentType
- type TRBRequestFeedback
- type TRBRequestForm
- type TRBRequestState
- type TRBRequestStatus
- type TRBRequestSystem
- func (cbr *TRBRequestSystem) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (t TRBRequestSystem) GetMappingKey() uuid.UUID
- func (t TRBRequestSystem) GetMappingVal() *TRBRequestSystem
- func (mbr *TRBRequestSystem) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type TRBRequestSystemIntake
- type TRBRequestType
- type TRBRequestsByCedarSystemIDsRequest
- type TRBRequestsByCedarSystemIDsResponse
- type TRBSubjectAreaOption
- type TRBTaskStatuses
- type TRBWhereInProcessOption
- type UpdateSystemIntakeAdminLeadInput
- type UpdateSystemIntakeContactDetailsInput
- type UpdateSystemIntakeContactInput
- type UpdateSystemIntakeContractDetailsInput
- type UpdateSystemIntakeGRBReviewerInput
- type UpdateSystemIntakeLinkedCedarSystemInput
- type UpdateSystemIntakeNoteInput
- type UpdateSystemIntakePayload
- type UpdateSystemIntakeRequestDetailsInput
- type UpdateSystemIntakeReviewDatesInput
- type UpdateTRBGuidanceLetterRecommendationOrderInput
- type UpdateTRBRequestAttendeeInput
- type UpdateTRBRequestConsultMeetingTimeInput
- type UpdateTRBRequestFundingSourcesInput
- type UpdateTRBRequestTRBLeadInput
- type UserError
- type UserInfo
Constants ¶
const ( // BusinessCaseStatusOPEN captures enum value "OPEN" BusinessCaseStatusOPEN BusinessCaseStatus = "OPEN" // BusinessCaseStatusCLOSED captures enum value "CLOSED" BusinessCaseStatusCLOSED BusinessCaseStatus = "CLOSED" // LifecycleCostPhaseDEVELOPMENT captures enum value "Development" LifecycleCostPhaseDEVELOPMENT LifecycleCostPhase = "Development" // LifecycleCostPhaseOPERATIONMAINTENANCE captures enum value "Operations and Maintenance" LifecycleCostPhaseOPERATIONMAINTENANCE LifecycleCostPhase = "Operations and Maintenance" // LifecycleCostPhaseHELPDESK captures enum value "Help desk/call center" LifecycleCostPhaseHELPDESK LifecycleCostPhase = "Help desk/call center" // LifecycleCostPhaseSOFTWARE captures enum value "Software licenses" LifecycleCostPhaseSOFTWARE LifecycleCostPhase = "Software licenses" // LifecycleCostPhasePLANNING captures enum value "Planning, support, and professional services" LifecycleCostPhasePLANNING LifecycleCostPhase = "Planning, support, and professional services" // LifecycleCostPhaseINFRASTRUCTURE captures enum value "Infrastructure" LifecycleCostPhaseINFRASTRUCTURE LifecycleCostPhase = "Infrastructure" // LifecycleCostPhaseOIT captures enum value "OIT Services, tools, and pilots" LifecycleCostPhaseOIT LifecycleCostPhase = "OIT Services, tools, and pilots" // LifecycleCostPhaseOTHER captures enum value "Other" LifecycleCostPhaseOTHER LifecycleCostPhase = "Other" // LifecycleCostSolutionPREFERRED captures enum value "Preferred" LifecycleCostSolutionPREFERRED LifecycleCostSolution = "Preferred" // LifecycleCostSolutionA captures enum value "A" LifecycleCostSolutionA LifecycleCostSolution = "A" // LifecycleCostSolutionB captures enum value "B" LifecycleCostSolutionB LifecycleCostSolution = "B" // LifecycleCostYear1 captures enum value "1" LifecycleCostYear1 LifecycleCostYear = "1" // LifecycleCostYear2 captures enum value "2" LifecycleCostYear2 LifecycleCostYear = "2" // LifecycleCostYear3 captures enum value "3" LifecycleCostYear3 LifecycleCostYear = "3" // LifecycleCostYear4 captures enum value "4" LifecycleCostYear4 LifecycleCostYear = "4" // LifecycleCostYear5 captures enum value "5" LifecycleCostYear5 LifecycleCostYear = "5" )
const ( // SystemIntakeDocumentStatusAvailable means that the document passed the virus scanning SystemIntakeDocumentStatusAvailable SystemIntakeDocumentStatus = "AVAILABLE" // SystemIntakeDocumentStatusPending means that the document was just uploaded and hasn't yet been scanned for viruses SystemIntakeDocumentStatusPending SystemIntakeDocumentStatus = "PENDING" SystemIntakeDocumentStatusUnavailable SystemIntakeDocumentStatus = "UNAVAILABLE" // SystemIntakeDocumentCommonTypeSOOSOW means the document is an SOO or SOW SystemIntakeDocumentCommonTypeSOOSOW SystemIntakeDocumentCommonType = "SOO_SOW" // SystemIntakeDocumentCommonTypeDraftIGCE means the document is a draft IGCE SystemIntakeDocumentCommonTypeDraftIGCE SystemIntakeDocumentCommonType = "DRAFT_IGCE" // SystemIntakeDocumentCommonTypeACQPLANSTRAT means the document is an Acquisition Plan or Strategy SystemIntakeDocumentCommonTypeACQPLANSTRAT SystemIntakeDocumentCommonType = "ACQUISITION_PLAN_OR_STRATEGY" // SystemIntakeDocumentCommonTypeMEETINGMINS means the document is Meeting Minutes SystemIntakeDocumentCommonTypeMEETINGMINS SystemIntakeDocumentCommonType = "MEETING_MINUTES" // SystemIntakeDocumentCommonTypeRAF means the document is a Request for Add'l Funding SystemIntakeDocumentCommonTypeRAF SystemIntakeDocumentCommonType = "REQUEST_FOR_ADDITIONAL_FUNDING" // SystemIntakeDocumentCommonTypeSoftwareBOM means the document is a Software Bill of Materials SystemIntakeDocumentCommonTypeSoftwareBOM SystemIntakeDocumentCommonType = "SOFTWARE_BILL_OF_MATERIALS" // SystemIntakeDocumentCommonTypeDraftOther means the document is some type other than the common document types SystemIntakeDocumentCommonTypeDraftOther SystemIntakeDocumentCommonType = "OTHER" // SystemIntakeDocumentVersionCURRENT means the document is current and relevant to the request SystemIntakeDocumentVersionCURRENT SystemIntakeDocumentVersion = "CURRENT" // SystemIntakeDocumentVersionHISTORICAL means the doc is included for historical context SystemIntakeDocumentVersionHISTORICAL SystemIntakeDocumentVersion = "HISTORICAL" // RequesterUploaderRole signifies a Requester uploaded a document RequesterUploaderRole DocumentUploaderRole = "REQUESTER" // AdminUploaderRole signifies an Admin uploaded a document AdminUploaderRole DocumentUploaderRole = "ADMIN" )
const ( TRBRequestStatusNew = "NEW" TRBRequestStatusDraftRequestForm = "DRAFT_REQUEST_FORM" TRBRequestStatusRequestFormComplete = "REQUEST_FORM_COMPLETE" TRBRequestStatusReadyForConsult = "READY_FOR_CONSULT" TRBRequestStatusConsultScheduled = "CONSULT_SCHEDULED" TRBRequestStatusConsultComplete = "CONSULT_COMPLETE" TRBRequestStatusDraftGuidanceLetter = "DRAFT_GUIDANCE_LETTER" TRBRequestStatusGuidanceLetterInReview = "GUIDANCE_LETTER_IN_REVIEW" TRBRequestStatusGuidanceLetterSent = "GUIDANCE_LETTER_SENT" TRBRequestStatusFollowUpRequested = "FOLLOW_UP_REQUESTED" )
These are the possible values for TRBRequestStatus
const ( // TRBRequestDocumentStatusAvailable means that the document passed the virus scanning TRBRequestDocumentStatusAvailable TRBRequestDocumentStatus = "AVAILABLE" // TRBRequestDocumentStatusPending means that the document was just uploaded and hasn't yet been scanned for viruses TRBRequestDocumentStatusPending TRBRequestDocumentStatus = "PENDING" TRBRequestDocumentStatusUnavailable TRBRequestDocumentStatus = "UNAVAILABLE" // TRBRequestDocumentCommonTypeArchitectureDiagram means the document is an architecture diagram TRBRequestDocumentCommonTypeArchitectureDiagram TRBDocumentCommonType = "ARCHITECTURE_DIAGRAM" // TRBRequestDocumentCommonTypePresentationSlideDeck means the document is a presentation slide deck TRBRequestDocumentCommonTypePresentationSlideDeck TRBDocumentCommonType = "PRESENTATION_SLIDE_DECK" // TRBRequestDocumentCommonTypeBusinessCase means the document is a business case TRBRequestDocumentCommonTypeBusinessCase TRBDocumentCommonType = "BUSINESS_CASE" // TRBRequestDocumentCommonTypeOther means the document is some type other than the common document types TRBRequestDocumentCommonTypeOther TRBDocumentCommonType = "OTHER" )
Variables ¶
var AllRole = []Role{ RoleEasiGovteam, RoleEasiTrbAdmin, RoleEasiUser, }
var AllSystemIntakeActionType = []SystemIntakeActionType{ SystemIntakeActionTypeProgressToNewStep, SystemIntakeActionTypeRequestEdits, SystemIntakeActionTypeExpireLcid, SystemIntakeActionTypeNotGovernance, SystemIntakeActionTypeCloseRequest, SystemIntakeActionTypeReopenRequest, SystemIntakeActionTypeUpdateLcid, SystemIntakeActionTypeConfirmLcid, SystemIntakeActionTypeRetireLcid, SystemIntakeActionTypeUnretireLcid, SystemIntakeActionTypeChangeLcidRetirementDate, SystemIntakeActionTypeIssueLcid, SystemIntakeActionTypeSubmitIntake, SystemIntakeActionTypeReject, SystemIntakeActionTypeBizCaseNeedsChanges, SystemIntakeActionTypeCreateBizCase, SystemIntakeActionTypeGUIDEReceivedClose, SystemIntakeActionTypeExtendLcid, SystemIntakeActionTypeNeedBizCase, SystemIntakeActionTypeNoGovernanceNeeded, SystemIntakeActionTypeNotItRequest, SystemIntakeActionTypeNotRespondingClose, SystemIntakeActionTypeProvideFeedbackNeedBizCase, SystemIntakeActionTypeProvideGrtFeedbackBizCaseDraft, SystemIntakeActionTypeProvideGrtFeedbackBizCaseFinal, SystemIntakeActionTypeReadyForGrb, SystemIntakeActionTypeReadyForGrt, SystemIntakeActionTypeSendEmail, SystemIntakeActionTypeSubmitBizCase, SystemIntakeActionTypeSubmitFinalBizCase, }
var AllSystemIntakeFormStep = []SystemIntakeFormStep{ SystemIntakeFormStepInitialRequestForm, SystemIntakeFormStepDraftBusinessCase, SystemIntakeFormStepFinalBusinessCase, }
var AllSystemIntakeGRBReviewerRole = []SystemIntakeGRBReviewerRole{ SystemIntakeGRBReviewerRoleCoChairCio, SystemIntakeGRBReviewerRoleCoChairCfo, SystemIntakeGRBReviewerRoleCoChairHca, SystemIntakeGRBReviewerRoleAca3021Rep, SystemIntakeGRBReviewerRoleCciioRep, SystemIntakeGRBReviewerRoleProgramOperationsBdgChair, SystemIntakeGRBReviewerRoleCmcsRep, SystemIntakeGRBReviewerRoleFedAdminBdgChair, SystemIntakeGRBReviewerRoleProgramIntegrityBdgChair, SystemIntakeGRBReviewerRoleQioRep, SystemIntakeGRBReviewerRoleSubjectMatterExpert, SystemIntakeGRBReviewerRoleOther, }
var AllSystemIntakeGRBReviewerVotingRole = []SystemIntakeGRBReviewerVotingRole{ SystemIntakeGRBReviewerVotingRoleVoting, SystemIntakeGRBReviewerVotingRoleAlternate, SystemIntakeGRBReviewerVotingRoleNonVoting, }
var AllSystemIntakeSoftwareAcquisitionMethods = []SystemIntakeSoftwareAcquisitionMethods{ SystemIntakeSoftwareAcquisitionMethodsContractorFurnished, SystemIntakeSoftwareAcquisitionMethodsFedFurnished, SystemIntakeSoftwareAcquisitionMethodsElaOrInternal, SystemIntakeSoftwareAcquisitionMethodsNotYetDetermined, SystemIntakeSoftwareAcquisitionMethodsOther, }
var AllSystemIntakeStepToProgressTo = []SystemIntakeStepToProgressTo{ SystemIntakeStepToProgressToDraftBusinessCase, SystemIntakeStepToProgressToGrtMeeting, SystemIntakeStepToProgressToGrbMeeting, SystemIntakeStepToProgressToFinalBusinessCase, }
var AllTRBGuidanceLetterRecommendationCategory = []TRBGuidanceLetterRecommendationCategory{ TRBGuidanceLetterRecommendationCategoryRequirement, TRBGuidanceLetterRecommendationCategoryRecommendation, TRBGuidanceLetterRecommendationCategoryConsideration, TRBGuidanceLetterRecommendationCategoryUncategorized, }
Functions ¶
func ContainsAllIDs ¶
func ContainsAllIDs[BS IBaseStruct](models []BS, ids []uuid.UUID) bool
ContainsAllIDs checks if the IDs from a slice of BaseStructs contain all the given IDs
func ConvertEnums ¶
func ConvertEnums[EnumType ~string](pqGroups pq.StringArray) []EnumType
ConvertEnums converts a pq.StringArray to specific, castable type
func EmailAddressesToStringPtrs ¶
func EmailAddressesToStringPtrs(addresses []EmailAddress) []*string
EmailAddressesToStringPtrs converts a slice of EmailAddresses to a slice of string pointers
func EmailAddressesToStrings ¶
func EmailAddressesToStrings(addresses []EmailAddress) []string
EmailAddressesToStrings converts a slice of EmailAddresses to a slice of string values
func MarshalUUID ¶
MarshalUUID allows uuid to be marshalled by graphql
func NewUserIDRelation ¶
NewUserIDRelation returns a user ID relation object
func StringsFromZeroStrs ¶
func UnmarshalNullBool ¶
func UnmarshalNullFloat ¶
func UnmarshalNullInt ¶
func UnmarshalNullString ¶
func UnmarshalUUID ¶
UnmarshalUUID allows uuid to be unmarshalled by graphql
func UnmarshalZeroBool ¶
func UnmarshalZeroFloat ¶
func UnmarshalZeroInt ¶
func UnmarshalZeroString ¶
func UnmarshalZeroTime ¶
func ZeroStringsFrom ¶
Types ¶
type Action ¶
type Action struct { ID uuid.UUID `json:"id"` IntakeID *uuid.UUID `db:"intake_id"` BusinessCaseID *uuid.UUID `db:"business_case_id"` ActionType ActionType `json:"actionType" db:"action_type"` ActorName string `json:"actorName" db:"actor_name"` ActorEmail EmailAddress `json:"actorEmail" db:"actor_email"` ActorEUAUserID string `json:"actorEuaUserId" db:"actor_eua_user_id"` Feedback *HTML `json:"feedback"` // Feedback to requestor sent via email Step *SystemIntakeStep `json:"step" db:"step"` // optional to account for previous actions that didn't save Step information CreatedAt *time.Time `json:"createdAt" db:"created_at"` LCIDExpirationChangeNewDate *time.Time `db:"lcid_expiration_change_new_date"` LCIDExpirationChangePreviousDate *time.Time `db:"lcid_expiration_change_previous_date"` LCIDExpirationChangeNewScope *HTML `db:"lcid_expiration_change_new_scope"` LCIDExpirationChangePreviousScope *HTML `db:"lcid_expiration_change_previous_scope"` LCIDExpirationChangeNewNextSteps *HTML `db:"lcid_expiration_change_new_next_steps"` LCIDExpirationChangePreviousNextSteps *HTML `db:"lcid_expiration_change_previous_next_steps"` LCIDExpirationChangeNewCostBaseline null.String `db:"lcid_expiration_change_new_cost_baseline"` LCIDExpirationChangePreviousCostBaseline null.String `db:"lcid_expiration_change_previous_cost_baseline"` LCIDRetirementChangeNewDate *time.Time `json:"newRetirementDate" db:"lcid_retirement_change_new_date"` LCIDRetirementChangePreviousDate *time.Time `json:"previousRetirementDate" db:"lcid_retirement_change_previous_date"` }
Action is the model for an action on a system intake
func (Action) GetMappingKey ¶
func (Action) GetMappingVal ¶
type ActionType ¶
type ActionType string
ActionType represents type of action
const ( ActionTypePROGRESSTONEWSTEP ActionType = "PROGRESS_TO_NEW_STEP" ActionTypeEXPIRELCID ActionType = "EXPIRE_LCID" ActionTypeUPDATELCID ActionType = "UPDATE_LCID" ActionTypeCONFIRMLCID ActionType = "CONFIRM_LCID" ActionTypeREQUESTEDITS ActionType = "REQUEST_EDITS" ActionTypeCLOSEREQUEST ActionType = "CLOSE_REQUEST" ActionTypeREOPENREQUEST ActionType = "REOPEN_REQUEST" ActionTypeNOTITGOVREQUEST ActionType = "NOT_GOVERNANCE" ActionTypeRETIRELCID ActionType = "RETIRE_LCID" ActionTypeUNRETIRELCID ActionType = "UNRETIRE_LCID" ActionTypeCHANGELCIDRETIREMENTDATE ActionType = "CHANGE_LCID_RETIREMENT_DATE" )
IT Gov v2 actions
const ( ActionTypeISSUELCID ActionType = "ISSUE_LCID" ActionTypeREJECT ActionType = "REJECT" ActionTypeSUBMITINTAKE ActionType = "SUBMIT_INTAKE" )
v1/v2 actions - originally from v1, still used in IT Gov v2
const ( // ActionTypeNOTITREQUEST captures enum value NOT_IT_REQUEST ActionTypeNOTITREQUEST ActionType = "NOT_IT_REQUEST" // ActionTypeNEEDBIZCASE captures enum value NEED_BIZ_CASE ActionTypeNEEDBIZCASE ActionType = "NEED_BIZ_CASE" // ActionTypeREADYFORGRT captures enum value READY_FOR_GRT ActionTypeREADYFORGRT ActionType = "READY_FOR_GRT" // ActionTypeREADYFORGRB captures enum value READY_FOR_GRB ActionTypeREADYFORGRB ActionType = "READY_FOR_GRB" // ActionTypePROVIDEFEEDBACKNEEDBIZCASE captures enum value PROVIDE_FEEDBACK_NEED_BIZ_CASE ActionTypePROVIDEFEEDBACKNEEDBIZCASE ActionType = "PROVIDE_FEEDBACK_NEED_BIZ_CASE" // ActionTypeEXTENDLCID captures enum value EXTEND_LCID ActionTypeEXTENDLCID ActionType = "EXTEND_LCID" // ActionTypeCREATEBIZCASE captures enum value CREATE_BIZ_CASE ActionTypeCREATEBIZCASE ActionType = "CREATE_BIZ_CASE" // ActionTypeSUBMITBIZCASE captures enum value SUBMIT_BIZ_CASE ActionTypeSUBMITBIZCASE ActionType = "SUBMIT_BIZ_CASE" // ActionTypeSUBMITFINALBIZCASE captures enum value SUBMIT_FINAL_BIZ_CASE ActionTypeSUBMITFINALBIZCASE ActionType = "SUBMIT_FINAL_BIZ_CASE" // ActionTypeBIZCASENEEDSCHANGES captures enum value BIZ_CASE_NEEDS_CHANGES ActionTypeBIZCASENEEDSCHANGES ActionType = "BIZ_CASE_NEEDS_CHANGES" // ActionTypePROVIDEFEEDBACKBIZCASENEEDSCHANGES captures enum value PROVIDE_GRT_FEEDBACK_BIZ_CASE_DRAFT ActionTypePROVIDEFEEDBACKBIZCASENEEDSCHANGES ActionType = "PROVIDE_GRT_FEEDBACK_BIZ_CASE_DRAFT" // ActionTypePROVIDEFEEDBACKBIZCASEFINAL captures enum value PROVIDE_GRT_FEEDBACK_BIZ_CASE_FINAL ActionTypePROVIDEFEEDBACKBIZCASEFINAL ActionType = "PROVIDE_GRT_FEEDBACK_BIZ_CASE_FINAL" // ActionTypeNOGOVERNANCENEEDED captures enum value NO_GOVERNANCE_NEEDED ActionTypeNOGOVERNANCENEEDED ActionType = "NO_GOVERNANCE_NEEDED" // ActionTypeSENDEMAIL captures enum value SEND_EMAIL ActionTypeSENDEMAIL ActionType = "SEND_EMAIL" // ActionTypeGUIDERECEIVEDCLOSE captures enum value GUIDE_RECEIVED_CLOSE ActionTypeGUIDERECEIVEDCLOSE ActionType = "GUIDE_RECEIVED_CLOSE" // ActionTypeNOTRESPONDINGCLOSE captures enum value NOT_RESPONDING_CLOSE ActionTypeNOTRESPONDINGCLOSE ActionType = "NOT_RESPONDING_CLOSE" )
v1 actions - no longer used in IT Gov v2 workflow
type AugmentedSystemIntakeContact ¶
type AugmentedSystemIntakeContact struct { SystemIntakeContact CommonName string `json:"commonName"` Email EmailAddress `json:"email"` }
AugmentedSystemIntakeContact enhances SystemIntakeContact with user info fetched from CEDAR
type BaseStruct ¶
type BaseStruct struct { ID uuid.UUID `json:"id" db:"id"` CreatedBy string `json:"createdBy" db:"created_by"` CreatedAt time.Time `json:"createdAt" db:"created_at"` ModifiedBy *string `json:"modifiedBy" db:"modified_by"` ModifiedAt *time.Time `json:"modifiedAt" db:"modified_at"` }
BaseStruct represents the shared data in common betwen all models
func NewBaseStruct ¶
func NewBaseStruct(createdBy string) BaseStruct
NewBaseStruct returns a base struct object
func (*BaseStruct) GetBaseStruct ¶
func (b *BaseStruct) GetBaseStruct() *BaseStruct
GetBaseStruct returns the Base Struct
func (BaseStruct) GetCreatedBy ¶
func (b BaseStruct) GetCreatedBy() string
GetCreatedBy implements the CreatedBy property
func (BaseStruct) GetID ¶
func (b BaseStruct) GetID() uuid.UUID
GetID returns the ID property for a PlanBasics struct
func (BaseStruct) GetModifiedBy ¶
func (b BaseStruct) GetModifiedBy() *string
GetModifiedBy returns the ModifiedBy property for a PlanBasics struct
func (*BaseStruct) SetModifiedBy ¶
func (b *BaseStruct) SetModifiedBy(principal authentication.Principal) error
SetModifiedBy sets the modifiedBy information based off a Principal object
type BaseStructUser ¶
type BaseStructUser struct { ID uuid.UUID `json:"id" db:"id"` // contains filtered or unexported fields }
BaseStructUser represents the shared data in common betwen all models
func NewBaseStructUser ¶
func NewBaseStructUser(createdBy uuid.UUID) BaseStructUser
NewBaseStructUser returns a base struct object
func (*BaseStructUser) CreatedByUserAccount ¶
func (cbr *BaseStructUser) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
CreatedByUserAccount returns the user account of the user who created the struct from the DB using the UserAccount service
func (*BaseStructUser) GetBaseStruct ¶
func (b *BaseStructUser) GetBaseStruct() *BaseStructUser
GetBaseStruct returns the Base Struct User Object
func (BaseStructUser) GetCreatedBy ¶
func (b BaseStructUser) GetCreatedBy() string
GetCreatedBy implements the CreatedBy property
func (BaseStructUser) GetID ¶
func (b BaseStructUser) GetID() uuid.UUID
GetID returns the ID property for a PlanBasics struct
func (BaseStructUser) GetModifiedBy ¶
func (b BaseStructUser) GetModifiedBy() *string
GetModifiedBy returns the ModifiedBy property for a PlanBasics struct
func (*BaseStructUser) ModifiedByUserAccount ¶
func (mbr *BaseStructUser) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
ModifiedByUserAccount returns the user account of the user who modified the struct from the DB using the UserAccount service
type BookmarkRequest ¶
type BookmarkRequest struct { CedarSystemID string `db:"cedar_system_id"` EuaUserID string `db:"eua_user_id"` }
BookmarkRequest is used to retrieve a CEDAR system bookmark from the DB. It does not contain `CreatedAt` like the above
type BudgetActualCost ¶
type BusinessCase ¶
type BusinessCase struct { ID uuid.UUID `json:"id"` EUAUserID string `json:"euaUserId" db:"eua_user_id"` SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake"` Status BusinessCaseStatus `json:"status"` ProjectName null.String `json:"projectName" db:"project_name"` Requester null.String `json:"requester"` RequesterPhoneNumber null.String `json:"requesterPhoneNumber" db:"requester_phone_number"` BusinessOwner null.String `json:"businessOwner" db:"business_owner"` BusinessNeed null.String `json:"businessNeed" db:"business_need"` CurrentSolutionSummary null.String `json:"currentSolutionSummary" db:"current_solution_summary"` CMSBenefit null.String `json:"cmsBenefit" db:"cms_benefit"` PriorityAlignment null.String `json:"priorityAlignment" db:"priority_alignment"` SuccessIndicators null.String `json:"successIndicators" db:"success_indicators"` PreferredTitle null.String `json:"preferredTitle" db:"preferred_title"` PreferredSummary null.String `json:"preferredSummary" db:"preferred_summary"` PreferredAcquisitionApproach null.String `json:"preferredAcquisitionApproach" db:"preferred_acquisition_approach"` PreferredSecurityIsApproved null.Bool `json:"preferredSecurityIsApproved" db:"preferred_security_is_approved"` PreferredSecurityIsBeingReviewed null.String `json:"preferredSecurityIsBeingReviewed" db:"preferred_security_is_being_reviewed"` PreferredHostingType null.String `json:"preferredHostingType" db:"preferred_hosting_type"` PreferredHostingLocation null.String `json:"preferredHostingLocation" db:"preferred_hosting_location"` PreferredHostingCloudServiceType null.String `json:"preferredHostingCloudServiceType" db:"preferred_hosting_cloud_service_type"` PreferredHasUI null.String `json:"preferredHasUI" db:"preferred_has_ui"` PreferredPros null.String `json:"preferredPros" db:"preferred_pros"` PreferredCons null.String `json:"preferredCons" db:"preferred_cons"` PreferredCostSavings null.String `json:"preferredCostSavings" db:"preferred_cost_savings"` AlternativeATitle null.String `json:"alternativeATitle" db:"alternative_a_title"` AlternativeASummary null.String `json:"alternativeASummary" db:"alternative_a_summary"` AlternativeAAcquisitionApproach null.String `json:"alternativeAAcquisitionApproach" db:"alternative_a_acquisition_approach"` AlternativeASecurityIsApproved null.Bool `json:"alternativeASecurityIsApproved" db:"alternative_a_security_is_approved"` AlternativeASecurityIsBeingReviewed null.String `json:"alternativeASecurityIsBeingReviewed" db:"alternative_a_security_is_being_reviewed"` AlternativeAHostingType null.String `json:"alternativeAHostingType" db:"alternative_a_hosting_type"` AlternativeAHostingLocation null.String `json:"alternativeAHostingLocation" db:"alternative_a_hosting_location"` AlternativeAHostingCloudServiceType null.String `json:"alternativeAHostingCloudServiceType" db:"alternative_a_hosting_cloud_service_type"` AlternativeAHasUI null.String `json:"alternativeAHasUI" db:"alternative_a_has_ui"` AlternativeAPros null.String `json:"alternativeAPros" db:"alternative_a_pros"` AlternativeACons null.String `json:"alternativeACons" db:"alternative_a_cons"` AlternativeACostSavings null.String `json:"alternativeACostSavings" db:"alternative_a_cost_savings"` AlternativeBTitle null.String `json:"alternativeBTitle" db:"alternative_b_title"` AlternativeBSummary null.String `json:"alternativeBSummary" db:"alternative_b_summary"` AlternativeBAcquisitionApproach null.String `json:"alternativeBAcquisitionApproach" db:"alternative_b_acquisition_approach"` AlternativeBSecurityIsApproved null.Bool `json:"alternativeBSecurityIsApproved" db:"alternative_b_security_is_approved"` AlternativeBSecurityIsBeingReviewed null.String `json:"alternativeBSecurityIsBeingReviewed" db:"alternative_b_security_is_being_reviewed"` AlternativeBHostingType null.String `json:"alternativeBHostingType" db:"alternative_b_hosting_type"` AlternativeBHostingLocation null.String `json:"alternativeBHostingLocation" db:"alternative_b_hosting_location"` AlternativeBHostingCloudServiceType null.String `json:"alternativeBHostingCloudServiceType" db:"alternative_b_hosting_cloud_service_type"` AlternativeBHasUI null.String `json:"alternativeBHasUI" db:"alternative_b_has_ui"` AlternativeBPros null.String `json:"alternativeBPros" db:"alternative_b_pros"` AlternativeBCons null.String `json:"alternativeBCons" db:"alternative_b_cons"` AlternativeBCostSavings null.String `json:"alternativeBCostSavings" db:"alternative_b_cost_savings"` CreatedAt *time.Time `json:"createdAt" db:"created_at"` UpdatedAt *time.Time `json:"updatedAt" db:"updated_at"` ArchivedAt *time.Time `db:"archived_at"` // TODO: these fields are unused in GQL Schema but still exist as DB columns. // Write a migration to drop these columns // See https://jiraent.cms.gov/browse/EASI-1693 InitialSubmittedAt *time.Time `json:"initialSubmittedAt" db:"initial_submitted_at"` LastSubmittedAt *time.Time `json:"lastSubmittedAt" db:"last_submitted_at"` }
BusinessCase is the model for the business case form.
func (BusinessCase) GetMappingKey ¶
func (b BusinessCase) GetMappingKey() uuid.UUID
func (BusinessCase) GetMappingVal ¶
func (b BusinessCase) GetMappingVal() *BusinessCase
type BusinessCaseSolution ¶
type BusinessCaseSolution struct { AcquisitionApproach *string `json:"acquisitionApproach,omitempty"` Cons *string `json:"cons,omitempty"` CostSavings *string `json:"costSavings,omitempty"` HasUI *string `json:"hasUi,omitempty"` HostingCloudServiceType *string `json:"hostingCloudServiceType,omitempty"` HostingLocation *string `json:"hostingLocation,omitempty"` HostingType *string `json:"hostingType,omitempty"` Pros *string `json:"pros,omitempty"` SecurityIsApproved *bool `json:"securityIsApproved,omitempty"` SecurityIsBeingReviewed *string `json:"securityIsBeingReviewed,omitempty"` Summary *string `json:"summary,omitempty"` Title *string `json:"title,omitempty"` }
A solution proposal within a business case
type BusinessCaseStatus ¶
type BusinessCaseStatus string
BusinessCaseStatus represents the status of a system intake
type BusinessCaseWithCosts ¶
type BusinessCaseWithCosts struct { BusinessCase LifecycleCostLines EstimatedLifecycleCosts `json:"lifecycleCostLines" db:"lifecycle_cost_lines"` }
BusinessCaseWithCosts is a helper to allow for legacy REST code to function that combines lifecycle costs with the business case model
type BusinessCases ¶
type BusinessCases []BusinessCase
BusinessCases is the model for a list of business cases
type BusinessOwnerInformation ¶
type BusinessOwnerInformation struct { BeneficiaryAddressPurpose []zero.String `json:"beneficiaryAddressPurpose"` BeneficiaryAddressPurposeOther zero.String `json:"beneficiaryAddressPurposeOther"` BeneficiaryAddressSource []zero.String `json:"beneficiaryAddressSource"` BeneficiaryAddressSourceOther zero.String `json:"beneficiaryAddressSourceOther"` BeneficiaryInformation []zero.String `json:"beneficiaryInformation"` CostPerYear zero.String `json:"costPerYear"` EditBeneficiaryInformation bool `json:"editBeneficiaryInformation,omitempty"` IsCmsOwned bool `json:"isCmsOwned"` Nr508UserInterface zero.String `json:"nr508UserInterface,omitempty"` NumberOfContractorFte zero.String `json:"numberOfContractorFte"` NumberOfFederalFte zero.String `json:"numberOfFederalFte"` NumberOfSupportedUsersPerMonth zero.String `json:"numberOfSupportedUsersPerMonth"` StoresBankingData bool `json:"storesBankingData"` StoresBeneficiaryAddress bool `json:"storesBeneficiaryAddress"` }
BusinessOwnerInformation contains information about the business owner for a CEDAR system
type CedarAssigneeType ¶
type CedarAssigneeType string
CedarAssigneeType represents the possible types of assignees that can receive roles
const ( // PersonAssignee represents a person that's been assigned a role PersonAssignee CedarAssigneeType = "PERSON" // OrganizationAssignee represents an organization that's been assigned a role OrganizationAssignee CedarAssigneeType = "ORGANIZATION" )
these values need to be in all-caps so that they match the GraphQL enum and match the frontend types generated from the GQL schema
type CedarAuthorityToOperate ¶
type CedarAuthorityToOperate struct { // always-present fields CedarID zero.String `json:"cedarId"` UUID zero.String `json:"uuid"` SystemOfRecordsNotice []zero.String `json:"systemOfRecordsNotice"` // possibly-null fields ActualDispositionDate zero.Time `json:"actualDispositionDate"` ContainsPersonallyIdentifiableInformation bool `json:"containsPersonallyIdentifiableInformation"` CountOfTotalNonPrivilegedUserPopulation int `json:"countOfTotalNonPrivilegedUserPopulation"` CountOfOpenPoams int `json:"countOfOpenPoams"` CountOfTotalPrivilegedUserPopulation int `json:"countOfTotalPrivilegedUserPopulation"` DateAuthorizationMemoExpires zero.Time `json:"dateAuthorizationMemoExpires"` DateAuthorizationMemoSigned zero.Time `json:"dateAuthorizationMemoSigned"` EAuthenticationLevel zero.String `json:"eAuthenticationLevel"` Fips199OverallImpactRating int `json:"fips199OverallImpactRating"` FismaSystemAcronym zero.String `json:"fismaSystemAcronym"` FismaSystemName zero.String `json:"fismaSystemName"` IsAccessedByNonOrganizationalUsers bool `json:"isAccessedByNonOrganizationalUsers"` IsPiiLimitedToUserNameAndPass bool `json:"isPiiLimitedToUserNameAndPass"` IsProtectedHealthInformation bool `json:"isProtectedHealthInformation"` LastActScaDate zero.Time `json:"lastActScaDate"` LastAssessmentDate zero.Time `json:"lastAssessmentDate"` LastContingencyPlanCompletionDate zero.Time `json:"lastContingencyPlanCompletionDate"` LastPenTestDate zero.Time `json:"lastPenTestDate"` PiaCompletionDate zero.Time `json:"piaCompletionDate"` PrimaryCyberRiskAdvisor zero.String `json:"primaryCyberRiskAdvisor"` PrivacySubjectMatterExpert zero.String `json:"privacySubjectMatterExpert"` RecoveryPointObjective float64 `json:"recoveryPointObjective"` RecoveryTimeObjective float64 `json:"recoveryTimeObjective"` TLCPhase zero.String `json:"tlcPhase"` XLCPhase zero.String `json:"xlcPhase"` }
CedarAuthorityToOperate is the model for ATO information that comes back from the CEDAR Core API
type CedarBudget ¶
type CedarBudget struct { FiscalYear zero.String `json:"fiscalYear,omitempty"` Funding zero.String `json:"funding,omitempty"` FundingID zero.String `json:"fundingId,omitempty"` FundingSource zero.String `json:"fundingSource,omitempty"` ID zero.String `json:"id,omitempty"` Name zero.String `json:"name,omitempty"` ProjectID zero.String `json:"projectId"` ProjectTitle zero.String `json:"projectTitle,omitempty"` SystemID zero.String `json:"systemId,omitempty"` }
type CedarBudgetActualCost ¶
type CedarBudgetActualCost struct { ActualSystemCost *string `json:"actualSystemCost,omitempty"` FiscalYear *string `json:"fiscalYear,omitempty"` SystemID *string `json:"systemId,omitempty"` }
CedarBudgetActualCost represents an individual budget actual cost item; this information is returned from the CEDAR Core API as a part of the CedarBudgetSystemCost object
type CedarBudgetSystemCost ¶
type CedarBudgetSystemCost struct { // Always present fields BudgetActualCosts []*BudgetActualCost `json:"budgetActualCosts"` }
type CedarBusinessOwnerInformation ¶
type CedarBusinessOwnerInformation struct { BeneficiaryAddressPurpose []string `json:"beneficiaryAddressPurpose"` BeneficiaryAddressPurposeOther *string `json:"beneficiaryAddressPurposeOther,omitempty"` BeneficiaryAddressSource []string `json:"beneficiaryAddressSource"` BeneficiaryAddressSourceOther *string `json:"beneficiaryAddressSourceOther,omitempty"` BeneficiaryInformation []string `json:"beneficiaryInformation"` CostPerYear *string `json:"costPerYear,omitempty"` EditBeneficiaryInformation *bool `json:"editBeneficiaryInformation,omitempty"` IsCmsOwned *bool `json:"isCmsOwned,omitempty"` Nr508UserInterface *string `json:"nr508UserInterface,omitempty"` NumberOfContractorFte *string `json:"numberOfContractorFte,omitempty"` NumberOfFederalFte *string `json:"numberOfFederalFte,omitempty"` NumberOfSupportedUsersPerMonth *string `json:"numberOfSupportedUsersPerMonth,omitempty"` StoresBankingData *bool `json:"storesBankingData,omitempty"` StoresBeneficiaryAddress *bool `json:"storesBeneficiaryAddress,omitempty"` }
BusinessOwnerInformation contains information about the business owner for a CEDAR system
type CedarContract ¶
type CedarContract struct { EndDate zero.Time `json:"endDate,omitempty"` StartDate zero.Time `json:"startDate,omitempty"` ContractNumber zero.String `json:"contractNumber"` ContractName zero.String `json:"contractName,omitempty"` Description zero.String `json:"description,omitempty"` OrderNumber zero.String `json:"orderNumber,omitempty"` ServiceProvided zero.String `json:"serviceProvided,omitempty"` IsDeliveryOrg bool `json:"isDeliveryOrg"` SystemID zero.String `json:"systemId,omitempty"` }
type CedarDataCenter ¶
type CedarDataCenter struct { ID zero.String Name zero.String Version zero.String Description zero.String State zero.String // example: "Active" - NOT geographical state Status zero.String StartDate zero.Time EndDate zero.Time // address components Address1 zero.String Address2 zero.String City zero.String AddressState zero.String Zip zero.String }
CedarDataCenter represents a single DataCenter object returned from the CEDAR API
type CedarDataCenter2 ¶
type CedarDataCenter2 struct { Address1 zero.String `json:"address1,omitempty"` Address2 zero.String `json:"address2,omitempty"` AddressState zero.String `json:"addressState,omitempty"` City zero.String `json:"city,omitempty"` Description zero.String `json:"description,omitempty"` EndDate zero.Time `json:"endDate,omitempty"` ID zero.String `json:"id,omitempty"` Name zero.String `json:"name,omitempty"` StartDate zero.Time `json:"startDate,omitempty"` State zero.String `json:"state,omitempty"` Status zero.String `json:"status,omitempty"` Version zero.String `json:"version,omitempty"` Zip zero.String `json:"zip,omitempty"` }
type CedarDeployment ¶
type CedarDeployment struct { // always-present fields ID zero.String Name zero.String SystemID zero.String // possibly-null fields StartDate zero.Time EndDate zero.Time IsHotSite zero.String // currently echoes CEDAR data exactly. in the future, this could potentially be nullable Bool; sample values from CEDAR seem to be "Yes" or null Description zero.String ContractorName zero.String SystemVersion zero.String HasProductionData zero.String // currently echoes CEDAR data exactly. in the future, this could potentially be nullable Bool; sample values from CEDAR seem to be "Yes" or null ReplicatedSystemElements []string DeploymentType zero.String SystemName zero.String DeploymentElementID zero.String State zero.String Status zero.String WanType zero.String DataCenter *CedarDataCenter }
CedarDeployment represents a single Deployment object returned from the CEDAR API
type CedarExchange ¶
type CedarExchange struct { ConnectionFrequency []zero.String `json:"connectionFrequency"` ContainsBankingData bool `json:"containsBankingData,omitempty"` ContainsBeneficiaryAddress bool `json:"containsBeneficiaryAddress,omitempty"` ContainsPhi bool `json:"containsPhi,omitempty"` ContainsPii bool `json:"containsPii,omitempty"` ContainsHealthDisparityData bool `json:"containsHealthDisparityData,omitempty"` DataExchangeAgreement zero.String `json:"dataExchangeAgreement,omitempty"` DataFormat zero.String `json:"dataFormat,omitempty"` DataFormatOther zero.String `json:"dataFormatOther,omitempty"` ExchangeDescription zero.String `json:"exchangeDescription,omitempty"` ExchangeEndDate zero.Time `json:"exchangeEndDate,omitempty"` ExchangeID zero.String `json:"exchangeId,omitempty"` ExchangeName zero.String `json:"exchangeName,omitempty"` ExchangeRetiredDate zero.Time `json:"exchangeRetiredDate,omitempty"` ExchangeStartDate zero.Time `json:"exchangeStartDate,omitempty"` ExchangeState zero.String `json:"exchangeState,omitempty"` ExchangeVersion zero.String `json:"exchangeVersion,omitempty"` ExchangeDirection ExchangeDirection `json:"exchangeDirection,omitempty"` FromOwnerID zero.String `json:"fromOwnerId,omitempty"` FromOwnerName zero.String `json:"fromOwnerName,omitempty"` FromOwnerType zero.String `json:"fromOwnerType,omitempty"` IsBeneficiaryMailingFile bool `json:"isBeneficiaryMailingFile,omitempty"` NumOfRecords zero.String `json:"numOfRecords,omitempty"` ToOwnerID zero.String `json:"toOwnerId,omitempty"` ToOwnerName zero.String `json:"toOwnerName,omitempty"` ToOwnerType zero.String `json:"toOwnerType,omitempty"` TypeOfData []*CedarExchangeTypeOfDataItem `json:"typeOfData"` }
CedarExchange contains information about how data is exchanged between a CEDAR system and another system
type CedarExchangeTypeOfDataItem ¶
type CedarExchangeTypeOfDataItem struct { ID zero.String `json:"id,omitempty"` Name zero.String `json:"name,omitempty"` }
CedarExchangeTypeOfDataItem is one item of the TypeofData slice in a CedarExchange
type CedarRole ¶
type CedarRole struct { // always-present fields Application zero.String // should always be "alfabet" ObjectID zero.String // ID of the system that the role is assigned to RoleTypeID zero.String // possibly-null fields AssigneeType *CedarAssigneeType AssigneeUsername zero.String AssigneeEmail zero.String AssigneeOrgID zero.String AssigneeOrgName zero.String AssigneeFirstName zero.String AssigneeLastName zero.String AssigneePhone zero.String AssigneeDesc zero.String RoleTypeName zero.String RoleTypeDesc zero.String RoleID zero.String ObjectType zero.String }
CedarRole is the model for the role that a user holds for some system
type CedarRoleNameType ¶
type CedarRoleNameType string
const ( AIContactRole CedarRoleNameType = "AI Contact" APIContactRole CedarRoleNameType = "API Contact" BudgetAnalystRole CedarRoleNameType = "Budget Analyst" BusinessOwnerRole CedarRoleNameType = "Business Owner" CORRole CedarRoleNameType = "Contracting Officer's Representative (COR)" DataCenterContactRole CedarRoleNameType = "Data Center Contact" ISSORole CedarRoleNameType = "ISSO" GovernmentTaskLeadRole CedarRoleNameType = "Government Task Lead (GTL)" ProjectLeadRole CedarRoleNameType = "Project Lead" SubjectMatterExpertRole CedarRoleNameType = "Subject Matter Expert (SME)" SupportStaffRole CedarRoleNameType = "Support Staff" SurveyPointOfContactRole CedarRoleNameType = "Survey Point of Contact" SystemBusinessQuestionContactRole CedarRoleNameType = "Business Question Contact" SystemDataCenterContactRole CedarRoleNameType = "Data Center Contact" SystemIssuesContactRole CedarRoleNameType = "System Issues Contact" SystemMaintainerRole CedarRoleNameType = "System Maintainer" TechnicalSystemIssuesContactRole CedarRoleNameType = "Technical System Issues Contact" )
func (CedarRoleNameType) String ¶
func (c CedarRoleNameType) String() string
type CedarRoleType ¶
type CedarRoleType struct { // always-present fields ID zero.String Application zero.String // should always be "alfabet" Name zero.String // possibly-null fields Description zero.String }
CedarRoleType is the model for a type of role that a user or organization can hold for some system, i.e. "Business Owner" or "Project Lead"
type CedarSoftwareProductItem ¶
type CedarSoftwareProductItem struct { APIGatewayUse *bool `json:"apiGatewayUse,omitempty"` ElaPurchase *string `json:"elaPurchase,omitempty"` ElaVendorID *string `json:"elaVendorId,omitempty"` ProvidesAiCapability *bool `json:"providesAiCapability,omitempty"` Refstr *string `json:"refstr,omitempty"` SoftwareCatagoryConnectionGUID *string `json:"softwareCatagoryConnectionGuid,omitempty"` SoftwareVendorConnectionGUID *string `json:"softwareVendorConnectionGuid,omitempty"` SoftwareCost *string `json:"softwareCost,omitempty"` SoftwareElaOrganization *string `json:"softwareElaOrganization,omitempty"` SoftwareName *string `json:"softwareName,omitempty"` SystemSoftwareConnectionGUID *string `json:"systemSoftwareConnectionGuid,omitempty"` TechnopediaCategory *string `json:"technopediaCategory,omitempty"` TechnopediaID *string `json:"technopediaID,omitempty"` VendorName *string `json:"vendorName,omitempty"` }
CedarSoftwareProductItem represents an individual software product; this information is returned from the CEDAR Core API as a part of the CedarSoftwareProducts object
type CedarSoftwareProducts ¶
type CedarSoftwareProducts struct { // Always present fields AiSolnCatg []zero.String `json:"aiSolnCatg"` APIDataArea []zero.String `json:"apiDataArea"` SoftwareProducts []*SoftwareProductItem `json:"softwareProducts"` // Possibly null fields AISolnCatgOther zero.String `json:"aiSolnCatgOther,omitempty"` APIDescPubLocation zero.String `json:"apiDescPubLocation,omitempty"` APIDescPublished zero.String `json:"apiDescPublished,omitempty"` APIFHIRUse zero.String `json:"apiFHIRUse,omitempty"` APIFHIRUseOther zero.String `json:"apiFHIRUseOther,omitempty"` APIHasPortal bool `json:"apiHasPortal,omitempty"` ApisAccessibility zero.String `json:"apisAccessibility,omitempty"` ApisDeveloped zero.String `json:"apisDeveloped,omitempty"` DevelopmentStage zero.String `json:"developmentStage,omitempty"` SystemHasAPIGateway bool `json:"systemHasApiGateway,omitempty"` UsesAiTech zero.String `json:"usesAiTech,omitempty"` }
CedarSoftwareProducts represents a single SoftwareProduct object returned from the CEDAR API
type CedarSubSystem ¶
type CedarSystem ¶
type CedarSystem struct { ID zero.String `json:"id"` Name zero.String `json:"name"` Description zero.String `json:"description"` Acronym zero.String `json:"acronym"` ATOEffectiveDate zero.Time `json:"atoEffectiveDate"` ATOExpirationDate zero.Time `json:"atoExpirationDate"` State zero.String `json:"state"` Status zero.String `json:"status"` BusinessOwnerOrg zero.String `json:"businessOwnerOrg"` BusinessOwnerOrgComp zero.String `json:"businessOwnerOrgComp"` SystemMaintainerOrg zero.String `json:"systemMaintainerOrg"` SystemMaintainerOrgComp zero.String `json:"systemMaintainerOrgComp"` VersionID zero.String `json:"versionId"` UUID zero.String `json:"uuid"` }
CedarSystem is the model for a single system that comes back from the CEDAR Core API
type CedarSystemBookmark ¶
type CedarSystemBookmark struct { EUAUserID string `json:"euaUserId" db:"eua_user_id"` CedarSystemID string `json:"cedarSystemId" db:"cedar_system_id"` CreatedAt *time.Time `db:"created_at"` }
CedarSystemBookmark represents a cedar system that a user has bookmarked in the system repository
type CedarSystemDetails ¶
type CedarSystemDetails struct { CedarSystem *CedarSystem BusinessOwnerInformation *BusinessOwnerInformation SystemMaintainerInformation *SystemMaintainerInformation Roles []*CedarRole `json:"roles"` Deployments []*CedarDeployment `json:"deployments"` Threats []*CedarThreat `json:"threats"` URLs []*CedarURL `json:"urls"` IsMySystem bool `json:"isMySystem"` ATOEffectiveDate zero.Time `json:"atoEffectiveDate"` ATOExpirationDate zero.Time `json:"atoExpirationDate"` }
CedarSystemDetails contains more detailed information related to a CEDAR system
type CedarSystemMaintainerInformation ¶
type CedarSystemMaintainerInformation struct { AgileUsed *bool `json:"agileUsed,omitempty"` AdHocAgileDeploymentFrequency *string `json:"adHocAgileDeploymentFrequency,omitempty"` AuthoritativeDatasource *string `json:"authoritativeDatasource,omitempty"` BusinessArtifactsOnDemand *bool `json:"businessArtifactsOnDemand,omitempty"` DataAtRestEncryptionKeyManagement *string `json:"dataAtRestEncryptionKeyManagement,omitempty"` DeploymentFrequency *string `json:"deploymentFrequency,omitempty"` DevCompletionPercent *string `json:"devCompletionPercent,omitempty"` DevWorkDescription *string `json:"devWorkDescription,omitempty"` EcapParticipation *bool `json:"ecapParticipation,omitempty"` FrontendAccessType *string `json:"frontendAccessType,omitempty"` HardCodedIPAddress *bool `json:"hardCodedIPAddress,omitempty"` IP6EnabledAssetPercent *string `json:"ip6EnabledAssetPercent,omitempty"` IP6TransitionPlan *string `json:"ip6TransitionPlan,omitempty"` IPEnabledAssetCount *int `json:"ipEnabledAssetCount,omitempty"` LegalHoldCaseName *string `json:"legalHoldCaseName,omitempty"` LocallyStoredUserInformation *bool `json:"locallyStoredUserInformation,omitempty"` MajorRefreshDate *time.Time `json:"majorRefreshDate,omitempty"` MultifactorAuthenticationMethod []string `json:"multifactorAuthenticationMethod"` MultifactorAuthenticationMethodOther *string `json:"multifactorAuthenticationMethodOther,omitempty"` NetAccessibility *string `json:"netAccessibility,omitempty"` NetworkTrafficEncryptionKeyManagement *string `json:"networkTrafficEncryptionKeyManagement,omitempty"` NoMajorRefresh *bool `json:"noMajorRefresh,omitempty"` NoPersistentRecordsFlag *bool `json:"noPersistentRecordsFlag,omitempty"` NoPlannedMajorRefresh *bool `json:"noPlannedMajorRefresh,omitempty"` OmDocumentationOnDemand *bool `json:"omDocumentationOnDemand,omitempty"` PlansToRetireReplace *string `json:"plansToRetireReplace,omitempty"` QuarterToRetireReplace *string `json:"quarterToRetireReplace,omitempty"` RecordsManagementBucket []string `json:"recordsManagementBucket"` RecordsManagementDisposalLocation *string `json:"recordsManagementDisposalLocation,omitempty"` RecordsManagementDisposalPlan *string `json:"recordsManagementDisposalPlan,omitempty"` RecordsUnderLegalHold *bool `json:"recordsUnderLegalHold,omitempty"` SourceCodeOnDemand *bool `json:"sourceCodeOnDemand,omitempty"` SystemCustomization *string `json:"systemCustomization,omitempty"` SystemDataLocation []string `json:"systemDataLocation"` SystemDataLocationNotes *string `json:"systemDataLocationNotes,omitempty"` SystemDesignOnDemand *bool `json:"systemDesignOnDemand,omitempty"` SystemProductionDate *time.Time `json:"systemProductionDate,omitempty"` SystemRequirementsOnDemand *bool `json:"systemRequirementsOnDemand,omitempty"` TestPlanOnDemand *bool `json:"testPlanOnDemand,omitempty"` TestReportsOnDemand *bool `json:"testReportsOnDemand,omitempty"` TestScriptsOnDemand *bool `json:"testScriptsOnDemand,omitempty"` YearToRetireReplace *string `json:"yearToRetireReplace,omitempty"` }
SystemMaintainerInformation contains information about the system maintainer of a CEDAR system
type CedarThreat ¶
type CedarThreat struct { // possibly-null fields AlternativeID zero.String `json:"alternativeId"` ControlFamily zero.String `json:"controlFamily"` DaysOpen int `json:"daysOpen"` ID zero.String `json:"id"` ParentID zero.String `json:"parentId"` Type zero.String `json:"type"` WeaknessRiskLevel zero.String `json:"weaknessRiskLevel"` }
CedarThreat is the model for threat information that comes back from the CEDAR Core API
type CedarURL ¶
type CedarURL struct { // always-present field ID zero.String Address zero.String // The actual URL. IsBehindWebApplicationFirewall bool IsAPIEndpoint bool IsVersionCodeRepository bool // Represents whether this URL provides access to a versioned code repository. URLHostingEnv zero.String // This should correspond with .DeploymentType on a CedarDeployment object. }
CedarURL represents a single URL object returned from the CEDAR API
type CloseTRBRequestInput ¶
type CloseTRBRequestInput struct { ID uuid.UUID `json:"id"` ReasonClosed HTML `json:"reasonClosed"` CopyTrbMailbox bool `json:"copyTrbMailbox"` NotifyEuaIds []string `json:"notifyEuaIds"` }
The input needed to close a TRB request
type ContractDate ¶
type ContractDate struct { Day *string `json:"day,omitempty"` Month *string `json:"month,omitempty"` Year *string `json:"year,omitempty"` }
Represents a date used for start and end dates on a contract
type CreateCedarSystemBookmarkInput ¶
type CreateCedarSystemBookmarkInput struct {
CedarSystemID string `json:"cedarSystemId"`
}
The data needed to bookmark a cedar system
type CreateCedarSystemBookmarkPayload ¶
type CreateCedarSystemBookmarkPayload struct {
CedarSystemBookmark *CedarSystemBookmark `json:"cedarSystemBookmark,omitempty"`
}
The payload when bookmarking a cedar system
type CreateGRBReviewerInput ¶
type CreateGRBReviewerInput struct { EuaUserID string `json:"euaUserId"` VotingRole SystemIntakeGRBReviewerVotingRole `json:"votingRole"` GrbRole SystemIntakeGRBReviewerRole `json:"grbRole"` }
type CreateSystemIntakeContactInput ¶
type CreateSystemIntakeContactInput struct { EuaUserID string `json:"euaUserId"` SystemIntakeID uuid.UUID `json:"systemIntakeId"` Component string `json:"component"` Role string `json:"role"` }
The data needed to associate a contact with a system intake
type CreateSystemIntakeContactPayload ¶
type CreateSystemIntakeContactPayload struct {
SystemIntakeContact *SystemIntakeContact `json:"systemIntakeContact,omitempty"`
}
The payload when creating a system intake contact
type CreateSystemIntakeDocumentInput ¶
type CreateSystemIntakeDocumentInput struct { RequestID uuid.UUID `json:"requestID"` FileData graphql.Upload `json:"fileData"` DocumentType SystemIntakeDocumentCommonType `json:"documentType"` Version SystemIntakeDocumentVersion `json:"version"` OtherTypeDescription *string `json:"otherTypeDescription,omitempty"` SendNotification *bool `json:"sendNotification,omitempty"` }
The data needed to upload a System Intake document and attach it to a request with metadata
type CreateSystemIntakeDocumentPayload ¶
type CreateSystemIntakeDocumentPayload struct {
Document *SystemIntakeDocument `json:"document,omitempty"`
}
Data returned after uploading a document to a System Intake
type CreateSystemIntakeGRBReviewersInput ¶
type CreateSystemIntakeGRBReviewersInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` Reviewers []*CreateGRBReviewerInput `json:"reviewers"` }
type CreateSystemIntakeGRBReviewersPayload ¶
type CreateSystemIntakeGRBReviewersPayload struct {
Reviewers []*SystemIntakeGRBReviewer `json:"reviewers"`
}
type CreateSystemIntakeInput ¶
type CreateSystemIntakeInput struct { RequestType SystemIntakeRequestType `json:"requestType"` Requester *SystemIntakeRequesterInput `json:"requester"` }
The input data used to initialize an IT governance request for a system
type CreateSystemIntakeNoteInput ¶
type CreateSystemIntakeNoteInput struct { Content HTML `json:"content"` AuthorName string `json:"authorName"` IntakeID uuid.UUID `json:"intakeId"` }
Input data for adding a note to a system request
type CreateTRBAdminNoteConsultSessionInput ¶
type CreateTRBAdminNoteConsultSessionInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` NoteText HTML `json:"noteText"` }
The data needed to create a TRB admin note with the Consult Session category
type CreateTRBAdminNoteGeneralRequestInput ¶
type CreateTRBAdminNoteGeneralRequestInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` NoteText HTML `json:"noteText"` }
The data needed to create a TRB admin note with the General Request category
type CreateTRBAdminNoteGuidanceLetterInput ¶
type CreateTRBAdminNoteGuidanceLetterInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` NoteText HTML `json:"noteText"` AppliesToMeetingSummary bool `json:"appliesToMeetingSummary"` AppliesToNextSteps bool `json:"appliesToNextSteps"` RecommendationIDs []uuid.UUID `json:"recommendationIDs"` }
The data needed to create a TRB admin note with the Guidance Letter category
type CreateTRBAdminNoteInitialRequestFormInput ¶
type CreateTRBAdminNoteInitialRequestFormInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` NoteText HTML `json:"noteText"` AppliesToBasicRequestDetails bool `json:"appliesToBasicRequestDetails"` AppliesToSubjectAreas bool `json:"appliesToSubjectAreas"` AppliesToAttendees bool `json:"appliesToAttendees"` }
The data needed to create a TRB admin note with the Initial Request Form category
type CreateTRBAdminNoteSupportingDocumentsInput ¶
type CreateTRBAdminNoteSupportingDocumentsInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` NoteText HTML `json:"noteText"` DocumentIDs []uuid.UUID `json:"documentIDs"` }
The data needed to create a TRB admin note with the Supporting Documents category
type CreateTRBGuidanceLetterRecommendationInput ¶
type CreateTRBGuidanceLetterRecommendationInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` Title string `json:"title"` Recommendation HTML `json:"recommendation"` Links []string `json:"links"` Category TRBGuidanceLetterRecommendationCategory `json:"category"` }
The input required to add a recommendation & links to a TRB guidance letter
type CreateTRBRequestAttendeeInput ¶
type CreateTRBRequestAttendeeInput struct { EuaUserID string `json:"euaUserId"` TrbRequestID uuid.UUID `json:"trbRequestId"` Component string `json:"component"` Role PersonRole `json:"role"` }
The data needed add a TRB request attendee to a TRB request
type CreateTRBRequestDocumentInput ¶
type CreateTRBRequestDocumentInput struct { RequestID uuid.UUID `json:"requestID"` FileData graphql.Upload `json:"fileData"` DocumentType TRBDocumentCommonType `json:"documentType"` OtherTypeDescription *string `json:"otherTypeDescription,omitempty"` }
The data needed to upload a TRB document and attach it to a request with metadata
type CreateTRBRequestDocumentPayload ¶
type CreateTRBRequestDocumentPayload struct {
Document *TRBRequestDocument `json:"document,omitempty"`
}
Data returned after uploading a document to a TRB request
type CreateTRBRequestFeedbackInput ¶
type CreateTRBRequestFeedbackInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` FeedbackMessage HTML `json:"feedbackMessage"` CopyTrbMailbox bool `json:"copyTrbMailbox"` NotifyEuaIds []string `json:"notifyEuaIds"` Action TRBFeedbackAction `json:"action"` }
The data needed to add feedback to a TRB request
type CurrentUser ¶
type CurrentUser struct {
LaunchDarkly *LaunchDarklySettings `json:"launchDarkly"`
}
The current user of the application
type DeleteCedarSystemBookmarkPayload ¶
type DeleteCedarSystemBookmarkPayload struct {
CedarSystemID string `json:"cedarSystemId"`
}
The payload when deleting a bookmark for a cedar system
type DeleteSystemIntakeContactInput ¶
The data needed to delete a system intake contact
type DeleteSystemIntakeContactPayload ¶
type DeleteSystemIntakeContactPayload struct {
SystemIntakeContact *SystemIntakeContact `json:"systemIntakeContact,omitempty"`
}
The payload when deleting a system intake contact
type DeleteSystemIntakeDocumentPayload ¶
type DeleteSystemIntakeDocumentPayload struct {
Document *SystemIntakeDocument `json:"document,omitempty"`
}
Data returned after deleting a document attached to a System Intake
type DeleteTRBRequestDocumentPayload ¶
type DeleteTRBRequestDocumentPayload struct {
Document *TRBRequestDocument `json:"document,omitempty"`
}
Data returned after deleting a document attached to a TRB request
type DocumentUploaderRole ¶
type DocumentUploaderRole string
type EmailAddress ¶
type EmailAddress string
EmailAddress represents an email address
func NewEmailAddress ¶
func NewEmailAddress(address string) EmailAddress
NewEmailAddress creates a new email address
func (EmailAddress) String ¶
func (e EmailAddress) String() string
String returns the email address as a string
type EmailNotificationRecipients ¶
type EmailNotificationRecipients struct { RegularRecipientEmails []EmailAddress ShouldNotifyITGovernance bool ShouldNotifyITInvestment bool }
EmailNotificationRecipients contains info about who to notify when an action is taken on an intake request
type EstimatedLifecycleCost ¶
type EstimatedLifecycleCost struct { ID uuid.UUID `json:"id"` BusinessCaseID uuid.UUID `json:"business_case" db:"business_case"` Solution LifecycleCostSolution `json:"solution"` Phase *LifecycleCostPhase `json:"phase"` Year LifecycleCostYear `json:"year"` Cost *int `json:"cost"` }
EstimatedLifecycleCost is the model for the cost of an estimated lifecycle line in the business case.
func (EstimatedLifecycleCost) GetMappingKey ¶
func (e EstimatedLifecycleCost) GetMappingKey() uuid.UUID
func (EstimatedLifecycleCost) GetMappingVal ¶
func (e EstimatedLifecycleCost) GetMappingVal() *EstimatedLifecycleCost
type EstimatedLifecycleCosts ¶
type EstimatedLifecycleCosts []EstimatedLifecycleCost
EstimatedLifecycleCosts models a list of EstimatedLifecycleCost line items
func (*EstimatedLifecycleCosts) Scan ¶
func (e *EstimatedLifecycleCosts) Scan(src interface{}) error
Scan implements the sql.Scanner interface
type ExchangeDirection ¶
type ExchangeDirection string
ExchangeDirection indicates the direction of data flow in a CEDAR exchange
const ( // ExchangeDirectionSender indicates that the system is the sender of data in the data exchange ExchangeDirectionSender ExchangeDirection = "SENDER" // ExchangeDirectionReceiver indicates that the system is the receiver of data in the data exchange ExchangeDirectionReceiver ExchangeDirection = "RECEIVER" )
type GRBReviewerComparison ¶
type GRBReviewerComparison struct { ID uuid.UUID `json:"id"` UserAccount *authentication.UserAccount `json:"userAccount"` EuaUserID string `json:"euaUserId"` VotingRole SystemIntakeGRBReviewerVotingRole `json:"votingRole"` GrbRole SystemIntakeGRBReviewerRole `json:"grbRole"` IsCurrentReviewer bool `json:"isCurrentReviewer"` }
GRBReviewerComparison represents an individual GRB Reviewer within the context of a comparison operation between two system intakes.
For this reason, it is similar to a regular "type GRBReviewer", but has an extra field for "isCurrentReviewer", representing whether or not the specific GRB Reviewer is already on the intake being compared against or not.
type GRBReviewerComparisonIntake ¶
type GRBReviewerComparisonIntake struct { ID uuid.UUID `json:"id"` RequestName string `json:"requestName"` Reviewers []*GRBReviewerComparison `json:"reviewers"` IntakeCreatedAt *time.Time `json:"intakeCreatedAt,omitempty"` }
GRBReviewerComparisonIntake represents a response when searching for System Intakes that have GRB reviewers as compared to another Intake.
It's effectively a smaller subset of some of the fields on the entire Intake, plus a special "reviewers" field specific to the comparison operation.
type GovernanceRequestFeedback ¶
type GovernanceRequestFeedback struct { // Can't use BaseStruct here since CreatedBy is nullable in the DB ID uuid.UUID `json:"id" db:"id"` CreatedBy *string `json:"createdBy" db:"created_by"` CreatedAt time.Time `json:"createdAt" db:"created_at"` ModifiedBy *string `json:"modifiedBy" db:"modified_by"` ModifiedAt *time.Time `json:"modifiedAt" db:"modified_at"` IntakeID uuid.UUID `json:"intakeId" db:"intake_id"` Feedback HTML `json:"feedback" db:"feedback"` SourceAction GovernanceRequestFeedbackSourceAction `json:"sourceAction" db:"source_action"` TargetForm GovernanceRequestFeedbackTargetForm `json:"targetForm" db:"target_form"` Type GovernanceRequestFeedbackType `json:"type" db:"type"` }
GovernanceRequestFeedback represents feedback given to the requester on a governance request
func (GovernanceRequestFeedback) GetMappingKey ¶
func (g GovernanceRequestFeedback) GetMappingKey() uuid.UUID
func (GovernanceRequestFeedback) GetMappingVal ¶
func (g GovernanceRequestFeedback) GetMappingVal() *GovernanceRequestFeedback
type GovernanceRequestFeedbackSourceAction ¶
type GovernanceRequestFeedbackSourceAction string
GovernanceRequestFeedbackSourceAction is an eumeration of the possible actions that can provide feedback on a governance request
const ( GRFSARequestEdits GovernanceRequestFeedbackSourceAction = "REQUEST_EDITS" GRFSAProgressToNewStep GovernanceRequestFeedbackSourceAction = "PROGRESS_TO_NEW_STEP" )
These are the possible forms that can provide feedback
type GovernanceRequestFeedbackTargetForm ¶
type GovernanceRequestFeedbackTargetForm string
GovernanceRequestFeedbackTargetForm is an enumeration of the possible forms on a governance intake request that can receive feedback
const ( GRFTFNoTargetProvided GovernanceRequestFeedbackTargetForm = "NO_TARGET_PROVIDED" GRFTFIntakeRequest GovernanceRequestFeedbackTargetForm = "INTAKE_REQUEST" GRFTFDraftBusinessCase GovernanceRequestFeedbackTargetForm = "DRAFT_BUSINESS_CASE" GRFTFinalBusinessCase GovernanceRequestFeedbackTargetForm = "FINAL_BUSINESS_CASE" )
These are the possible forms that can have governance request feedback
func (GovernanceRequestFeedbackTargetForm) Humanize ¶
func (tf GovernanceRequestFeedbackTargetForm) Humanize() string
Humanize translates a GovernanceRequestFeedbackTargetForm to human readable text
type GovernanceRequestFeedbackType ¶
type GovernanceRequestFeedbackType string
GovernanceRequestFeedbackType is an enumeration of the possible types of feedback on governance requests, based on who it's directed to
const ( GRFTRequester GovernanceRequestFeedbackType = "REQUESTER" GRFTGRB GovernanceRequestFeedbackType = "GRB" )
These are the possible types of recipients of feedback on governanance requests
type HTML ¶
type HTML string
HTML represents html code. It is sanitized when unmarshaled from graphQL or when converted to HTML to only allow specific tags
func HTMLPointer ¶
HTMLPointer returns a pointer to an HTML type from a string input
func (HTML) MarshalGQLContext ¶
MarshalGQLContext marshals the HTML type to JSON to return to graphQL
func (*HTML) StringPointer ¶
StringPointer casts an HTML pointer to a string pointer
func (*HTML) ToTemplate ¶
ToTemplate converts and sanitizes the HTML type to a template.HTML struct
func (*HTML) UnmarshalGQLContext ¶
UnmarshalGQLContext unmarshals the data from graphql to the HTML type
func (*HTML) ValueOrEmptyHTML ¶
ValueOrEmptyHTML returns either the value of the html or an empty HTML type if nil
func (*HTML) ValueOrEmptyString ¶
ValueOrEmptyString returns either the value of the html or an empty string if nil
type IBaseStruct ¶
type IBaseStruct interface { // GetBaseStruct() *BaseStruct GetID() uuid.UUID GetCreatedBy() string GetModifiedBy() *string // This method sets the modified properties of a BaseStruct using the information provided by a principal object SetModifiedBy(principal authentication.Principal) error }
IBaseStruct is an interface that all models must implement
type ITGovDecisionStatus ¶
type ITGovDecisionStatus string
ITGovDecisionStatus represents the types of ITGovDecisionStatus types. This is what the requestor sees for the third task.
const ( ITGDSCantStart ITGovDecisionStatus = "CANT_START" ITGDSInReview ITGovDecisionStatus = "IN_REVIEW" ITGDSCompleted ITGovDecisionStatus = "COMPLETED" )
These are the options for ITGovDecisionStatus
type ITGovDraftBusinessCaseStatus ¶
type ITGovDraftBusinessCaseStatus string
ITGovDraftBusinessCaseStatus represents the types of ITGovDraftBusinessCaseStatus types. This is what the requestor sees for the optional fourth task.
const ( ITGDBCSCantStart ITGovDraftBusinessCaseStatus = "CANT_START" ITGDBCSNotNeeded ITGovDraftBusinessCaseStatus = "NOT_NEEDED" ITGDBCSReady ITGovDraftBusinessCaseStatus = "READY" ITGDBCSInProgress ITGovDraftBusinessCaseStatus = "IN_PROGRESS" ITGDBCSEditsRequested ITGovDraftBusinessCaseStatus = "EDITS_REQUESTED" ITGDBCSSubmitted ITGovDraftBusinessCaseStatus = "SUBMITTED" ITGDBCSDone ITGovDraftBusinessCaseStatus = "DONE" )
These are the options for ITGovDraftBusinessCaseStatus
type ITGovFeedbackStatus ¶
type ITGovFeedbackStatus string
ITGovFeedbackStatus represents the types of ITGovFeedbackStatus types. This is what the requestor sees for the second task.
const ( ITGFBSCantStart ITGovFeedbackStatus = "CANT_START" ITGFBSInReview ITGovFeedbackStatus = "IN_REVIEW" ITGFBSCompleted ITGovFeedbackStatus = "COMPLETED" )
These are the options for ITGovFeedbackStatus
type ITGovFinalBusinessCaseStatus ¶
type ITGovFinalBusinessCaseStatus string
ITGovFinalBusinessCaseStatus represents the types of ITGovFinalBusinessCaseStatus types. This is what the requestor sees for the optional sixth task.
const ( ITGFBCSCantStart ITGovFinalBusinessCaseStatus = "CANT_START" ITGFBCSNotNeeded ITGovFinalBusinessCaseStatus = "NOT_NEEDED" ITGFBCSReady ITGovFinalBusinessCaseStatus = "READY" ITGFBCSInProgress ITGovFinalBusinessCaseStatus = "IN_PROGRESS" ITGFBCSEditsRequested ITGovFinalBusinessCaseStatus = "EDITS_REQUESTED" ITGFBCSSubmitted ITGovFinalBusinessCaseStatus = "SUBMITTED" ITGFBCSDone ITGovFinalBusinessCaseStatus = "DONE" )
These are the options for ITGovFinalBusinessCaseStatus
type ITGovGRBStatus ¶
type ITGovGRBStatus string
ITGovGRBStatus represents the types of ITGovGRBStatus types. This is what the requestor sees for the optional seventh task.
const ( ITGGRBSCantStart ITGovGRBStatus = "CANT_START" ITGGRBSNotNeeded ITGovGRBStatus = "NOT_NEEDED" ITGGRBSReadyToSchedule ITGovGRBStatus = "READY_TO_SCHEDULE" ITGGRBSScheduled ITGovGRBStatus = "SCHEDULED" ITGGRBSAwaitingDecision ITGovGRBStatus = "AWAITING_DECISION" ITGGRBSCompleted ITGovGRBStatus = "COMPLETED" )
These are the options for ITGovGRBStatus
type ITGovGRTStatus ¶
type ITGovGRTStatus string
ITGovGRTStatus represents the types of ITGovGRTStatus types. This is what the requestor sees for the optional fifth task.
const ( ITGGRTSCantStart ITGovGRTStatus = "CANT_START" ITGGRTSNotNeeded ITGovGRTStatus = "NOT_NEEDED" ITGGRTSReadyToSchedule ITGovGRTStatus = "READY_TO_SCHEDULE" ITGGRTSScheduled ITGovGRTStatus = "SCHEDULED" ITGGRTSAwaitingDecision ITGovGRTStatus = "AWAITING_DECISION" ITGGRTSCompleted ITGovGRTStatus = "COMPLETED" )
These are the options for ITGovGRTStatus
type ITGovIntakeFormStatus ¶
type ITGovIntakeFormStatus string
ITGovIntakeFormStatus represents the types of ITGovIntakeFormStatus types. This is what the requester sees for the first task
const ( ITGISReady ITGovIntakeFormStatus = "READY" ITGISInProgress ITGovIntakeFormStatus = "IN_PROGRESS" ITGISEditsRequested ITGovIntakeFormStatus = "EDITS_REQUESTED" ITGISCompleted ITGovIntakeFormStatus = "COMPLETED" )
These are the options for ITGovIntakeStatus
type ITGovTaskStatuses ¶
type ITGovTaskStatuses struct {
ParentSystemIntake *SystemIntake
}
ITGovTaskStatuses is a helper struct used by GQL to wrap a returned System Intake, so section statuses can be calculated only when requested
type IntakeReview ¶
type IntakeReview struct { IntakeID uuid.UUID Decision IntakeReviewDecision EmailText string }
IntakeReview models the GRT review form for a system intake
type IntakeReviewDecision ¶
type IntakeReviewDecision string
IntakeReviewDecision represents the decision on an intake review
const ( // IntakeReviewDecisionISSUEID captures enum value "ISSUE_ID" IntakeReviewDecisionISSUEID IntakeReviewDecision = "ISSUE_ID" // IntakeReviewDecisionREVIEWNEEDED captures enum value "REVIEW_PROCESS_NEEDED" IntakeReviewDecisionREVIEWNEEDED IntakeReviewDecision = "REVIEW_PROCESS_NEEDED" // IntakeReviewDecisionGOVERNANCENOTNEEDED captures enum value "GOVERNANCE_NOT_NEEDED" IntakeReviewDecisionGOVERNANCENOTNEEDED IntakeReviewDecision = "GOVERNANCE_NOT_NEEDED" )
type LaunchDarklySettings ¶
type LaunchDarklySettings struct { UserKey string `json:"userKey"` SignedHash string `json:"signedHash"` }
The current user's Launch Darkly key
type LifecycleCostPhase ¶
type LifecycleCostPhase string
LifecycleCostPhase represents the phase of a lifecycle cost line
type LifecycleCostSolution ¶
type LifecycleCostSolution string
LifecycleCostSolution represents the solution associated with the line
type LifecycleCostYear ¶
type LifecycleCostYear string
LifecycleCostYear represents the year associated with the line
type PersonRole ¶
type PersonRole string
PersonRole is an enumeration of values representing the role of a person (currently in use for TRBRequestAttendee and potentially SystemIntakeContact in the future)
const ( // PersonRoleBusinessOwner is a person with the "Business Owner" role PersonRoleBusinessOwner PersonRole = "BUSINESS_OWNER" // PersonRoleProductOwner is a person with the "Product Owner" role PersonRoleProductOwner PersonRole = "PRODUCT_OWNER" // PersonRoleSystemOwner is a person with the "System Owner" role PersonRoleSystemOwner PersonRole = "SYSTEM_OWNER" // PersonRoleSystemMaintainer is a person with the "System Maintainer" role PersonRoleSystemMaintainer PersonRole = "SYSTEM_MAINTAINER" // PersonRoleContractOfficersRepresentative is a person with the "ContractOfficersRepresentative" role PersonRoleContractOfficersRepresentative PersonRole = "CONTRACT_OFFICE_RSREPRESENTATIVE" PersonRoleCloudNavigator PersonRole = "CLOUD_NAVIGATOR" // PersonRoleInformationSystemSecurityAdvisor is a person with the "Information System Security Advisor" role PersonRoleInformationSystemSecurityAdvisor PersonRole = "INFORMATION_SYSTEM_SECURITY_ADVISOR" // PersonRolePrivacyAdvisor is a person with the "Privacy Advisor" role PersonRolePrivacyAdvisor PersonRole = "PRIVACY_ADVISOR" // PersonRoleCRA is a person with the "Cyber Risk Advisor (CRA)" role PersonRoleCRA PersonRole = "CRA" // PersonRoleOther is a person with the "Other" role PersonRoleOther PersonRole = "OTHER" )
type RelatedSystemIntake ¶
type RelatedSystemIntake struct { SystemIntake RelatedRequestID uuid.UUID `db:"related_request_id"` }
RelatedSystemIntake is used when intakes are selected from the DB using linking tables and the related request ID is added as an aliased column. This struct with the added related request ID allows for using the mapping helpers in the dataloader package.
func (RelatedSystemIntake) GetMappingKey ¶
func (s RelatedSystemIntake) GetMappingKey() uuid.UUID
func (RelatedSystemIntake) GetMappingVal ¶
func (s RelatedSystemIntake) GetMappingVal() *SystemIntake
type RelatedTRBRequest ¶
type RelatedTRBRequest struct { TRBRequest RelatedRequestID uuid.UUID `db:"related_request_id"` }
RelatedTRBRequest is used when TRB Reqs are selected from the DB using linking tables and the related request ID is added as an aliased column. This struct with the added related request ID allows for using the mapping helpers in the dataloader package.
func (RelatedTRBRequest) GetMappingKey ¶
func (t RelatedTRBRequest) GetMappingKey() uuid.UUID
func (RelatedTRBRequest) GetMappingVal ¶
func (t RelatedTRBRequest) GetMappingVal() *TRBRequest
type ReopenTRBRequestInput ¶
type ReopenTRBRequestInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` ReasonReopened HTML `json:"reasonReopened"` CopyTrbMailbox bool `json:"copyTrbMailbox"` NotifyEuaIds []string `json:"notifyEuaIds"` }
The data needed to reopen a TRB request
type RequestRelationType ¶
type RequestRelationType string
RequestRelationType represents an enum for different relation types of intakes
const ( RelationTypeNewSystem RequestRelationType = "NEW_SYSTEM" RelationTypeExistingSystem RequestRelationType = "EXISTING_SYSTEM" RelationTypeExistingService RequestRelationType = "EXISTING_SERVICE" )
Possible values of SystemIntakeRelationType
type Role ¶
type Role string
A user role associated with a job code
func (Role) MarshalGQL ¶
func (*Role) UnmarshalGQL ¶
type SIGRBReviewerRole ¶
type SIGRBReviewerRole string
const ( SIGRBRRCoChairCIO SIGRBReviewerRole = "CO_CHAIR_CIO" SIGRBRRCoChairCFO SIGRBReviewerRole = "CO_CHAIR_CFO" SIGRBRRCoChairHCA SIGRBReviewerRole = "CO_CHAIR_HCA" SIGRBRRACA3021Rep SIGRBReviewerRole = "ACA_3021_REP" SIGRBRRCCIIORep SIGRBReviewerRole = "CCIIO_REP" SIGRBRRProgOpBDGChair SIGRBReviewerRole = "PROGRAM_OPERATIONS_BDG_CHAIR" SIGRBRRCMCSRep SIGRBReviewerRole = "CMCS_REP" SIGRBRRFedAdminBDGChair SIGRBReviewerRole = "FED_ADMIN_BDG_CHAIR" SIGRBRRProgIntBDGChair SIGRBReviewerRole = "PROGRAM_INTEGRITY_BDG_CHAIR" SIGRBRRQIORep SIGRBReviewerRole = "QIO_REP" SIGRBRRSubjectMatterExpert SIGRBReviewerRole = "SUBJECT_MATTER_EXPERT" SIGRBRROther SIGRBReviewerRole = "OTHER" )
type SIGRBReviewerVotingRole ¶
type SIGRBReviewerVotingRole string
const ( SIGRBRVRVoting SIGRBReviewerVotingRole = "VOTING" SIGRBRVRNonVoting SIGRBReviewerVotingRole = "NON_VOTING" SIGRBRVRAlternate SIGRBReviewerVotingRole = "ALTERNATE" )
type SendCantFindSomethingEmailInput ¶
type SendCantFindSomethingEmailInput struct {
Body string `json:"body"`
}
type SendFeedbackEmailInput ¶
type SendFeedbackEmailInput struct { IsAnonymous bool `json:"isAnonymous"` CanBeContacted bool `json:"canBeContacted"` EasiServicesUsed []string `json:"easiServicesUsed"` CmsRole string `json:"cmsRole"` SystemEasyToUse string `json:"systemEasyToUse"` DidntNeedHelpAnswering string `json:"didntNeedHelpAnswering"` QuestionsWereRelevant string `json:"questionsWereRelevant"` HadAccessToInformation string `json:"hadAccessToInformation"` HowSatisfied string `json:"howSatisfied"` HowCanWeImprove string `json:"howCanWeImprove"` }
The inputs to the user feedback form
type SendReportAProblemEmailInput ¶
type SendReportAProblemEmailInput struct { IsAnonymous bool `json:"isAnonymous"` CanBeContacted bool `json:"canBeContacted"` EasiService string `json:"easiService"` WhatWereYouDoing string `json:"whatWereYouDoing"` WhatWentWrong string `json:"whatWentWrong"` HowSevereWasTheProblem string `json:"howSevereWasTheProblem"` }
type SendTRBGuidanceLetterInput ¶
type SendTRBGuidanceLetterInput struct { ID uuid.UUID `json:"id"` CopyTrbMailbox bool `json:"copyTrbMailbox"` NotifyEuaIds []string `json:"notifyEuaIds"` }
The data needed to send a TRB guidance letter, including who to notify
type SoftwareProductItem ¶
type SoftwareProductItem struct { APIGatewayUse bool `json:"api_gateway_use,omitempty"` ElaPurchase zero.String `json:"ela_purchase,omitempty"` ElaVendorID zero.String `json:"ela_vendor_id,omitempty"` ProvidesAiCapability bool `json:"provides_ai_capability,omitempty"` Refstr zero.String `json:"refstr,omitempty"` SoftwareCatagoryConnectionGUID zero.String `json:"softwareCatagoryConnectionGuid,omitempty"` SoftwareVendorConnectionGUID zero.String `json:"softwareVendorConnectionGuid,omitempty"` SoftwareCost zero.String `json:"software_cost,omitempty"` SoftwareElaOrganization zero.String `json:"software_ela_organization,omitempty"` SoftwareName zero.String `json:"software_name,omitempty"` SystemSoftwareConnectionGUID zero.String `json:"systemSoftwareConnectionGuid,omitempty"` TechnopediaCategory zero.String `json:"technopedia_category,omitempty"` TechnopediaID zero.String `json:"technopedia_id,omitempty"` VendorName zero.String `json:"vendor_name,omitempty"` }
SoftwareProductItem represents a single SoftwareProductSearchItem object which is an internal struct used in SoftwareProduct
type StartGRBReviewInput ¶
Input for starting a GRB Review, which notifies reviewers by email
type SubmitIntakeInput ¶
Input to submit an intake for review
type SystemIntake ¶
type SystemIntake struct { ID uuid.UUID `json:"id"` EUAUserID null.String `json:"euaUserId" db:"eua_user_id"` State SystemIntakeState `json:"state" db:"state"` Step SystemIntakeStep `json:"step" db:"step"` RequestType SystemIntakeRequestType `json:"requestType" db:"request_type"` Requester string `json:"requester"` Component null.String `json:"component"` BusinessOwner null.String `json:"businessOwner" db:"business_owner"` BusinessOwnerComponent null.String `json:"businessOwnerComponent" db:"business_owner_component"` ProductManager null.String `json:"productManager" db:"product_manager"` ProductManagerComponent null.String `json:"productManagerComponent" db:"product_manager_component"` ISSO null.String `json:"isso"` ISSOName null.String `json:"issoName" db:"isso_name"` TRBCollaborator null.String `json:"trbCollaborator" db:"trb_collaborator"` TRBCollaboratorName null.String `json:"trbCollaboratorName" db:"trb_collaborator_name"` OITSecurityCollaborator null.String `json:"oitSecurityCollaborator" db:"oit_security_collaborator"` OITSecurityCollaboratorName null.String `json:"oitSecurityCollaboratorName" db:"oit_security_collaborator_name"` EACollaborator null.String `json:"eaCollaborator" db:"ea_collaborator"` EACollaboratorName null.String `json:"eaCollaboratorName" db:"ea_collaborator_name"` ProjectName null.String `json:"projectName" db:"project_name"` ProjectAcronym null.String `json:"projectAcronym" db:"project_acronym"` BusinessNeed null.String `json:"businessNeed" db:"business_need"` Solution null.String `json:"solution"` ProcessStatus null.String `json:"processStatus" db:"process_status"` EASupportRequest null.Bool `json:"eaSupportRequest" db:"ea_support_request"` ExistingContract null.String `json:"existingContract" db:"existing_contract"` CostIncrease null.String `json:"costIncrease" db:"cost_increase"` CostIncreaseAmount null.String `json:"costIncreaseAmount" db:"cost_increase_amount"` CurrentAnnualSpending null.String `json:"currentAnnualSpending" db:"current_annual_spending"` CurrentAnnualSpendingITPortion null.String `json:"currentAnnualSpendingITPortion" db:"current_annual_spending_it_portion"` PlannedYearOneSpending null.String `json:"plannedYearOneSpending" db:"planned_year_one_spending"` PlannedYearOneSpendingITPortion null.String `json:"plannedYearOneSpendingITPortion" db:"planned_year_one_spending_it_portion"` Contractor null.String `json:"contractor" db:"contractor"` ContractVehicle null.String `json:"contractVehicle" db:"contract_vehicle"` ContractStartDate *time.Time `json:"contractStartDate" db:"contract_start_date"` ContractStartMonth null.String `json:"contractStartMonth" db:"contract_start_month"` ContractStartYear null.String `json:"contractStartYear" db:"contract_start_year"` ContractEndDate *time.Time `json:"contractEndDate" db:"contract_end_date"` ContractEndMonth null.String `json:"contractEndMonth" db:"contract_end_month"` ContractEndYear null.String `json:"contractEndYear" db:"contract_end_year"` CreatedAt *time.Time `json:"createdAt" db:"created_at"` UpdatedAt *time.Time `json:"updatedAt" db:"updated_at"` SubmittedAt *time.Time `json:"submittedAt" db:"submitted_at"` DecidedAt *time.Time `json:"decidedAt" db:"decided_at"` ArchivedAt *time.Time `json:"archivedAt" db:"archived_at"` GRTDate *time.Time `json:"grtDate" db:"grt_date"` GRBDate *time.Time `json:"grbDate" db:"grb_date"` GRBReviewStartedAt *time.Time `json:"grbReviewStartedAt" db:"grb_review_started_at"` AlfabetID null.String `json:"alfabetID" db:"alfabet_id"` GrtReviewEmailBody null.String `json:"grtReviewEmailBody" db:"grt_review_email_body"` RequesterEmailAddress null.String `json:"requesterEmailAddress" db:"requester_email_address"` BusinessCaseID *uuid.UUID `json:"businessCase" db:"business_case_id"` LifecycleID null.String `json:"lcid" db:"lcid"` LifecycleExpiresAt *time.Time `json:"lcidExpiresAt" db:"lcid_expires_at" gqlgen:"lcidExpiresAt"` LifecycleScope *HTML `json:"lcidScope" db:"lcid_scope"` LifecycleCostBaseline null.String `json:"lcidCostBaseline" db:"lcid_cost_baseline"` LifecycleExpirationAlertTS *time.Time `json:"lcidExpirationAlertTS" db:"lcid_expiration_alert_ts"` LifecycleRetiresAt *time.Time `json:"lcidRetiresAt" db:"lcid_retires_at" gqlgen:"lcidRetiresAt"` LifecycleIssuedAt *time.Time `json:"lcidIssuedAt" db:"lcid_issued_at" gqlgen:"lcidIssuedAt"` DecisionNextSteps *HTML `json:"decisionNextSteps" db:"decision_next_steps"` RejectionReason *HTML `json:"rejectionReason" db:"rejection_reason"` AdminLead null.String `json:"adminLead" db:"admin_lead"` CedarSystemID null.String `json:"cedarSystemId" db:"cedar_system_id"` ExistingFunding null.Bool `json:"existingFunding" db:"existing_funding"` FundingSource null.String `json:"fundingSource" db:"funding_source"` FundingNumber null.String `json:"fundingNumber" db:"funding_number"` FundingSources []*SystemIntakeFundingSource `json:"fundingSources"` HasUIChanges null.Bool `json:"hasUiChanges" db:"has_ui_changes"` UsesAITech null.Bool `json:"usesAiTech" db:"uses_ai_tech"` UsingSoftware zero.String `json:"usingSoftware" db:"using_software"` AcquisitionMethods pq.StringArray `json:"acquisitionMethods" db:"acquisition_methods"` RequestFormState SystemIntakeFormState `json:"requestFormState" db:"request_form_state"` DraftBusinessCaseState SystemIntakeFormState `json:"draftBusinessCaseState" db:"draft_business_case_state"` FinalBusinessCaseState SystemIntakeFormState `json:"finalBusinessCaseState" db:"final_business_case_state"` DecisionState SystemIntakeDecisionState `json:"decisionState" db:"decision_state"` TRBFollowUpRecommendation *SystemIntakeTRBFollowUp `json:"trbFollowUpRecommendation" db:"trb_follow_up_recommendation"` ContractName zero.String `json:"contractName" db:"contract_name"` SystemRelationType *RequestRelationType `json:"relationType" db:"system_relation_type"` }
SystemIntake is the model for the system intake form
func (*SystemIntake) GRBMeetingState ¶
func (si *SystemIntake) GRBMeetingState() SystemIntakeMeetingState
GRBMeetingState returns if a GRBMeeting has been scheduled or not
func (*SystemIntake) GRTMeetingState ¶
func (si *SystemIntake) GRTMeetingState() SystemIntakeMeetingState
GRTMeetingState returns if a GRTMeeting has been scheduled or not
func (*SystemIntake) LCIDStatus ¶
func (si *SystemIntake) LCIDStatus(currentTime time.Time) *SystemIntakeLCIDStatus
LCIDStatus returns the status of this intake's LCID, if present
type SystemIntakeAction ¶
type SystemIntakeAction struct { ID uuid.UUID `json:"id"` SystemIntake *SystemIntake `json:"systemIntake"` Type SystemIntakeActionType `json:"type"` Actor *SystemIntakeActionActor `json:"actor"` Step *SystemIntakeStep `json:"step,omitempty"` Feedback *HTML `json:"feedback,omitempty"` LcidExpirationChange *SystemIntakeLCIDExpirationChange `json:"lcidExpirationChange,omitempty"` PreviousRetirementDate *time.Time `json:"previousRetirementDate,omitempty"` NewRetirementDate *time.Time `json:"newRetirementDate,omitempty"` CreatedAt time.Time `json:"createdAt"` }
An action taken on a system intake, often resulting in a change in status.
type SystemIntakeActionActor ¶
The contact who is associated with an action being done to a system request
type SystemIntakeActionType ¶
type SystemIntakeActionType string
Represents the type of an action that is being done to a system request
const ( SystemIntakeActionTypeProgressToNewStep SystemIntakeActionType = "PROGRESS_TO_NEW_STEP" SystemIntakeActionTypeRequestEdits SystemIntakeActionType = "REQUEST_EDITS" SystemIntakeActionTypeExpireLcid SystemIntakeActionType = "EXPIRE_LCID" SystemIntakeActionTypeNotGovernance SystemIntakeActionType = "NOT_GOVERNANCE" SystemIntakeActionTypeCloseRequest SystemIntakeActionType = "CLOSE_REQUEST" SystemIntakeActionTypeReopenRequest SystemIntakeActionType = "REOPEN_REQUEST" SystemIntakeActionTypeUpdateLcid SystemIntakeActionType = "UPDATE_LCID" SystemIntakeActionTypeConfirmLcid SystemIntakeActionType = "CONFIRM_LCID" SystemIntakeActionTypeRetireLcid SystemIntakeActionType = "RETIRE_LCID" SystemIntakeActionTypeUnretireLcid SystemIntakeActionType = "UNRETIRE_LCID" SystemIntakeActionTypeChangeLcidRetirementDate SystemIntakeActionType = "CHANGE_LCID_RETIREMENT_DATE" SystemIntakeActionTypeIssueLcid SystemIntakeActionType = "ISSUE_LCID" SystemIntakeActionTypeSubmitIntake SystemIntakeActionType = "SUBMIT_INTAKE" SystemIntakeActionTypeReject SystemIntakeActionType = "REJECT" SystemIntakeActionTypeBizCaseNeedsChanges SystemIntakeActionType = "BIZ_CASE_NEEDS_CHANGES" SystemIntakeActionTypeCreateBizCase SystemIntakeActionType = "CREATE_BIZ_CASE" SystemIntakeActionTypeGUIDEReceivedClose SystemIntakeActionType = "GUIDE_RECEIVED_CLOSE" SystemIntakeActionTypeExtendLcid SystemIntakeActionType = "EXTEND_LCID" SystemIntakeActionTypeNeedBizCase SystemIntakeActionType = "NEED_BIZ_CASE" SystemIntakeActionTypeNoGovernanceNeeded SystemIntakeActionType = "NO_GOVERNANCE_NEEDED" SystemIntakeActionTypeNotItRequest SystemIntakeActionType = "NOT_IT_REQUEST" SystemIntakeActionTypeNotRespondingClose SystemIntakeActionType = "NOT_RESPONDING_CLOSE" SystemIntakeActionTypeProvideFeedbackNeedBizCase SystemIntakeActionType = "PROVIDE_FEEDBACK_NEED_BIZ_CASE" SystemIntakeActionTypeProvideGrtFeedbackBizCaseDraft SystemIntakeActionType = "PROVIDE_GRT_FEEDBACK_BIZ_CASE_DRAFT" SystemIntakeActionTypeProvideGrtFeedbackBizCaseFinal SystemIntakeActionType = "PROVIDE_GRT_FEEDBACK_BIZ_CASE_FINAL" SystemIntakeActionTypeReadyForGrb SystemIntakeActionType = "READY_FOR_GRB" SystemIntakeActionTypeReadyForGrt SystemIntakeActionType = "READY_FOR_GRT" SystemIntakeActionTypeSendEmail SystemIntakeActionType = "SEND_EMAIL" SystemIntakeActionTypeSubmitBizCase SystemIntakeActionType = "SUBMIT_BIZ_CASE" SystemIntakeActionTypeSubmitFinalBizCase SystemIntakeActionType = "SUBMIT_FINAL_BIZ_CASE" )
func (SystemIntakeActionType) IsValid ¶
func (e SystemIntakeActionType) IsValid() bool
func (SystemIntakeActionType) MarshalGQL ¶
func (e SystemIntakeActionType) MarshalGQL(w io.Writer)
func (SystemIntakeActionType) String ¶
func (e SystemIntakeActionType) String() string
func (*SystemIntakeActionType) UnmarshalGQL ¶
func (e *SystemIntakeActionType) UnmarshalGQL(v interface{}) error
type SystemIntakeAnnualSpending ¶
type SystemIntakeAnnualSpending struct { CurrentAnnualSpending *string `json:"currentAnnualSpending,omitempty"` CurrentAnnualSpendingITPortion *string `json:"currentAnnualSpendingITPortion,omitempty"` PlannedYearOneSpending *string `json:"plannedYearOneSpending,omitempty"` PlannedYearOneSpendingITPortion *string `json:"plannedYearOneSpendingITPortion,omitempty"` }
Represents current and planned annual costs for a system
type SystemIntakeAnnualSpendingInput ¶
type SystemIntakeAnnualSpendingInput struct { CurrentAnnualSpending *string `json:"currentAnnualSpending,omitempty"` CurrentAnnualSpendingITPortion *string `json:"currentAnnualSpendingITPortion,omitempty"` PlannedYearOneSpending *string `json:"plannedYearOneSpending,omitempty"` PlannedYearOneSpendingITPortion *string `json:"plannedYearOneSpendingITPortion,omitempty"` }
Input data for current and planned year one annual costs associated with a system request
type SystemIntakeBusinessOwner ¶
type SystemIntakeBusinessOwner struct { Component *string `json:"component,omitempty"` Name *string `json:"name,omitempty"` }
Represents the OIT business owner of a system
type SystemIntakeBusinessOwnerInput ¶
type SystemIntakeBusinessOwnerInput struct { Name string `json:"name"` Component string `json:"component"` }
The input data used to set the CMS business owner of a system
type SystemIntakeChangeLCIDRetirementDateInput ¶
type SystemIntakeChangeLCIDRetirementDateInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` RetiresAt time.Time `json:"retiresAt"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for changing an intake's LCID retirement date in IT Gov v2
type SystemIntakeCloseRequestInput ¶
type SystemIntakeCloseRequestInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` Reason *HTML `json:"reason,omitempty"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for creating a Close Request Action in Admin Actions v2
type SystemIntakeCollaborator ¶
type SystemIntakeCollaborator struct { Acronym string `json:"acronym"` Collaborator string `json:"collaborator"` Key string `json:"key"` Label string `json:"label"` Name string `json:"name"` }
Represents a contact in OIT who is collaborating with the user creating a system IT governance request
type SystemIntakeCollaboratorInput ¶
type SystemIntakeCollaboratorInput struct { Collaborator string `json:"collaborator"` Name string `json:"name"` Key string `json:"key"` }
The input data used to add an OIT collaborator for a system request
type SystemIntakeConfirmLCIDInput ¶
type SystemIntakeConfirmLCIDInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` ExpiresAt time.Time `json:"expiresAt"` Scope HTML `json:"scope"` NextSteps HTML `json:"nextSteps"` TrbFollowUp SystemIntakeTRBFollowUp `json:"trbFollowUp"` CostBaseline *string `json:"costBaseline,omitempty"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for confirming an intake's decision to issue an LCID in IT Gov v2
type SystemIntakeContact ¶
type SystemIntakeContact struct { ID uuid.UUID `json:"id"` EUAUserID string `json:"euaUserId" db:"eua_user_id"` SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"` Component string `json:"component" db:"component"` Role string `json:"role" db:"role"` UpdatedAt *time.Time `db:"updated_at"` CreatedAt *time.Time `db:"created_at"` }
SystemIntakeContact represents an EUA user's association with a system intake
type SystemIntakeContactsPayload ¶
type SystemIntakeContactsPayload struct { SystemIntakeContacts []*AugmentedSystemIntakeContact `json:"systemIntakeContacts"` InvalidEUAIDs []string `json:"invalidEUAIDs"` }
The payload when retrieving system intake contacts
type SystemIntakeContract ¶
type SystemIntakeContract struct { Contractor *string `json:"contractor,omitempty"` EndDate *ContractDate `json:"endDate"` HasContract *string `json:"hasContract,omitempty"` StartDate *ContractDate `json:"startDate"` Vehicle *string `json:"vehicle,omitempty"` }
Represents a contract for work on a system
type SystemIntakeContractInput ¶
type SystemIntakeContractInput struct { Contractor *string `json:"contractor,omitempty"` EndDate *time.Time `json:"endDate,omitempty"` HasContract *string `json:"hasContract,omitempty"` StartDate *time.Time `json:"startDate,omitempty"` Numbers []string `json:"numbers"` }
Input data containing information about a contract related to a system request
type SystemIntakeContractNumber ¶
type SystemIntakeContractNumber struct { BaseStructUser SystemIntakeID uuid.UUID `db:"system_intake_id"` ContractNumber string `db:"contract_number"` }
SystemIntakeContractNumber is the insertion type for linking a system intake to contract number(s)
func NewSystemIntakeContractNumber ¶
func NewSystemIntakeContractNumber(createdBy uuid.UUID) SystemIntakeContractNumber
NewSystemIntakeContractNumber creates a SystemIntakeContractNumberLink
func (*SystemIntakeContractNumber) CreatedByUserAccount ¶
func (cbr *SystemIntakeContractNumber) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
CreatedByUserAccount returns the user account of the user who created the struct from the DB using the UserAccount service
func (SystemIntakeContractNumber) GetMappingKey ¶
func (s SystemIntakeContractNumber) GetMappingKey() uuid.UUID
func (SystemIntakeContractNumber) GetMappingVal ¶
func (s SystemIntakeContractNumber) GetMappingVal() *SystemIntakeContractNumber
func (*SystemIntakeContractNumber) ModifiedByUserAccount ¶
func (mbr *SystemIntakeContractNumber) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
ModifiedByUserAccount returns the user account of the user who modified the struct from the DB using the UserAccount service
type SystemIntakeCosts ¶
type SystemIntakeCosts struct { ExpectedIncreaseAmount *string `json:"expectedIncreaseAmount,omitempty"` IsExpectingIncrease *string `json:"isExpectingIncrease,omitempty"` }
Represents expectations about a system's additional costs
type SystemIntakeCostsInput ¶
type SystemIntakeCostsInput struct { ExpectedIncreaseAmount *string `json:"expectedIncreaseAmount,omitempty"` IsExpectingIncrease *string `json:"isExpectingIncrease,omitempty"` }
Input data for estimated system cost increases associated with a system request
NOTE: This field is no longer in intake form but data/query is preserved for existing intakes (EASI-2076)
type SystemIntakeDecisionState ¶
type SystemIntakeDecisionState string
SystemIntakeDecisionState represents the types of SystemIntakeDecisionState types.
const ( SIDSNoDecision SystemIntakeDecisionState = "NO_DECISION" SIDSLcidIssued SystemIntakeDecisionState = "LCID_ISSUED" SIDSNotApproved SystemIntakeDecisionState = "NOT_APPROVED" SIDSNotGovernance SystemIntakeDecisionState = "NOT_GOVERNANCE" )
These are the options for SystemIntakeDecisionState
type SystemIntakeDocument ¶
type SystemIntakeDocument struct { BaseStruct SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"` CommonDocumentType SystemIntakeDocumentCommonType `db:"document_type"` Version SystemIntakeDocumentVersion `db:"document_version" json:"version"` OtherType string `db:"other_type"` FileName string `json:"fileName" db:"file_name"` Bucket string `json:"bucket" db:"bucket"` S3Key string `json:"s3Key" db:"s3_key"` // The document's key inside an S3 bucket; does *not* include the bucket name. UploaderRole DocumentUploaderRole `json:"uploaderRole" db:"uploader_role"` }
SystemIntakeDocument represents a document attached to a system intake that has been uploaded to S3
func (SystemIntakeDocument) GetMappingKey ¶
func (d SystemIntakeDocument) GetMappingKey() uuid.UUID
func (SystemIntakeDocument) GetMappingVal ¶
func (d SystemIntakeDocument) GetMappingVal() *SystemIntakeDocument
type SystemIntakeDocumentCommonType ¶
type SystemIntakeDocumentCommonType string
SystemIntakeDocumentCommonType represents the document type, including an "OTHER" option for user-specified types
type SystemIntakeDocumentStatus ¶
type SystemIntakeDocumentStatus string
SystemIntakeDocumentStatus represents the availability of a document in regards to virus scanning
type SystemIntakeDocumentType ¶
type SystemIntakeDocumentType struct { CommonType SystemIntakeDocumentCommonType `json:"commonType"` OtherTypeDescription *string `json:"otherTypeDescription,omitempty"` }
Denotes the type of a document attached to a System Intake, which can be one of a number of common types, or a free-text user-specified type
type SystemIntakeDocumentVersion ¶
type SystemIntakeDocumentVersion string
SystemIntakeDocumentVersion represents whether a document is recent and relevant or included for historical purposes
type SystemIntakeExpireLCIDInput ¶
type SystemIntakeExpireLCIDInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` Reason HTML `json:"reason"` NextSteps *HTML `json:"nextSteps,omitempty"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for expiring an intake's LCID in IT Gov v2
type SystemIntakeFormState ¶
type SystemIntakeFormState string
SystemIntakeFormState represents the possible states of of any System Intake form types.
const ( SIRFSNotStarted SystemIntakeFormState = "NOT_STARTED" SIRFSInProgress SystemIntakeFormState = "IN_PROGRESS" SIRFSEditsRequested SystemIntakeFormState = "EDITS_REQUESTED" SIRFSSubmitted SystemIntakeFormState = "SUBMITTED" )
These are the options for SystemIntakeRequestFormState
type SystemIntakeFormStep ¶
type SystemIntakeFormStep string
SystemIntakeRequestEditsOptions represents the current step in the intake process
const ( SystemIntakeFormStepInitialRequestForm SystemIntakeFormStep = "INITIAL_REQUEST_FORM" SystemIntakeFormStepDraftBusinessCase SystemIntakeFormStep = "DRAFT_BUSINESS_CASE" SystemIntakeFormStepFinalBusinessCase SystemIntakeFormStep = "FINAL_BUSINESS_CASE" )
func (SystemIntakeFormStep) IsValid ¶
func (e SystemIntakeFormStep) IsValid() bool
func (SystemIntakeFormStep) MarshalGQL ¶
func (e SystemIntakeFormStep) MarshalGQL(w io.Writer)
func (SystemIntakeFormStep) String ¶
func (e SystemIntakeFormStep) String() string
func (*SystemIntakeFormStep) UnmarshalGQL ¶
func (e *SystemIntakeFormStep) UnmarshalGQL(v interface{}) error
type SystemIntakeFundingSource ¶
type SystemIntakeFundingSource struct { ID uuid.UUID `json:"id"` SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"` Source null.String `json:"source" db:"source"` FundingNumber null.String `json:"fundingNumber" db:"funding_number"` CreatedAt *time.Time `db:"created_at"` }
SystemIntakeFundingSource represents one of multiple funding selections that can be added to a SystemIntake
func (SystemIntakeFundingSource) GetMappingKey ¶
func (s SystemIntakeFundingSource) GetMappingKey() uuid.UUID
func (SystemIntakeFundingSource) GetMappingVal ¶
func (s SystemIntakeFundingSource) GetMappingVal() *SystemIntakeFundingSource
type SystemIntakeFundingSourceInput ¶
type SystemIntakeFundingSourceInput struct { FundingNumber *string `json:"fundingNumber,omitempty"` Source *string `json:"source,omitempty"` }
Represents the source of funding for a system
type SystemIntakeFundingSourcesInput ¶
type SystemIntakeFundingSourcesInput struct { ExistingFunding *bool `json:"existingFunding,omitempty"` FundingSources []*SystemIntakeFundingSourceInput `json:"fundingSources"` }
The input required to specify the funding source(s) for a system intake
type SystemIntakeGRBReviewer ¶
type SystemIntakeGRBReviewer struct { BaseStructUser SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"` VotingRole SIGRBReviewerVotingRole `json:"votingRole" db:"voting_role"` GRBRole SIGRBReviewerRole `json:"grbRole" db:"grb_role"` // contains filtered or unexported fields }
SystemIntakeGRBReviewer describes
func NewSystemIntakeGRBReviewer ¶
func NewSystemIntakeGRBReviewer(userID uuid.UUID, createdBy uuid.UUID) *SystemIntakeGRBReviewer
func (*SystemIntakeGRBReviewer) CreatedByUserAccount ¶
func (cbr *SystemIntakeGRBReviewer) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
CreatedByUserAccount returns the user account of the user who created the struct from the DB using the UserAccount service
func (SystemIntakeGRBReviewer) GetMappingKey ¶
func (r SystemIntakeGRBReviewer) GetMappingKey() uuid.UUID
func (SystemIntakeGRBReviewer) GetMappingVal ¶
func (r SystemIntakeGRBReviewer) GetMappingVal() *SystemIntakeGRBReviewer
func (*SystemIntakeGRBReviewer) ModifiedByUserAccount ¶
func (mbr *SystemIntakeGRBReviewer) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
ModifiedByUserAccount returns the user account of the user who modified the struct from the DB using the UserAccount service
func (*SystemIntakeGRBReviewer) UserAccount ¶
func (b *SystemIntakeGRBReviewer) UserAccount(ctx context.Context) (*authentication.UserAccount, error)
type SystemIntakeGRBReviewerComparisonResponse ¶
type SystemIntakeGRBReviewerComparisonResponse struct { authentication.UserAccount SystemIntakeGRBReviewer IsCurrentReviewer bool `db:"is_current_reviewer"` RequestName string `db:"project_name"` EuaID string `db:"username"` CommonName string `db:"common_name"` IntakeCreatedAt *time.Time `db:"intake_created_at"` }
func (*SystemIntakeGRBReviewerComparisonResponse) CreatedByUserAccount ¶
func (cbr *SystemIntakeGRBReviewerComparisonResponse) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
CreatedByUserAccount returns the user account of the user who created the struct from the DB using the UserAccount service
func (*SystemIntakeGRBReviewerComparisonResponse) ModifiedByUserAccount ¶
func (mbr *SystemIntakeGRBReviewerComparisonResponse) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
ModifiedByUserAccount returns the user account of the user who modified the struct from the DB using the UserAccount service
func (*SystemIntakeGRBReviewerComparisonResponse) UserAccount ¶
func (b *SystemIntakeGRBReviewerComparisonResponse) UserAccount(ctx context.Context) (*authentication.UserAccount, error)
type SystemIntakeGRBReviewerRole ¶
type SystemIntakeGRBReviewerRole string
const ( SystemIntakeGRBReviewerRoleCoChairCio SystemIntakeGRBReviewerRole = "CO_CHAIR_CIO" SystemIntakeGRBReviewerRoleCoChairCfo SystemIntakeGRBReviewerRole = "CO_CHAIR_CFO" SystemIntakeGRBReviewerRoleCoChairHca SystemIntakeGRBReviewerRole = "CO_CHAIR_HCA" SystemIntakeGRBReviewerRoleAca3021Rep SystemIntakeGRBReviewerRole = "ACA_3021_REP" SystemIntakeGRBReviewerRoleCciioRep SystemIntakeGRBReviewerRole = "CCIIO_REP" SystemIntakeGRBReviewerRoleProgramOperationsBdgChair SystemIntakeGRBReviewerRole = "PROGRAM_OPERATIONS_BDG_CHAIR" SystemIntakeGRBReviewerRoleCmcsRep SystemIntakeGRBReviewerRole = "CMCS_REP" SystemIntakeGRBReviewerRoleFedAdminBdgChair SystemIntakeGRBReviewerRole = "FED_ADMIN_BDG_CHAIR" SystemIntakeGRBReviewerRoleProgramIntegrityBdgChair SystemIntakeGRBReviewerRole = "PROGRAM_INTEGRITY_BDG_CHAIR" SystemIntakeGRBReviewerRoleQioRep SystemIntakeGRBReviewerRole = "QIO_REP" SystemIntakeGRBReviewerRoleSubjectMatterExpert SystemIntakeGRBReviewerRole = "SUBJECT_MATTER_EXPERT" SystemIntakeGRBReviewerRoleOther SystemIntakeGRBReviewerRole = "OTHER" )
func (SystemIntakeGRBReviewerRole) IsValid ¶
func (e SystemIntakeGRBReviewerRole) IsValid() bool
func (SystemIntakeGRBReviewerRole) MarshalGQL ¶
func (e SystemIntakeGRBReviewerRole) MarshalGQL(w io.Writer)
func (SystemIntakeGRBReviewerRole) String ¶
func (e SystemIntakeGRBReviewerRole) String() string
func (*SystemIntakeGRBReviewerRole) UnmarshalGQL ¶
func (e *SystemIntakeGRBReviewerRole) UnmarshalGQL(v interface{}) error
type SystemIntakeGRBReviewerVotingRole ¶
type SystemIntakeGRBReviewerVotingRole string
const ( SystemIntakeGRBReviewerVotingRoleVoting SystemIntakeGRBReviewerVotingRole = "VOTING" SystemIntakeGRBReviewerVotingRoleAlternate SystemIntakeGRBReviewerVotingRole = "ALTERNATE" SystemIntakeGRBReviewerVotingRoleNonVoting SystemIntakeGRBReviewerVotingRole = "NON_VOTING" )
func (SystemIntakeGRBReviewerVotingRole) IsValid ¶
func (e SystemIntakeGRBReviewerVotingRole) IsValid() bool
func (SystemIntakeGRBReviewerVotingRole) MarshalGQL ¶
func (e SystemIntakeGRBReviewerVotingRole) MarshalGQL(w io.Writer)
func (SystemIntakeGRBReviewerVotingRole) String ¶
func (e SystemIntakeGRBReviewerVotingRole) String() string
func (*SystemIntakeGRBReviewerVotingRole) UnmarshalGQL ¶
func (e *SystemIntakeGRBReviewerVotingRole) UnmarshalGQL(v interface{}) error
type SystemIntakeGovernanceTeam ¶
type SystemIntakeGovernanceTeam struct { IsPresent *bool `json:"isPresent,omitempty"` Teams []*SystemIntakeCollaborator `json:"teams,omitempty"` }
Contains multiple system request collaborators, if any
type SystemIntakeGovernanceTeamInput ¶
type SystemIntakeGovernanceTeamInput struct { IsPresent *bool `json:"isPresent,omitempty"` Teams []*SystemIntakeCollaboratorInput `json:"teams,omitempty"` }
The input data used to set the list of OIT collaborators for a system request
type SystemIntakeISSOInput ¶
type SystemIntakeISSOInput struct { IsPresent *bool `json:"isPresent,omitempty"` Name *string `json:"name,omitempty"` }
The input data used to set the ISSO associated with a system request, if any
type SystemIntakeIsso ¶
type SystemIntakeIsso struct { IsPresent *bool `json:"isPresent,omitempty"` Name *string `json:"name,omitempty"` }
The Information System Security Officer (ISSO) that is assicuated with a system request, if any
type SystemIntakeIssueLCIDInput ¶
type SystemIntakeIssueLCIDInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` Lcid *string `json:"lcid,omitempty"` ExpiresAt time.Time `json:"expiresAt"` Scope HTML `json:"scope"` NextSteps HTML `json:"nextSteps"` TrbFollowUp SystemIntakeTRBFollowUp `json:"trbFollowUp"` CostBaseline *string `json:"costBaseline,omitempty"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for setting an intake's decision to issuing an LCID in IT Gov v2
type SystemIntakeLCIDExpirationChange ¶
type SystemIntakeLCIDExpirationChange struct { PreviousDate time.Time `json:"previousDate"` NewDate time.Time `json:"newDate"` PreviousScope *HTML `json:"previousScope,omitempty"` NewScope *HTML `json:"newScope,omitempty"` PreviousNextSteps *HTML `json:"previousNextSteps,omitempty"` NewNextSteps *HTML `json:"newNextSteps,omitempty"` PreviousCostBaseline *string `json:"previousCostBaseline,omitempty"` NewCostBaseline *string `json:"newCostBaseline,omitempty"` }
Contains the data about a change to the expiration date of a system request's lifecycle ID
type SystemIntakeLCIDStatus ¶
type SystemIntakeLCIDStatus string
SystemIntakeLCIDStatus represents the possible statuses that an issued LCID can be in
const ( SystemIntakeLCIDStatusIssued SystemIntakeLCIDStatus = "ISSUED" SystemIntakeLCIDStatusExpired SystemIntakeLCIDStatus = "EXPIRED" SystemIntakeLCIDStatusRetired SystemIntakeLCIDStatus = "RETIRED" )
possible values of SystemIntakeLCIDStatus - corresponds to SystemIntakeLCIDStatus enum in GraphQL schema
type SystemIntakeMeetingState ¶
type SystemIntakeMeetingState string
SystemIntakeMeetingState is the state for any meeting for a system intake
const ( SIMSScheduled SystemIntakeMeetingState = "SCHEDULED" SIMSNotScheduled SystemIntakeMeetingState = "NOT_SCHEDULED" )
These are the options for SystemIntakeMeetingState
type SystemIntakeNotITGovReqInput ¶
type SystemIntakeNotITGovReqInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` Reason *HTML `json:"reason,omitempty"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for creating a Not an IT Governance Request Action in Admin Actions v2
type SystemIntakeNote ¶
type SystemIntakeNote struct { ID uuid.UUID `json:"id"` SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake"` CreatedAt *time.Time `json:"createdAt" db:"created_at"` AuthorEUAID string `json:"authorId" db:"eua_user_id"` AuthorName null.String `json:"authorName" db:"author_name"` Content *HTML `json:"content" db:"content"` ModifiedAt *time.Time `json:"modifiedAt" db:"modified_at"` ModifiedBy *string `json:"modifiedBy" db:"modified_by"` IsArchived bool `json:"isArchived" db:"is_archived"` }
SystemIntakeNote holds commentary information submitted by the review team about a SystemIntake
func (SystemIntakeNote) GetMappingKey ¶
func (n SystemIntakeNote) GetMappingKey() uuid.UUID
func (SystemIntakeNote) GetMappingVal ¶
func (n SystemIntakeNote) GetMappingVal() *SystemIntakeNote
type SystemIntakeNoteAuthor ¶
The author of a note added to a system request
type SystemIntakeProductManager ¶
type SystemIntakeProductManager struct { Component *string `json:"component,omitempty"` Name *string `json:"name,omitempty"` }
The product manager associated with a system
type SystemIntakeProductManagerInput ¶
type SystemIntakeProductManagerInput struct { Name string `json:"name"` Component string `json:"component"` }
The input data used to set the CMS product manager/lead of a system
type SystemIntakeProgressToNewStepsInput ¶
type SystemIntakeProgressToNewStepsInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` NewStep SystemIntakeStepToProgressTo `json:"newStep"` MeetingDate *time.Time `json:"meetingDate,omitempty"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` Feedback *HTML `json:"feedback,omitempty"` GrbRecommendations *HTML `json:"grbRecommendations,omitempty"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for submitting a Progress to New Step action in IT Gov v2
type SystemIntakeRejectIntakeInput ¶
type SystemIntakeRejectIntakeInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` Reason HTML `json:"reason"` NextSteps HTML `json:"nextSteps"` TrbFollowUp SystemIntakeTRBFollowUp `json:"trbFollowUp"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for setting an intake's decision to Not Approved by GRB in IT Gov v2
type SystemIntakeReopenRequestInput ¶
type SystemIntakeReopenRequestInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` Reason *HTML `json:"reason,omitempty"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for creating a Reopen Request Action in Admin Actions v2
type SystemIntakeRequestEditsInput ¶
type SystemIntakeRequestEditsInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` IntakeFormStep SystemIntakeFormStep `json:"intakeFormStep"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` EmailFeedback HTML `json:"emailFeedback"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for creating a Request Edits Action in Admin Actions v2
type SystemIntakeRequestType ¶
type SystemIntakeRequestType string
SystemIntakeRequestType represents the type of a system intake
const ( // SystemIntakeRequestTypeNEW captures enum value of "NEW" SystemIntakeRequestTypeNEW SystemIntakeRequestType = "NEW" // SystemIntakeRequestTypeMAJORCHANGES captures enum value of "MAJOR_CHANGES" SystemIntakeRequestTypeMAJORCHANGES SystemIntakeRequestType = "MAJOR_CHANGES" // SystemIntakeRequestTypeRECOMPETE captures enum value of "RECOMPETE" SystemIntakeRequestTypeRECOMPETE SystemIntakeRequestType = "RECOMPETE" // SystemIntakeRequestTypeSHUTDOWN captures enum value of "SHUTDOWN" SystemIntakeRequestTypeSHUTDOWN SystemIntakeRequestType = "SHUTDOWN" )
type SystemIntakeRequester ¶
type SystemIntakeRequester struct { Component *string `json:"component,omitempty"` Email *string `json:"email,omitempty"` Name string `json:"name"` }
The contact who made an IT governance request for a system
type SystemIntakeRequesterInput ¶
type SystemIntakeRequesterInput struct {
Name string `json:"name"`
}
The input data used to set the requester of a system request
type SystemIntakeRequesterWithComponentInput ¶
type SystemIntakeRequesterWithComponentInput struct { Name string `json:"name"` Component string `json:"component"` }
The input data used to set the requester for a system request along with the requester's business component
type SystemIntakeRetireLCIDInput ¶
type SystemIntakeRetireLCIDInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` RetiresAt time.Time `json:"retiresAt"` Reason *HTML `json:"reason,omitempty"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for retiring an intake's LCID in IT Gov v2
type SystemIntakeSoftwareAcquisitionMethod ¶
type SystemIntakeSoftwareAcquisitionMethod string
const ( SystemIntakeSoftwareAcquisitionContractorFurnished SystemIntakeSoftwareAcquisitionMethod = "CONTRACTOR_FURNISHED" SystemIntakeSoftwareAcquisitionFedFurnished SystemIntakeSoftwareAcquisitionMethod = "FED_FURNISHED" SystemIntakeSoftwareAcquisitionELAOrInternal SystemIntakeSoftwareAcquisitionMethod = "ELA_OR_INTERNAL" SystemIntakeSoftwareAcquisitionNotYetDetermined SystemIntakeSoftwareAcquisitionMethod = "NOT_YET_DETERMINED" SystemIntakeSoftwareAcquisitionOther SystemIntakeSoftwareAcquisitionMethod = "OTHER" )
type SystemIntakeSoftwareAcquisitionMethods ¶
type SystemIntakeSoftwareAcquisitionMethods string
SystemIntakeSoftwareAcquisitionMethods represents the different methods requesters can select in a system intake
const ( SystemIntakeSoftwareAcquisitionMethodsContractorFurnished SystemIntakeSoftwareAcquisitionMethods = "CONTRACTOR_FURNISHED" SystemIntakeSoftwareAcquisitionMethodsFedFurnished SystemIntakeSoftwareAcquisitionMethods = "FED_FURNISHED" SystemIntakeSoftwareAcquisitionMethodsElaOrInternal SystemIntakeSoftwareAcquisitionMethods = "ELA_OR_INTERNAL" SystemIntakeSoftwareAcquisitionMethodsNotYetDetermined SystemIntakeSoftwareAcquisitionMethods = "NOT_YET_DETERMINED" SystemIntakeSoftwareAcquisitionMethodsOther SystemIntakeSoftwareAcquisitionMethods = "OTHER" )
func (SystemIntakeSoftwareAcquisitionMethods) IsValid ¶
func (e SystemIntakeSoftwareAcquisitionMethods) IsValid() bool
func (SystemIntakeSoftwareAcquisitionMethods) MarshalGQL ¶
func (e SystemIntakeSoftwareAcquisitionMethods) MarshalGQL(w io.Writer)
func (SystemIntakeSoftwareAcquisitionMethods) String ¶
func (e SystemIntakeSoftwareAcquisitionMethods) String() string
func (*SystemIntakeSoftwareAcquisitionMethods) UnmarshalGQL ¶
func (e *SystemIntakeSoftwareAcquisitionMethods) UnmarshalGQL(v interface{}) error
type SystemIntakeState ¶
type SystemIntakeState string
SystemIntakeState represents whether the intake is open or closed
const ( // SystemIntakeStateOpen captures enum value "OPEN" SystemIntakeStateOpen SystemIntakeState = "OPEN" // SystemIntakeStateClosed captures enum value "CLOSED" SystemIntakeStateClosed SystemIntakeState = "CLOSED" )
type SystemIntakeStatusAdmin ¶
type SystemIntakeStatusAdmin string
SystemIntakeStatusAdmin represents the types of statuses that a user can see in the admin view of a system intake request.
const ( SISAInitialRequestFormInProgress SystemIntakeStatusAdmin = "INITIAL_REQUEST_FORM_IN_PROGRESS" SISAInitialRequestFormSubmitted SystemIntakeStatusAdmin = "INITIAL_REQUEST_FORM_SUBMITTED" SISADraftBusinessCaseInProgress SystemIntakeStatusAdmin = "DRAFT_BUSINESS_CASE_IN_PROGRESS" SISADraftBusinessCaseSubmitted SystemIntakeStatusAdmin = "DRAFT_BUSINESS_CASE_SUBMITTED" SISAGrtMeetingReady SystemIntakeStatusAdmin = "GRT_MEETING_READY" SISAGrtMeetingComplete SystemIntakeStatusAdmin = "GRT_MEETING_COMPLETE" SISAGrbMeetingReady SystemIntakeStatusAdmin = "GRB_MEETING_READY" SISAGrbMeetingComplete SystemIntakeStatusAdmin = "GRB_MEETING_COMPLETE" SISAFinalBusinessCaseInProgress SystemIntakeStatusAdmin = "FINAL_BUSINESS_CASE_IN_PROGRESS" SISAFinalBusinessCaseSubmitted SystemIntakeStatusAdmin = "FINAL_BUSINESS_CASE_SUBMITTED" SISALcidIssued SystemIntakeStatusAdmin = "LCID_ISSUED" SISALcidExpired SystemIntakeStatusAdmin = "LCID_EXPIRED" SISALcidRetired SystemIntakeStatusAdmin = "LCID_RETIRED" SISANotGovernance SystemIntakeStatusAdmin = "NOT_GOVERNANCE" SISANotApproved SystemIntakeStatusAdmin = "NOT_APPROVED" SISAClosed SystemIntakeStatusAdmin = "CLOSED" )
These are the options for SystemIntakeStatusAdmin
type SystemIntakeStatusRequester ¶
type SystemIntakeStatusRequester string
SystemIntakeStatusRequester represents the (calculated) statuses that a requester view of a system intake request can show
const ( SISRInitialRequestFormNew SystemIntakeStatusRequester = "INITIAL_REQUEST_FORM_NEW" SISRInitialRequestFormInProgress SystemIntakeStatusRequester = "INITIAL_REQUEST_FORM_IN_PROGRESS" SISRInitialRequestFormSubmitted SystemIntakeStatusRequester = "INITIAL_REQUEST_FORM_SUBMITTED" SISRInitialRequestFormEditsRequested SystemIntakeStatusRequester = "INITIAL_REQUEST_FORM_EDITS_REQUESTED" SISRDraftBusinessCaseInProgress SystemIntakeStatusRequester = "DRAFT_BUSINESS_CASE_IN_PROGRESS" SISRDraftBusinessCaseSubmitted SystemIntakeStatusRequester = "DRAFT_BUSINESS_CASE_SUBMITTED" SISRDraftBusinessCaseEditsRequested SystemIntakeStatusRequester = "DRAFT_BUSINESS_CASE_EDITS_REQUESTED" SISRGrtMeetingReady SystemIntakeStatusRequester = "GRT_MEETING_READY" SISRGrtMeetingAwaitingDecision SystemIntakeStatusRequester = "GRT_MEETING_AWAITING_DECISION" SISRFinalBusinessCaseInProgress SystemIntakeStatusRequester = "FINAL_BUSINESS_CASE_IN_PROGRESS" SISRFinalBusinessCaseSubmitted SystemIntakeStatusRequester = "FINAL_BUSINESS_CASE_SUBMITTED" SISRFinalBusinessCaseEditsRequested SystemIntakeStatusRequester = "FINAL_BUSINESS_CASE_EDITS_REQUESTED" SISRGrbMeetingReady SystemIntakeStatusRequester = "GRB_MEETING_READY" SISRGrbMeetingAwaitingDecision SystemIntakeStatusRequester = "GRB_MEETING_AWAITING_DECISION" SISRLcidIssued SystemIntakeStatusRequester = "LCID_ISSUED" SISRLcidExpired SystemIntakeStatusRequester = "LCID_EXPIRED" SISRLcidRetired SystemIntakeStatusRequester = "LCID_RETIRED" SISRNotGovernance SystemIntakeStatusRequester = "NOT_GOVERNANCE" SISRNotApproved SystemIntakeStatusRequester = "NOT_APPROVED" SISRClosed SystemIntakeStatusRequester = "CLOSED" )
These are the options for SystemIntakeStatusRequester
type SystemIntakeStep ¶
type SystemIntakeStep string
SystemIntakeStep represents the current step in the intake process
const ( // SystemIntakeStepINITIALFORM captures enum value "INITIAL_REQUEST_FORM" SystemIntakeStepINITIALFORM SystemIntakeStep = "INITIAL_REQUEST_FORM" // SystemIntakeStepDRAFTBIZCASE captures enum value "DRAFT_BUSINESS_CASE" SystemIntakeStepDRAFTBIZCASE SystemIntakeStep = "DRAFT_BUSINESS_CASE" // SystemIntakeStepGRTMEETING captures enum value "GRT_MEETING" SystemIntakeStepGRTMEETING SystemIntakeStep = "GRT_MEETING" // SystemIntakeStepFINALBIZCASE captures enum value "FINAL_BUSINESS_CASE" SystemIntakeStepFINALBIZCASE SystemIntakeStep = "FINAL_BUSINESS_CASE" // SystemIntakeStepGRBMEETING captures enum value "GRB_MEETING" SystemIntakeStepGRBMEETING SystemIntakeStep = "GRB_MEETING" // SystemIntakeStepDECISION captures enum value "DECISION_AND_NEXT_STEPS" SystemIntakeStepDECISION SystemIntakeStep = "DECISION_AND_NEXT_STEPS" )
type SystemIntakeStepToProgressTo ¶
type SystemIntakeStepToProgressTo string
Steps in the system intake process that a Progress to New Step action can progress to
const ( SystemIntakeStepToProgressToDraftBusinessCase SystemIntakeStepToProgressTo = "DRAFT_BUSINESS_CASE" SystemIntakeStepToProgressToGrtMeeting SystemIntakeStepToProgressTo = "GRT_MEETING" SystemIntakeStepToProgressToGrbMeeting SystemIntakeStepToProgressTo = "GRB_MEETING" SystemIntakeStepToProgressToFinalBusinessCase SystemIntakeStepToProgressTo = "FINAL_BUSINESS_CASE" )
func (SystemIntakeStepToProgressTo) IsValid ¶
func (e SystemIntakeStepToProgressTo) IsValid() bool
func (SystemIntakeStepToProgressTo) MarshalGQL ¶
func (e SystemIntakeStepToProgressTo) MarshalGQL(w io.Writer)
func (SystemIntakeStepToProgressTo) String ¶
func (e SystemIntakeStepToProgressTo) String() string
func (*SystemIntakeStepToProgressTo) UnmarshalGQL ¶
func (e *SystemIntakeStepToProgressTo) UnmarshalGQL(v interface{}) error
type SystemIntakeSystem ¶
type SystemIntakeSystem struct { BaseStructUser SystemIntakeID uuid.UUID `db:"system_intake_id"` SystemID string `db:"system_id"` }
SystemIntakeSystem is the insertion type for linking a system intake to system(s)
func NewSystemIntakeSystem ¶
func NewSystemIntakeSystem(createdBy uuid.UUID) SystemIntakeSystem
NewSystemIntakeSystem creates a SystemIntakeSystemLink
func (*SystemIntakeSystem) CreatedByUserAccount ¶
func (cbr *SystemIntakeSystem) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
CreatedByUserAccount returns the user account of the user who created the struct from the DB using the UserAccount service
func (SystemIntakeSystem) GetMappingKey ¶
func (s SystemIntakeSystem) GetMappingKey() uuid.UUID
func (SystemIntakeSystem) GetMappingVal ¶
func (s SystemIntakeSystem) GetMappingVal() *SystemIntakeSystem
func (*SystemIntakeSystem) ModifiedByUserAccount ¶
func (mbr *SystemIntakeSystem) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
ModifiedByUserAccount returns the user account of the user who modified the struct from the DB using the UserAccount service
type SystemIntakeTRBFollowUp ¶
type SystemIntakeTRBFollowUp string
SystemIntakeTRBFollowUp represents whether a requester is recommended to follow up by consulting the TRB
const ( TRBFRStronglyRecommended SystemIntakeTRBFollowUp = "STRONGLY_RECOMMENDED" TRBFRRecommendedButNotCritical SystemIntakeTRBFollowUp = "RECOMMENDED_BUT_NOT_CRITICAL" TRBFRNotRecommended SystemIntakeTRBFollowUp = "NOT_RECOMMENDED" )
These are the options for SystemIntakeTRBFollowUp
type SystemIntakeUnretireLCIDInput ¶
type SystemIntakeUnretireLCIDInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for "unretiring" (i.e. removing retirement date) an LCID in IT Gov v2
type SystemIntakeUpdateLCIDInput ¶
type SystemIntakeUpdateLCIDInput struct { SystemIntakeID uuid.UUID `json:"systemIntakeID"` ExpiresAt *time.Time `json:"expiresAt,omitempty"` Scope *HTML `json:"scope,omitempty"` NextSteps *HTML `json:"nextSteps,omitempty"` CostBaseline *string `json:"costBaseline,omitempty"` Reason *HTML `json:"reason,omitempty"` AdditionalInfo *HTML `json:"additionalInfo,omitempty"` NotificationRecipients *EmailNotificationRecipients `json:"notificationRecipients,omitempty"` AdminNote *HTML `json:"adminNote,omitempty"` }
Input for updating an intake's LCID in IT Gov v2
type SystemIntakesByCedarSystemIDsRequest ¶
type SystemIntakesByCedarSystemIDsRequest struct { CedarSystemID string State SystemIntakeState }
type SystemIntakesByCedarSystemIDsResponse ¶
type SystemIntakesByCedarSystemIDsResponse struct { CedarSystemID string `db:"system_id"` SystemIntake }
func (SystemIntakesByCedarSystemIDsResponse) GetMappingKey ¶
func (s SystemIntakesByCedarSystemIDsResponse) GetMappingKey() string
func (SystemIntakesByCedarSystemIDsResponse) GetMappingVal ¶
func (s SystemIntakesByCedarSystemIDsResponse) GetMappingVal() *SystemIntake
type SystemMaintainerInformation ¶
type SystemMaintainerInformation struct { AdHocAgileDeploymentFrequency zero.String `json:"adHocAgileDeploymentFrequency,omitempty"` AgileUsed bool `json:"agileUsed"` AuthoritativeDatasource zero.String `json:"authoritativeDatasource,omitempty"` BusinessArtifactsOnDemand bool `json:"businessArtifactsOnDemand"` DataAtRestEncryptionKeyManagement zero.String `json:"dataAtRestEncryptionKeyManagement,omitempty"` DeploymentFrequency zero.String `json:"deploymentFrequency"` DevCompletionPercent zero.String `json:"devCompletionPercent"` DevWorkDescription zero.String `json:"devWorkDescription"` EcapParticipation bool `json:"ecapParticipation"` FrontendAccessType zero.String `json:"frontendAccessType"` HardCodedIPAddress bool `json:"hardCodedIpAddress"` IP6EnabledAssetPercent zero.String `json:"ip6EnabledAssetPercent"` IP6TransitionPlan zero.String `json:"ip6TransitionPlan"` IPEnabledAssetCount int `json:"ipEnabledAssetCount"` LegalHoldCaseName zero.String `json:"legalHoldCaseName,omitempty"` LocallyStoredUserInformation bool `json:"locallyStoredUserInformation,omitempty"` MajorRefreshDate zero.Time `json:"majorRefreshDate"` MultifactorAuthenticationMethod []zero.String `json:"multifactorAuthenticationMethod"` MultifactorAuthenticationMethodOther zero.String `json:"multifactorAuthenticationMethodOther,omitempty"` NetAccessibility zero.String `json:"netAccessibility"` NetworkTrafficEncryptionKeyManagement zero.String `json:"networkTrafficEncryptionKeyManagement,omitempty"` NoMajorRefresh bool `json:"noMajorRefresh,omitempty"` NoPersistentRecordsFlag bool `json:"noPersistentRecordsFlag,omitempty"` NoPlannedMajorRefresh bool `json:"noPlannedMajorRefresh,omitempty"` OmDocumentationOnDemand bool `json:"omDocumentationOnDemand"` PlansToRetireReplace zero.String `json:"plansToRetireReplace"` QuarterToRetireReplace zero.String `json:"quarterToRetireReplace"` RecordsManagementBucket []zero.String `json:"recordsManagementBucket"` RecordsManagementDisposalLocation zero.String `json:"recordsManagementDisposalLocation,omitempty"` RecordsManagementDisposalPlan zero.String `json:"recordsManagementDisposalPlan,omitempty"` RecordsUnderLegalHold bool `json:"recordsUnderLegalHold,omitempty"` SourceCodeOnDemand bool `json:"sourceCodeOnDemand"` SystemCustomization zero.String `json:"systemCustomization"` SystemDesignOnDemand bool `json:"systemDesignOnDemand"` SystemDataLocation []zero.String `json:"systemDataLocation"` SystemDataLocationNotes zero.String `json:"systemDataLocationNotes,omitempty"` SystemProductionDate zero.Time `json:"systemProductionDate"` SystemRequirementsOnDemand bool `json:"systemRequirementsOnDemand"` TestPlanOnDemand bool `json:"testPlanOnDemand"` TestReportsOnDemand bool `json:"testReportsOnDemand"` TestScriptsOnDemand bool `json:"testScriptsOnDemand"` YearToRetireReplace zero.String `json:"yearToRetireReplace"` }
SystemMaintainerInformation contains information about the system maintainer of a CEDAR system
type TRBAdminNote ¶
type TRBAdminNote struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` Category TRBAdminNoteCategory `json:"category" db:"category"` NoteText HTML `json:"noteText" db:"note_text"` IsArchived bool `json:"isArchived" db:"is_archived"` // Initial Request Form AppliesToBasicRequestDetails null.Bool `json:"appliesToBasicRequestDetails" db:"applies_to_basic_request_details"` AppliesToSubjectAreas null.Bool `json:"appliesToSubjectAreas" db:"applies_to_subject_areas"` AppliesToAttendees null.Bool `json:"appliesToAttendees" db:"applies_to_attendees"` // Guidance Letter AppliesToMeetingSummary null.Bool `json:"appliesToMeetingSummary" db:"applies_to_meeting_summary"` AppliesToNextSteps null.Bool `json:"appliesToNextSteps" db:"applies_to_next_steps"` }
TRBAdminNote represents the data for a note attached to a TRB request by an admin
func (TRBAdminNote) GetMappingKey ¶
func (n TRBAdminNote) GetMappingKey() uuid.UUID
func (TRBAdminNote) GetMappingVal ¶
func (n TRBAdminNote) GetMappingVal() *TRBAdminNote
type TRBAdminNoteCategory ¶
type TRBAdminNoteCategory string
TRBAdminNoteCategory is an enumeration of the possible categories of a TRBAdminNote
const ( TRBAdminNoteCategoryGeneralRequest TRBAdminNoteCategory = "GENERAL_REQUEST" TRBAdminNoteCategoryInitialRequestForm TRBAdminNoteCategory = "INITIAL_REQUEST_FORM" TRBAdminNoteCategorySupportingDocuments TRBAdminNoteCategory = "SUPPORTING_DOCUMENTS" TRBAdminNoteCategoryConsultSession TRBAdminNoteCategory = "CONSULT_SESSION" TRBAdminNoteCategoryGuidanceLetter TRBAdminNoteCategory = "GUIDANCE_LETTER" )
These are the possible categories for a TRB admin note
type TRBAdminNoteCategorySpecificData ¶
type TRBAdminNoteCategorySpecificData interface {
IsTRBAdminNoteCategorySpecificData()
}
type TRBAdminNoteConsultSessionCategoryData ¶
type TRBAdminNoteConsultSessionCategoryData struct { // Placeholder field so this type is non-empty, always null PlaceholderField *bool `json:"placeholderField,omitempty"` }
Data specific to admin notes in the Consult Session category This type doesn't contain any actual data
func (TRBAdminNoteConsultSessionCategoryData) IsTRBAdminNoteCategorySpecificData ¶
func (TRBAdminNoteConsultSessionCategoryData) IsTRBAdminNoteCategorySpecificData()
type TRBAdminNoteGeneralRequestCategoryData ¶
type TRBAdminNoteGeneralRequestCategoryData struct { // Placeholder field so this type is non-empty, always null PlaceholderField *bool `json:"placeholderField,omitempty"` }
Data specific to admin notes in the General Request category This type doesn't contain any actual data
func (TRBAdminNoteGeneralRequestCategoryData) IsTRBAdminNoteCategorySpecificData ¶
func (TRBAdminNoteGeneralRequestCategoryData) IsTRBAdminNoteCategorySpecificData()
type TRBAdminNoteGuidanceLetterCategoryData ¶
type TRBAdminNoteGuidanceLetterCategoryData struct { AppliesToMeetingSummary bool `json:"appliesToMeetingSummary"` AppliesToNextSteps bool `json:"appliesToNextSteps"` Insights []*TRBGuidanceLetterRecommendation `json:"insights"` }
Data specific to admin notes in the Guidance Letter category The "recommendations" property _will_ return deleted recommendations so that UI can reference the recommendation title
func (TRBAdminNoteGuidanceLetterCategoryData) IsTRBAdminNoteCategorySpecificData ¶
func (TRBAdminNoteGuidanceLetterCategoryData) IsTRBAdminNoteCategorySpecificData()
type TRBAdminNoteInitialRequestFormCategoryData ¶
type TRBAdminNoteInitialRequestFormCategoryData struct { AppliesToBasicRequestDetails bool `json:"appliesToBasicRequestDetails"` AppliesToSubjectAreas bool `json:"appliesToSubjectAreas"` AppliesToAttendees bool `json:"appliesToAttendees"` }
Data specific to admin notes in the Initial Request Form category
func (TRBAdminNoteInitialRequestFormCategoryData) IsTRBAdminNoteCategorySpecificData ¶
func (TRBAdminNoteInitialRequestFormCategoryData) IsTRBAdminNoteCategorySpecificData()
type TRBAdminNoteSupportingDocumentsCategoryData ¶
type TRBAdminNoteSupportingDocumentsCategoryData struct {
Documents []*TRBRequestDocument `json:"documents"`
}
Data specific to admin notes in the Supporting Documents category The "documents" property _will_ return deleted documents so that UI can reference the document name
func (TRBAdminNoteSupportingDocumentsCategoryData) IsTRBAdminNoteCategorySpecificData ¶
func (TRBAdminNoteSupportingDocumentsCategoryData) IsTRBAdminNoteCategorySpecificData()
type TRBAdminNoteTRBGuidanceLetterRecommendationLink ¶
type TRBAdminNoteTRBGuidanceLetterRecommendationLink struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` TRBAdminNoteID uuid.UUID `json:"trbAdminNoteId" db:"trb_admin_note_id"` TRBGuidanceLetterRecommendationID uuid.UUID `json:"trbGuidanceLetterRecommendationId" db:"trb_guidance_letter_recommendation_id"` }
TRBAdminNoteTRBGuidanceLetterRecommendationLink represents an association between a TRB admin note (in the Guidance Letter category) and a TRB guidance letter recommendation
type TRBAdminNoteTRBRequestDocumentLink ¶
type TRBAdminNoteTRBRequestDocumentLink struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` TRBAdminNoteID uuid.UUID `json:"trbAdminNoteId" db:"trb_admin_note_id"` TRBRequestDocumentID uuid.UUID `json:"trbRequestDocumentId" db:"trb_request_document_id"` }
TRBAdminNoteTRBRequestDocumentLink represents an association between a TRB admin note (in the Supporting Documents category) and a TRB document
type TRBAttendConsultStatus ¶
type TRBAttendConsultStatus string
TRBAttendConsultStatus represents the types of TRBAttendConsultStatus types
const ( TRBAttendConsultStatusCannotStartYet TRBAttendConsultStatus = "CANNOT_START_YET" TRBAttendConsultStatusReadyToSchedule TRBAttendConsultStatus = "READY_TO_SCHEDULE" TRBAttendConsultStatusScheduled TRBAttendConsultStatus = "SCHEDULED" TRBAttendConsultStatusCompleted TRBAttendConsultStatus = "COMPLETED" )
These are the options for TRBAttendConsultStatus
type TRBAttendeeByTRBAndEUAIDRequest ¶
TRBAttendeeByTRBAndEUAIDRequest is used by the dataloaders package to help batch attendee requests by EUA+TRB IDs
type TRBCollabGroupOption ¶
type TRBCollabGroupOption string
TRBCollabGroupOption is an enumeration of the possible OIT collaboration groups that can be selected for a TRB request form
const ( TRBCollabGroupOptionSecurity TRBCollabGroupOption = "SECURITY" TRBCollabGroupOptionEnterpriseArchitecture TRBCollabGroupOption = "ENTERPRISE_ARCHITECTURE" TRBCollabGroupOptionCloud TRBCollabGroupOption = "CLOUD" TRBCollabGroupOptionPrivacyAdvisor TRBCollabGroupOption = "PRIVACY_ADVISOR" TRBCollabGroupOptionGovernanceReviewBoard TRBCollabGroupOption = "GOVERNANCE_REVIEW_BOARD" TRBCollabGroupOptionOther TRBCollabGroupOption = "OTHER" )
These are the individual options for responses to the "Select any other OIT groups that you have met with or collaborated with" on the TRB request form
type TRBConsultPrepStatus ¶
type TRBConsultPrepStatus string
TRBConsultPrepStatus represents the types of TRBConsultPrepStatus types
const ( TRBConsultPrepStatusCannotStartYet TRBConsultPrepStatus = "CANNOT_START_YET" TRBConsultPrepStatusReadyToStart TRBConsultPrepStatus = "READY_TO_START" TRBConsultPrepStatusCompleted TRBConsultPrepStatus = "COMPLETED" )
These are the options for TRBConsultPrepStatus
type TRBDocumentCommonType ¶
type TRBDocumentCommonType string
TRBDocumentCommonType represents the document type, including an "OTHER" option for user-specified types
type TRBFeedbackAction ¶
type TRBFeedbackAction string
TRBFeedbackAction is an enumertion of actions that can be taken by a TRB admin during the feedback step
const ( TRBFeedbackActionRequestEdits TRBFeedbackAction = "REQUEST_EDITS" TRBFeedbackActionReadyForConsult TRBFeedbackAction = "READY_FOR_CONSULT" )
These are the options for TRBFeedbackAction
type TRBFeedbackStatus ¶
type TRBFeedbackStatus string
TRBFeedbackStatus represents the types of TRBFeedbackStatus types
const ( TRBFeedbackStatusCannotStartYet TRBFeedbackStatus = "CANNOT_START_YET" TRBFeedbackStatusInReview TRBFeedbackStatus = "IN_REVIEW" TRBFeedbackStatusEditsRequested TRBFeedbackStatus = "EDITS_REQUESTED" TRBFeedbackStatusCompleted TRBFeedbackStatus = "COMPLETED" )
These are the options for TRBFeedbackStatus
type TRBFormStatus ¶
type TRBFormStatus string
TRBFormStatus is an enumeration of the possible statuses of a TRBRequestForm
const ( TRBFormStatusReadyToStart TRBFormStatus = "READY_TO_START" TRBFormStatusInProgress TRBFormStatus = "IN_PROGRESS" TRBFormStatusCompleted TRBFormStatus = "COMPLETED" )
These are the possible statuses for a TRB request form
type TRBFundingSource ¶
type TRBFundingSource struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` Source string `json:"source" db:"source"` FundingNumber string `json:"fundingNumber" db:"funding_number"` }
TRBFundingSource represents one of multiple funding selections that can be added to a TRBRequestForm
func (TRBFundingSource) GetMappingKey ¶
func (f TRBFundingSource) GetMappingKey() uuid.UUID
func (TRBFundingSource) GetMappingVal ¶
func (f TRBFundingSource) GetMappingVal() *TRBFundingSource
type TRBGuidanceLetter ¶
type TRBGuidanceLetter struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` Status TRBGuidanceLetterStatus `json:"status" db:"status"` MeetingSummary *HTML `json:"meetingSummary" db:"meeting_summary"` NextSteps *HTML `json:"nextSteps" db:"next_steps"` IsFollowupRecommended *bool `json:"isFollowupRecommended" db:"is_followup_recommended"` DateSent *time.Time `json:"dateSent" db:"date_sent"` // not necessarily a firm date; can be something like "In 6 months or when development is complete" FollowupPoint *string `json:"followupPoint" db:"followup_point"` }
TRBGuidanceLetter represents the data for a TRB guidance letter
func (TRBGuidanceLetter) GetMappingKey ¶
func (a TRBGuidanceLetter) GetMappingKey() uuid.UUID
func (TRBGuidanceLetter) GetMappingVal ¶
func (a TRBGuidanceLetter) GetMappingVal() *TRBGuidanceLetter
type TRBGuidanceLetterRecommendation ¶
type TRBGuidanceLetterRecommendation struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` Title string `json:"title" db:"title"` Recommendation HTML `json:"recommendation" db:"recommendation"` Links pq.StringArray `json:"links" db:"links"` PositionInLetter null.Int `json:"positionInLetter" db:"position_in_letter"` // 0-based indexing DeletedAt *time.Time `json:"deletedAt" db:"deleted_at"` Category TRBGuidanceLetterRecommendationCategory `json:"category" db:"category"` }
TRBGuidanceLetterRecommendation represents the data for a TRB guidance letter recommendation
type TRBGuidanceLetterRecommendationCategory ¶
type TRBGuidanceLetterRecommendationCategory string
TRBGuidanceLetterRecommendationCategory implemented here instead of in gen files see Note [gql enums]
const ( TRBGuidanceLetterRecommendationCategoryRequirement TRBGuidanceLetterRecommendationCategory = "REQUIREMENT" TRBGuidanceLetterRecommendationCategoryRecommendation TRBGuidanceLetterRecommendationCategory = "RECOMMENDATION" TRBGuidanceLetterRecommendationCategoryConsideration TRBGuidanceLetterRecommendationCategory = "CONSIDERATION" TRBGuidanceLetterRecommendationCategoryUncategorized TRBGuidanceLetterRecommendationCategory = "UNCATEGORIZED" )
func (TRBGuidanceLetterRecommendationCategory) String ¶
func (t TRBGuidanceLetterRecommendationCategory) String() string
type TRBGuidanceLetterStatus ¶
type TRBGuidanceLetterStatus string
TRBGuidanceLetterStatus is an enumeration of the possible statuses of a TRBGuidanceLetter
const ( TRBGuidanceLetterStatusCannotStartYet TRBGuidanceLetterStatus = "CANNOT_START_YET" TRBGuidanceLetterStatusReadyToStart TRBGuidanceLetterStatus = "READY_TO_START" TRBGuidanceLetterStatusInProgress TRBGuidanceLetterStatus = "IN_PROGRESS" TRBGuidanceLetterStatusReadyForReview TRBGuidanceLetterStatus = "READY_FOR_REVIEW" TRBGuidanceLetterStatusCompleted TRBGuidanceLetterStatus = "COMPLETED" )
These are the possible statuses for a TRB guidance letter
type TRBGuidanceLetterStatusTaskList ¶
type TRBGuidanceLetterStatusTaskList string
TRBGuidanceLetterStatusTaskList is an enum of statuses for the task list page.
const ( TRBGuidanceLetterStatusTaskListCannotStartYet TRBGuidanceLetterStatusTaskList = "CANNOT_START_YET" TRBGuidanceLetterStatusTaskListInReview TRBGuidanceLetterStatusTaskList = "IN_REVIEW" TRBGuidanceLetterStatusTaskListCompleted TRBGuidanceLetterStatusTaskList = "COMPLETED" )
These statuses are a simplified version of the regular TRBGuidanceLetterStatus enum above that are computed in the resolver.
type TRBLeadOption ¶
type TRBLeadOption struct { BaseStruct EUAUserID string `json:"euaUserId" db:"eua_user_id"` }
TRBLeadOption represents an EUA user who can be assigned as a TRB lead for a TRB request
type TRBRequest ¶
type TRBRequest struct { BaseStruct Name *string `json:"name" db:"name"` Archived bool `json:"archived" db:"archived"` Type TRBRequestType `json:"type" db:"type"` State TRBRequestState `json:"state" db:"state"` ConsultMeetingTime *time.Time `json:"consultMeetingTime" db:"consult_meeting_time"` TRBLead *string `json:"trbLead" db:"trb_lead"` ContractName zero.String `json:"contractName" db:"contract_name"` SystemRelationType *RequestRelationType `json:"relationType" db:"system_relation_type"` }
TRBRequest represents a TRB request object
func NewTRBRequest ¶
func NewTRBRequest(createdBy string) *TRBRequest
NewTRBRequest returns a new trb request object
func (*TRBRequest) GetName ¶
func (t *TRBRequest) GetName() string
GetName returns the name of the TRB request as a string. If the "Name" property is nil, it returns "Draft"
type TRBRequestAttendee ¶
type TRBRequestAttendee struct { BaseStruct EUAUserID string `json:"euaUserId" db:"eua_user_id"` TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` Component *string `json:"component" db:"component"` Role *PersonRole `json:"role" db:"role"` }
TRBRequestAttendee represents an EUA user who is included as an attendee for a TRB request
func (TRBRequestAttendee) GetMappingKey ¶
func (a TRBRequestAttendee) GetMappingKey() uuid.UUID
func (TRBRequestAttendee) GetMappingVal ¶
func (a TRBRequestAttendee) GetMappingVal() *TRBRequestAttendee
type TRBRequestContractNumber ¶
type TRBRequestContractNumber struct { BaseStructUser TRBRequestID uuid.UUID `db:"trb_request_id"` ContractNumber string `db:"contract_number"` }
TRBRequestContractNumber is the insertion type for linking a TRB request to contract number(s)
func NewTRBRequestContractNumber ¶
func NewTRBRequestContractNumber(createdBy uuid.UUID) TRBRequestContractNumber
NewTRBRequestContractNumber creates a TRBRequestContractNumber
func (*TRBRequestContractNumber) CreatedByUserAccount ¶
func (cbr *TRBRequestContractNumber) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
CreatedByUserAccount returns the user account of the user who created the struct from the DB using the UserAccount service
func (TRBRequestContractNumber) GetMappingKey ¶
func (t TRBRequestContractNumber) GetMappingKey() uuid.UUID
func (TRBRequestContractNumber) GetMappingVal ¶
func (t TRBRequestContractNumber) GetMappingVal() *TRBRequestContractNumber
func (*TRBRequestContractNumber) ModifiedByUserAccount ¶
func (mbr *TRBRequestContractNumber) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
ModifiedByUserAccount returns the user account of the user who modified the struct from the DB using the UserAccount service
type TRBRequestDocument ¶
type TRBRequestDocument struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` CommonDocumentType TRBDocumentCommonType `db:"document_type"` OtherType string `db:"other_type"` FileName string `json:"fileName" db:"file_name"` Bucket string `json:"bucket" db:"bucket"` S3Key string `json:"s3Key" db:"s3_key"` // The document's key inside an S3 bucket; does *not* include the bucket name. DeletedAt *time.Time `json:"deletedAt" db:"deleted_at"` }
TRBRequestDocument represents a document attached to a TRB request that has been uploaded to S3
func (TRBRequestDocument) GetMappingKey ¶
func (d TRBRequestDocument) GetMappingKey() uuid.UUID
func (TRBRequestDocument) GetMappingVal ¶
func (d TRBRequestDocument) GetMappingVal() *TRBRequestDocument
type TRBRequestDocumentStatus ¶
type TRBRequestDocumentStatus string
TRBRequestDocumentStatus represents the availability of a document in regards to virus scanning
type TRBRequestDocumentType ¶
type TRBRequestDocumentType struct { CommonType TRBDocumentCommonType `json:"commonType"` OtherTypeDescription *string `json:"otherTypeDescription,omitempty"` }
Denotes the type of a document attached to a TRB request, which can be one of a number of common types, or a free-text user-specified type
type TRBRequestFeedback ¶
type TRBRequestFeedback struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` FeedbackMessage HTML `json:"feedbackMessage" db:"feedback_message"` CopyTRBMailbox bool `json:"copyTrbMailbox" db:"copy_trb_mailbox"` NotifyEUAIDs pq.StringArray `json:"notifyEuaIds" db:"notify_eua_ids"` Action TRBFeedbackAction `json:"action" db:"action"` }
TRBRequestFeedback represents an individual feedback item given on a TRB request
func (TRBRequestFeedback) GetMappingKey ¶
func (tf TRBRequestFeedback) GetMappingKey() uuid.UUID
func (TRBRequestFeedback) GetMappingVal ¶
func (tf TRBRequestFeedback) GetMappingVal() *TRBRequestFeedback
type TRBRequestForm ¶
type TRBRequestForm struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` Status TRBFormStatus `json:"status" db:"status"` Component *string `json:"component" db:"component"` NeedsAssistanceWith *string `json:"needsAssistanceWith" db:"needs_assistance_with"` HasSolutionInMind *bool `json:"hasSolutionInMind" db:"has_solution_in_mind"` ProposedSolution *string `json:"proposedSolution" db:"proposed_solution"` WhereInProcess *TRBWhereInProcessOption `json:"whereInProcess" db:"where_in_process"` WhereInProcessOther *string `json:"whereInProcessOther" db:"where_in_process_other"` HasExpectedStartEndDates *bool `json:"hasExpectedStartEndDates" db:"has_expected_start_end_dates"` ExpectedStartDate *time.Time `json:"expectedStartDate" db:"expected_start_date"` ExpectedEndDate *time.Time `json:"expectedEndDate" db:"expected_end_date"` // FundingSources []*TRBFundingSource `json:"fundingSources"` CollabGroups pq.StringArray `json:"collabGroups" db:"collab_groups"` CollabDateSecurity *string `json:"collabDateSecurity" db:"collab_date_security"` CollabDateEnterpriseArchitecture *string `json:"collabDateEnterpriseArchitecture" db:"collab_date_enterprise_architecture"` CollabDateCloud *string `json:"collabDateCloud" db:"collab_date_cloud"` CollabDatePrivacyAdvisor *string `json:"collabDatePrivacyAdvisor" db:"collab_date_privacy_advisor"` CollabDateGovernanceReviewBoard *string `json:"collabDateGovernanceReviewBoard" db:"collab_date_governance_review_board"` CollabDateOther *string `json:"collabDateOther" db:"collab_date_other"` CollabGroupOther *string `json:"collabGroupOther" db:"collab_group_other"` CollabGRBConsultRequested *bool `json:"collabGRBConsultRequested" db:"collab_grb_consult_requested"` SubjectAreaOptions pq.StringArray `json:"subjectAreaOptions" db:"subject_area_options"` SubjectAreaOptionOther *string `json:"subjectAreaOptionOther" db:"subject_area_option_other"` SubmittedAt *time.Time `json:"submittedAt" db:"submitted_at"` }
TRBRequestForm represents the data entered into the TRB request form
func NewTRBRequestForm ¶
func NewTRBRequestForm(createdBy string) *TRBRequestForm
NewTRBRequestForm instantiates a TRB request form with default field values
func (TRBRequestForm) GetMappingKey ¶
func (f TRBRequestForm) GetMappingKey() uuid.UUID
func (TRBRequestForm) GetMappingVal ¶
func (f TRBRequestForm) GetMappingVal() *TRBRequestForm
type TRBRequestState ¶
type TRBRequestState string
TRBRequestState represents the types of TRBRequestState types
const ( TRBRequestStateOpen TRBRequestState = "OPEN" TRBRequestStateClosed TRBRequestState = "CLOSED" )
These are the options for TRBRequestStatus
type TRBRequestStatus ¶
type TRBRequestStatus string
TRBRequestStatus is an enumeration of the possible values for the overall status of a TRB request
type TRBRequestSystem ¶
type TRBRequestSystem struct { BaseStructUser TRBRequestID uuid.UUID `db:"trb_request_id"` SystemID string `db:"system_id"` }
TRBRequestSystem is the insertion type for linking a trb request to CEDAR system(s)
func NewTRBRequestSystem ¶
func NewTRBRequestSystem(createdBy uuid.UUID) TRBRequestSystem
NewTRBRequestSystem creates a TRBRequestSystemLink
func (*TRBRequestSystem) CreatedByUserAccount ¶
func (cbr *TRBRequestSystem) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
CreatedByUserAccount returns the user account of the user who created the struct from the DB using the UserAccount service
func (TRBRequestSystem) GetMappingKey ¶
func (t TRBRequestSystem) GetMappingKey() uuid.UUID
func (TRBRequestSystem) GetMappingVal ¶
func (t TRBRequestSystem) GetMappingVal() *TRBRequestSystem
func (*TRBRequestSystem) ModifiedByUserAccount ¶
func (mbr *TRBRequestSystem) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
ModifiedByUserAccount returns the user account of the user who modified the struct from the DB using the UserAccount service
type TRBRequestSystemIntake ¶
type TRBRequestSystemIntake struct { BaseStruct TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"` SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"` }
TRBRequestSystemIntake represents a system intake that has been associated with a TRB request
type TRBRequestType ¶
type TRBRequestType string
TRBRequestType represents the types of TRBRequestType types
const ( TRBTNeedHelp TRBRequestType = "NEED_HELP" TRBTBrainstorm TRBRequestType = "BRAINSTORM" TRBTFollowup TRBRequestType = "FOLLOWUP" TRBTFormalReview TRBRequestType = "FORMAL_REVIEW" TRBTOther TRBRequestType = "OTHER" )
These are the options for TRBRequestType
type TRBRequestsByCedarSystemIDsRequest ¶
type TRBRequestsByCedarSystemIDsRequest struct { CedarSystemID string State TRBRequestState }
TRBRequestsByCedarSystemIDsRequest is used as an input for dataloaders that can only receive a single argument
type TRBRequestsByCedarSystemIDsResponse ¶
type TRBRequestsByCedarSystemIDsResponse struct { CedarSystemID string `db:"system_id"` TRBRequest }
TRBRequestsByCedarSystemIDsResponse with the added related request ID allows for using the mapping helpers in the dataloader package.
func (TRBRequestsByCedarSystemIDsResponse) GetMappingKey ¶
func (t TRBRequestsByCedarSystemIDsResponse) GetMappingKey() string
func (TRBRequestsByCedarSystemIDsResponse) GetMappingVal ¶
func (t TRBRequestsByCedarSystemIDsResponse) GetMappingVal() *TRBRequest
type TRBSubjectAreaOption ¶
type TRBSubjectAreaOption string
TRBSubjectAreaOption is an enum of the possible answers to the input on the TRB "Subject Areas" page
const ( TRBSubjectAreaOptionAccessControlAndIdentityMgmt TRBSubjectAreaOption = "ACCESS_CONTROL_AND_IDENTITY_MANAGEMENT" TRBSubjectAreaOptionAccessibilityCompliance TRBSubjectAreaOption = "ACCESSIBILITY_COMPLIANCE" TRBSubjectAreaOptionArtificialIntelligence TRBSubjectAreaOption = "ARTIFICIAL_INTELLIGENCE" TRBSubjectAreaOptionAssistanceWithSystemConceptDev TRBSubjectAreaOption = "ASSISTANCE_WITH_SYSTEM_CONCEPT_DEVELOPMENT" TRBSubjectAreaOptionBusinessIntelligence TRBSubjectAreaOption = "BUSINESS_INTELLIGENCE" TRBSubjectAreaOptionCloudMigration TRBSubjectAreaOption = "CLOUD_MIGRATION" TRBSubjectAreaOptionContainersAndMicroservices TRBSubjectAreaOption = "CONTAINERS_AND_MICROSERVICES" TRBSubjectAreaOptionDisasterRecovery TRBSubjectAreaOption = "DISASTER_RECOVERY" TRBSubjectAreaOptionEmailIntegration TRBSubjectAreaOption = "EMAIL_INTEGRATION" TRBSubjectAreaOptionEnterpriseDataLakeIntegration TRBSubjectAreaOption = "ENTERPRISE_DATA_LAKE_INTEGRATION" TRBSubjectAreaOptionFrameworkOrToolAlternatives TRBSubjectAreaOption = "FRAMEWORK_OR_TOOL_ALTERNATIVES" TRBSubjectAreaOptionOpenSourceSoftware TRBSubjectAreaOption = "OPEN_SOURCE_SOFTWARE" TRBSubjectAreaOptionPortalIntegration TRBSubjectAreaOption = "PORTAL_INTEGRATION" TRBSubjectAreaOptionTechnicalReferenceArchitecture TRBSubjectAreaOption = "TECHNICAL_REFERENCE_ARCHITECTURE" TRBSubjectAreaOptionSystemArchitectureReview TRBSubjectAreaOption = "SYSTEM_ARCHITECTURE_REVIEW" TRBSubjectAreaOptionSystemDispositionPlanning TRBSubjectAreaOption = "SYSTEM_DISPOSITION_PLANNING" TRBSubjectAreaOptionWebServicesAndAPIs TRBSubjectAreaOption = "WEB_SERVICES_AND_APIS" TRBSubjectAreaOptionWebBasedUIService TRBSubjectAreaOption = "WEB_BASED_UI_SERVICE" )
These are the individual options for the "technical reference architecture" input
type TRBTaskStatuses ¶
type TRBTaskStatuses struct { FormStatus TRBFormStatus `json:"formStatus"` FeedbackStatus TRBFeedbackStatus `json:"feedbackStatus"` ConsultPrepStatus TRBConsultPrepStatus `json:"consultPrepStatus"` AttendConsultStatus TRBAttendConsultStatus `json:"attendConsultStatus"` GuidanceLetterStatus TRBGuidanceLetterStatus `json:"guidanceLetterStatus"` GuidanceLetterStatusTaskList TRBGuidanceLetterStatusTaskList `json:"guidanceLetterStatusTaskList"` }
TRBTaskStatuses contains the individual statuses for the steps of the TRB task list
type TRBWhereInProcessOption ¶
type TRBWhereInProcessOption string
TRBWhereInProcessOption is an enumeration of possible responses to the "Where are you in your process?" question on the TRB request form
const ( TRBWhereInProcessOptionIHaveAnIdeaAndWantToBrainstorm TRBWhereInProcessOption = "I_HAVE_AN_IDEA_AND_WANT_TO_BRAINSTORM" TRBWhereInProcessOptionContractingWorkHasStarted TRBWhereInProcessOption = "CONTRACTING_WORK_HAS_STARTED" TRBWhereInProcessOptionDevelopmentHasRecentlyStarted TRBWhereInProcessOption = "DEVELOPMENT_HAS_RECENTLY_STARTED" TRBWhereInProcessOptionDevelopmentIsSignificantlyUnderway TRBWhereInProcessOption = "DEVELOPMENT_IS_SIGNIFICANTLY_UNDERWAY" TRBWhereInProcessOptionTheSystemIsInOperationAndMaintenance TRBWhereInProcessOption = "THE_SYSTEM_IS_IN_OPERATION_AND_MAINTENANCE" TRBWhereInProcessOptionOther TRBWhereInProcessOption = "OTHER" TRBWhereInProcessOptionUnknown TRBWhereInProcessOption = "UNKNOWN" )
These are the individual options for the response to the "Where are you in your process?" question on the TRB request form
type UpdateSystemIntakeAdminLeadInput ¶
type UpdateSystemIntakeAdminLeadInput struct { AdminLead string `json:"adminLead"` ID uuid.UUID `json:"id"` }
Input data used to update the admin lead assigned to a system IT governance request
type UpdateSystemIntakeContactDetailsInput ¶
type UpdateSystemIntakeContactDetailsInput struct { ID uuid.UUID `json:"id"` Requester *SystemIntakeRequesterWithComponentInput `json:"requester"` BusinessOwner *SystemIntakeBusinessOwnerInput `json:"businessOwner"` ProductManager *SystemIntakeProductManagerInput `json:"productManager"` Isso *SystemIntakeISSOInput `json:"isso"` GovernanceTeams *SystemIntakeGovernanceTeamInput `json:"governanceTeams"` }
The input data used to update the contact details of the people associated with a system request
type UpdateSystemIntakeContactInput ¶
type UpdateSystemIntakeContactInput struct { ID uuid.UUID `json:"id"` EuaUserID string `json:"euaUserId"` SystemIntakeID uuid.UUID `json:"systemIntakeId"` Component string `json:"component"` Role string `json:"role"` }
The data needed to update a contact associated with a system intake
type UpdateSystemIntakeContractDetailsInput ¶
type UpdateSystemIntakeContractDetailsInput struct { ID uuid.UUID `json:"id"` FundingSources *SystemIntakeFundingSourcesInput `json:"fundingSources,omitempty"` Costs *SystemIntakeCostsInput `json:"costs,omitempty"` AnnualSpending *SystemIntakeAnnualSpendingInput `json:"annualSpending,omitempty"` Contract *SystemIntakeContractInput `json:"contract,omitempty"` }
Input data for updating contract details related to a system request
type UpdateSystemIntakeGRBReviewerInput ¶
type UpdateSystemIntakeGRBReviewerInput struct { ReviewerID uuid.UUID `json:"reviewerID"` VotingRole SystemIntakeGRBReviewerVotingRole `json:"votingRole"` GrbRole SystemIntakeGRBReviewerRole `json:"grbRole"` }
type UpdateSystemIntakeLinkedCedarSystemInput ¶
type UpdateSystemIntakeLinkedCedarSystemInput struct { ID uuid.UUID `json:"id"` CedarSystemID *string `json:"cedarSystemId,omitempty"` }
Input data for updating a system intake's relationship to a CEDAR system
type UpdateSystemIntakeNoteInput ¶
type UpdateSystemIntakeNoteInput struct { Content HTML `json:"content"` IsArchived bool `json:"isArchived"` ID uuid.UUID `json:"id"` }
Input data for updating an IT governance admin note
type UpdateSystemIntakePayload ¶
type UpdateSystemIntakePayload struct { SystemIntake *SystemIntake `json:"systemIntake,omitempty"` UserErrors []*UserError `json:"userErrors,omitempty"` }
The payload for updating a system's IT governance request
type UpdateSystemIntakeRequestDetailsInput ¶
type UpdateSystemIntakeRequestDetailsInput struct { ID uuid.UUID `json:"id"` RequestName *string `json:"requestName,omitempty"` BusinessNeed *string `json:"businessNeed,omitempty"` BusinessSolution *string `json:"businessSolution,omitempty"` CurrentStage *string `json:"currentStage,omitempty"` NeedsEaSupport *bool `json:"needsEaSupport,omitempty"` HasUIChanges *bool `json:"hasUiChanges,omitempty"` UsesAiTech *bool `json:"usesAiTech,omitempty"` UsingSoftware *string `json:"usingSoftware,omitempty"` AcquisitionMethods []SystemIntakeSoftwareAcquisitionMethods `json:"acquisitionMethods"` CedarSystemID *string `json:"cedarSystemId,omitempty"` }
Input to update some fields on a system request
type UpdateSystemIntakeReviewDatesInput ¶
type UpdateSystemIntakeReviewDatesInput struct { GrbDate *time.Time `json:"grbDate,omitempty"` GrtDate *time.Time `json:"grtDate,omitempty"` ID uuid.UUID `json:"id"` }
Input data used to update GRT and GRB dates for a system request
type UpdateTRBGuidanceLetterRecommendationOrderInput ¶
type UpdateTRBGuidanceLetterRecommendationOrderInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` // List of the recommendation IDs in the new order they should be displayed NewOrder []uuid.UUID `json:"newOrder"` Category TRBGuidanceLetterRecommendationCategory `json:"category"` }
type UpdateTRBRequestAttendeeInput ¶
type UpdateTRBRequestAttendeeInput struct { ID uuid.UUID `json:"id"` Component string `json:"component"` Role PersonRole `json:"role"` }
Represents an EUA user who is included as an attendee for a TRB request
type UpdateTRBRequestConsultMeetingTimeInput ¶
type UpdateTRBRequestConsultMeetingTimeInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` ConsultMeetingTime time.Time `json:"consultMeetingTime"` CopyTrbMailbox bool `json:"copyTrbMailbox"` NotifyEuaIds []string `json:"notifyEuaIds"` Notes string `json:"notes"` }
The data needed schedule a TRB consult meeting time
type UpdateTRBRequestTRBLeadInput ¶
type UpdateTRBRequestTRBLeadInput struct { TrbRequestID uuid.UUID `json:"trbRequestId"` TrbLead string `json:"trbLead"` }
The data needed assign a TRB lead to a TRB request
type UserError ¶
UserError represents application-level errors that are the result of either user or application developer error.
type UserInfo ¶
type UserInfo struct { FirstName string LastName string DisplayName string Email EmailAddress Username string }
UserInfo is the model for personal details of a user
func (UserInfo) GetMappingKey ¶
func (UserInfo) GetMappingVal ¶
Source Files ¶
- action.go
- base_struct.go
- base_struct_user.go
- business_case.go
- cedar_authority_to_operate.go
- cedar_budget.go
- cedar_budget_system_cost.go
- cedar_contract.go
- cedar_data_center.go
- cedar_deployment.go
- cedar_exchange.go
- cedar_role.go
- cedar_software_products.go
- cedar_system.go
- cedar_system_bookmark.go
- cedar_threat.go
- cedar_url.go
- created_by_relation.go
- email_address.go
- governance_request_feedback.go
- gql_scalars.go
- html.go
- intake_review.go
- it_gov_task_statuses.go
- model_helpers.go
- models_gen.go
- modified_by_relation.go
- relation.go
- system_intake.go
- system_intake_contact.go
- system_intake_contract_number.go
- system_intake_document.go
- system_intake_funding_source.go
- system_intake_grb_reviewers.go
- system_intake_note.go
- system_intake_status_admin.go
- system_intake_status_requester.go
- system_intake_system.go
- trb_admin_note.go
- trb_admin_note_trb_recommendation_link.go
- trb_admin_note_trb_request_document_link.go
- trb_guidance_letter.go
- trb_guidance_letter_recommendation.go
- trb_lead_option.go
- trb_request.go
- trb_request_attendee.go
- trb_request_contract_number.go
- trb_request_document.go
- trb_request_feedback.go
- trb_request_form.go
- trb_request_funding_source.go
- trb_request_lcid.go
- trb_request_system.go
- user_id_relation.go
- user_info.go
- uuid.go