Documentation
¶
Index ¶
- Constants
- Variables
- func ContainsAllIDs[BS IBaseStruct](models []BS, ids []uuid.UUID) bool
- func ConvertEnums[EnumType ~string](pqGroups pq.StringArray) []EnumType
- func ConvertEnumsToStringArray[EnumType ~string](arr []EnumType) pq.StringArray
- 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 AddSystemLinkInput
- type AddSystemLinkPayload
- 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)
- func (b *BaseStructUser) SetModifiedBy(principal authentication.Principal) error
- type BookmarkRequest
- type BudgetActualCost
- type BusinessCase
- type BusinessCaseSolution
- type BusinessCaseStatus
- type BusinessCaseWithCosts
- type BusinessCases
- type BusinessOwnerInformation
- type CastSystemIntakeGRBReviewerVoteInput
- 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 CreateSystemIntakeGRBDiscussionPostInput
- type CreateSystemIntakeGRBDiscussionReplyInput
- type CreateSystemIntakeGRBReviewersInput
- type CreateSystemIntakeGRBReviewersPayload
- type CreateSystemIntakeInput
- type CreateSystemIntakeNoteInput
- type CreateTRBAdminNoteConsultSessionInput
- type CreateTRBAdminNoteGeneralRequestInput
- type CreateTRBAdminNoteGuidanceLetterInput
- type CreateTRBAdminNoteInitialRequestFormInput
- type CreateTRBAdminNoteSupportingDocumentsInput
- type CreateTRBGuidanceLetterInsightInput
- type CreateTRBRequestAttendeeInput
- type CreateTRBRequestDocumentInput
- type CreateTRBRequestDocumentPayload
- type CreateTRBRequestFeedbackInput
- type CurrentUser
- type DeleteCedarSystemBookmarkPayload
- type DeleteSystemIntakeContactInput
- type DeleteSystemIntakeContactPayload
- type DeleteSystemIntakeDocumentPayload
- type DeleteSystemIntakeGRBPresentationLinksInput
- type DeleteSystemIntakeGRBReviewerInput
- type DeleteSystemLinkPayload
- type DeleteTRBRequestDocumentPayload
- type DeleteTRBRequestFundingSourcesInput
- type DocumentUploaderRole
- type EmailAddress
- type EmailNotificationRecipients
- type EnumArray
- type EstimatedLifecycleCost
- type EstimatedLifecycleCosts
- type ExchangeDirection
- type ExtendGRBReviewDeadlineInput
- type GRBReviewerComparison
- type GRBReviewerComparisonIntake
- type GRBVotingInformation
- func (info *GRBVotingInformation) NumberOfNoObjection() int
- func (info *GRBVotingInformation) NumberOfNotVoted() int
- func (info *GRBVotingInformation) NumberOfObjection() int
- func (info *GRBVotingInformation) NumberOfVoted() int
- func (info *GRBVotingInformation) QuorumReached() bool
- func (info *GRBVotingInformation) VotingStatus() GRBVotingInformationStatus
- type GRBVotingInformationStatus
- 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 LockChangeType
- type Mutation
- type PersonRole
- type Query
- type RelatedSystemIntake
- type RelatedTRBRequest
- type ReopenTRBRequestInput
- type RequestRelationType
- type RequesterUpdateEmailData
- type RestartGRBReviewInput
- type Role
- type SendCantFindSomethingEmailInput
- type SendFeedbackEmailInput
- type SendReportAProblemEmailInput
- type SendSystemIntakeGRBReviewReminderPayload
- type SendTRBGuidanceLetterInput
- type SetRolesForUserOnSystemInput
- type SetSystemIntakeRelationExistingServiceInput
- type SetSystemIntakeRelationExistingSystemInput
- type SetSystemIntakeRelationNewSystemInput
- type SetTRBRequestRelationExistingServiceInput
- type SetTRBRequestRelationExistingSystemInput
- type SetTRBRequestRelationNewSystemInput
- type SoftwareProductItem
- type StartGRBReviewInput
- type SubmitIntakeInput
- type Subscription
- type SystemIntake
- type SystemIntakeAction
- type SystemIntakeActionActor
- type SystemIntakeActionType
- func (e SystemIntakeActionType) IsValid() bool
- func (e SystemIntakeActionType) MarshalGQL(w io.Writer)
- func (e SystemIntakeActionType) MarshalJSON() ([]byte, error)
- func (e SystemIntakeActionType) String() string
- func (e *SystemIntakeActionType) UnmarshalGQL(v any) error
- func (e *SystemIntakeActionType) UnmarshalJSON(b []byte) error
- type SystemIntakeAnnualSpending
- type SystemIntakeAnnualSpendingInput
- type SystemIntakeAsyncGRBVotingOption
- func (e SystemIntakeAsyncGRBVotingOption) IsValid() bool
- func (e SystemIntakeAsyncGRBVotingOption) MarshalGQL(w io.Writer)
- func (e SystemIntakeAsyncGRBVotingOption) MarshalJSON() ([]byte, error)
- func (e SystemIntakeAsyncGRBVotingOption) String() string
- func (e *SystemIntakeAsyncGRBVotingOption) UnmarshalGQL(v any) error
- func (e *SystemIntakeAsyncGRBVotingOption) UnmarshalJSON(b []byte) error
- type SystemIntakeBusinessOwner
- type SystemIntakeChangeLCIDRetirementDateInput
- type SystemIntakeCloseRequestInput
- type SystemIntakeCollaborator
- type SystemIntakeCollaboratorInput
- type SystemIntakeConfirmLCIDInput
- type SystemIntakeContact
- func (cbr *SystemIntakeContact) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (r *SystemIntakeContact) FilteredComponent() *SystemIntakeContactComponent
- func (r *SystemIntakeContact) FilteredRoles() []SystemIntakeContactRole
- func (r SystemIntakeContact) GetMappingKey() uuid.UUID
- func (r SystemIntakeContact) GetMappingVal() *SystemIntakeContact
- func (mbr *SystemIntakeContact) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (b *SystemIntakeContact) UserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type SystemIntakeContactComponent
- type SystemIntakeContactRole
- type SystemIntakeContacts
- func (info *SystemIntakeContacts) AdditionalContacts() ([]*SystemIntakeContact, error)
- func (info *SystemIntakeContacts) BusinessOwners() ([]*SystemIntakeContact, error)
- func (info *SystemIntakeContacts) ProductManagers() ([]*SystemIntakeContact, error)
- func (info *SystemIntakeContacts) Requester() (*SystemIntakeContact, error)
- 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
- func (e SystemIntakeFormStep) IsValid() bool
- func (e SystemIntakeFormStep) MarshalGQL(w io.Writer)
- func (e SystemIntakeFormStep) MarshalJSON() ([]byte, error)
- func (e SystemIntakeFormStep) String() string
- func (e *SystemIntakeFormStep) UnmarshalGQL(v any) error
- func (e *SystemIntakeFormStep) UnmarshalJSON(b []byte) error
- type SystemIntakeFundingSource
- type SystemIntakeFundingSourceInput
- type SystemIntakeFundingSourcesInput
- type SystemIntakeGRBDiscussionBoardType
- func (e SystemIntakeGRBDiscussionBoardType) IsValid() bool
- func (e SystemIntakeGRBDiscussionBoardType) MarshalGQL(w io.Writer)
- func (e SystemIntakeGRBDiscussionBoardType) MarshalJSON() ([]byte, error)
- func (e SystemIntakeGRBDiscussionBoardType) String() string
- func (e *SystemIntakeGRBDiscussionBoardType) UnmarshalGQL(v any) error
- func (e *SystemIntakeGRBDiscussionBoardType) UnmarshalJSON(b []byte) error
- type SystemIntakeGRBPresentationLinks
- func (cbr *SystemIntakeGRBPresentationLinks) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (s SystemIntakeGRBPresentationLinks) GetMappingKey() uuid.UUID
- func (s SystemIntakeGRBPresentationLinks) GetMappingVal() *SystemIntakeGRBPresentationLinks
- func (s *SystemIntakeGRBPresentationLinks) IsEmpty() bool
- func (mbr *SystemIntakeGRBPresentationLinks) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type SystemIntakeGRBPresentationLinksInput
- type SystemIntakeGRBReviewAsyncStatusType
- func (e SystemIntakeGRBReviewAsyncStatusType) IsValid() bool
- func (e SystemIntakeGRBReviewAsyncStatusType) MarshalGQL(w io.Writer)
- func (e SystemIntakeGRBReviewAsyncStatusType) MarshalJSON() ([]byte, error)
- func (e SystemIntakeGRBReviewAsyncStatusType) String() string
- func (e *SystemIntakeGRBReviewAsyncStatusType) UnmarshalGQL(v any) error
- func (e *SystemIntakeGRBReviewAsyncStatusType) UnmarshalJSON(b []byte) error
- type SystemIntakeGRBReviewDiscussion
- type SystemIntakeGRBReviewDiscussionPost
- func (cbr *SystemIntakeGRBReviewDiscussionPost) CreatedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- func (r SystemIntakeGRBReviewDiscussionPost) GetMappingKey() uuid.UUID
- func (r SystemIntakeGRBReviewDiscussionPost) GetMappingVal() *SystemIntakeGRBReviewDiscussionPost
- func (mbr *SystemIntakeGRBReviewDiscussionPost) ModifiedByUserAccount(ctx context.Context) (*authentication.UserAccount, error)
- type SystemIntakeGRBReviewStandardStatusType
- func (e SystemIntakeGRBReviewStandardStatusType) IsValid() bool
- func (e SystemIntakeGRBReviewStandardStatusType) MarshalGQL(w io.Writer)
- func (e SystemIntakeGRBReviewStandardStatusType) MarshalJSON() ([]byte, error)
- func (e SystemIntakeGRBReviewStandardStatusType) String() string
- func (e *SystemIntakeGRBReviewStandardStatusType) UnmarshalGQL(v any) error
- func (e *SystemIntakeGRBReviewStandardStatusType) UnmarshalJSON(b []byte) error
- type SystemIntakeGRBReviewType
- 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
- func (r SystemIntakeGRBReviewerRole) Humanize() (string, error)
- func (e SystemIntakeGRBReviewerRole) IsValid() bool
- func (e SystemIntakeGRBReviewerRole) MarshalGQL(w io.Writer)
- func (e SystemIntakeGRBReviewerRole) MarshalJSON() ([]byte, error)
- func (e SystemIntakeGRBReviewerRole) String() string
- func (e *SystemIntakeGRBReviewerRole) UnmarshalGQL(v any) error
- func (e *SystemIntakeGRBReviewerRole) UnmarshalJSON(b []byte) error
- type SystemIntakeGRBReviewerVotingRole
- func (r SystemIntakeGRBReviewerVotingRole) Humanize() (string, error)
- func (e SystemIntakeGRBReviewerVotingRole) IsValid() bool
- func (e SystemIntakeGRBReviewerVotingRole) MarshalGQL(w io.Writer)
- func (e SystemIntakeGRBReviewerVotingRole) MarshalJSON() ([]byte, error)
- func (e SystemIntakeGRBReviewerVotingRole) String() string
- func (e *SystemIntakeGRBReviewerVotingRole) UnmarshalGQL(v any) error
- func (e *SystemIntakeGRBReviewerVotingRole) UnmarshalJSON(b []byte) error
- type SystemIntakeGovernanceTeam
- type SystemIntakeGovernanceTeamInput
- type SystemIntakeIssueLCIDInput
- type SystemIntakeLCIDExpirationChange
- type SystemIntakeLCIDStatus
- type SystemIntakeMeetingState
- type SystemIntakeNotITGovReqInput
- type SystemIntakeNote
- type SystemIntakeNoteAuthor
- type SystemIntakeProductManager
- type SystemIntakeProgressToNewStepsInput
- type SystemIntakeRejectIntakeInput
- type SystemIntakeReopenRequestInput
- type SystemIntakeRequestEditsInput
- type SystemIntakeRequestType
- type SystemIntakeRequesterInput
- type SystemIntakeRetireLCIDInput
- type SystemIntakeSoftwareAcquisitionMethod
- type SystemIntakeSoftwareAcquisitionMethods
- func (e SystemIntakeSoftwareAcquisitionMethods) IsValid() bool
- func (e SystemIntakeSoftwareAcquisitionMethods) MarshalGQL(w io.Writer)
- func (e SystemIntakeSoftwareAcquisitionMethods) MarshalJSON() ([]byte, error)
- func (e SystemIntakeSoftwareAcquisitionMethods) String() string
- func (e *SystemIntakeSoftwareAcquisitionMethods) UnmarshalGQL(v any) error
- func (e *SystemIntakeSoftwareAcquisitionMethods) UnmarshalJSON(b []byte) error
- type SystemIntakeState
- type SystemIntakeStatusAdmin
- type SystemIntakeStatusRequester
- type SystemIntakeStep
- type SystemIntakeStepToProgressTo
- func (e SystemIntakeStepToProgressTo) IsValid() bool
- func (e SystemIntakeStepToProgressTo) MarshalGQL(w io.Writer)
- func (e SystemIntakeStepToProgressTo) MarshalJSON() ([]byte, error)
- func (e SystemIntakeStepToProgressTo) String() string
- func (e *SystemIntakeStepToProgressTo) UnmarshalGQL(v any) error
- func (e *SystemIntakeStepToProgressTo) UnmarshalJSON(b []byte) error
- 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 SystemProfileLockableSection
- type SystemProfileSectionLockStatus
- type SystemProfileSectionLockStatusChanged
- type SystemRelationshipInput
- type SystemRelationshipType
- type TRBAdminNote
- type TRBAdminNoteCategory
- type TRBAdminNoteCategorySpecificData
- type TRBAdminNoteConsultSessionCategoryData
- type TRBAdminNoteGeneralRequestCategoryData
- type TRBAdminNoteGuidanceLetterCategoryData
- type TRBAdminNoteInitialRequestFormCategoryData
- type TRBAdminNoteSupportingDocumentsCategoryData
- type TRBAdminNoteTRBGuidanceLetterInsightLink
- type TRBAdminNoteTRBRequestDocumentLink
- type TRBAttendConsultStatus
- type TRBAttendeeByTRBAndEUAIDRequest
- type TRBCollabGroupOption
- type TRBConsultPrepStatus
- type TRBDocumentCommonType
- type TRBFeedbackAction
- type TRBFeedbackStatus
- type TRBFormStatus
- type TRBFundingSource
- type TRBGuidanceLetter
- type TRBGuidanceLetterInsight
- type TRBGuidanceLetterInsightCategory
- 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 Tag
- type TagType
- type TaggedHTML
- func (th TaggedHTML) MarshalGQLContext(ctx context.Context, w io.Writer) error
- func (th *TaggedHTML) Scan(src interface{}) error
- func (th TaggedHTML) ToTemplate() template.HTML
- func (th TaggedHTML) UniqueTags() []*Tag
- func (th *TaggedHTML) UnmarshalGQLContext(_ context.Context, v interface{}) error
- func (th TaggedHTML) Value() (driver.Value, error)
- type UpdateSystemIntakeAdminLeadInput
- type UpdateSystemIntakeContactDetailsInput
- type UpdateSystemIntakeContactInput
- type UpdateSystemIntakeContractDetailsInput
- type UpdateSystemIntakeGRBReviewFormInputPresentationAsync
- type UpdateSystemIntakeGRBReviewFormInputPresentationStandard
- type UpdateSystemIntakeGRBReviewFormInputTimeframeAsync
- type UpdateSystemIntakeGRBReviewTypeInput
- type UpdateSystemIntakeGRBReviewerInput
- type UpdateSystemIntakeLinkedCedarSystemInput
- type UpdateSystemIntakeNoteInput
- type UpdateSystemIntakePayload
- type UpdateSystemIntakeRequestDetailsInput
- type UpdateSystemIntakeReviewDatesInput
- type UpdateSystemLinkInput
- type UpdateSystemLinkPayload
- type UpdateTRBGuidanceLetterInsightOrderInput
- type UpdateTRBRequestAttendeeInput
- type UpdateTRBRequestConsultMeetingTimeInput
- type UpdateTRBRequestFundingSourcesInput
- type UpdateTRBRequestTRBLeadInput
- type UploadSystemIntakeGRBPresentationDeckInput
- 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 AllLockChangeType = []LockChangeType{ LockChangeTypeAdded, LockChangeTypeUpdated, LockChangeTypeRemoved, }
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 AllSystemIntakeAsyncGRBVotingOption = []SystemIntakeAsyncGRBVotingOption{ SystemIntakeAsyncGRBVotingOptionNoObjection, SystemIntakeAsyncGRBVotingOptionObjection, }
var AllSystemIntakeFormStep = []SystemIntakeFormStep{ SystemIntakeFormStepInitialRequestForm, SystemIntakeFormStepDraftBusinessCase, SystemIntakeFormStepFinalBusinessCase, }
var AllSystemIntakeGRBDiscussionBoardType = []SystemIntakeGRBDiscussionBoardType{ SystemIntakeGRBDiscussionBoardTypePrimary, SystemIntakeGRBDiscussionBoardTypeInternal, }
var AllSystemIntakeGRBReviewAsyncStatusType = []SystemIntakeGRBReviewAsyncStatusType{ SystemIntakeGRBReviewAsyncStatusTypeInProgress, SystemIntakeGRBReviewAsyncStatusTypeCompleted, SystemIntakeGRBReviewAsyncStatusTypePastDue, }
var AllSystemIntakeGRBReviewStandardStatusType = []SystemIntakeGRBReviewStandardStatusType{ SystemIntakeGRBReviewStandardStatusTypeScheduled, SystemIntakeGRBReviewStandardStatusTypeCompleted, }
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 AllTRBGuidanceLetterInsightCategory = []TRBGuidanceLetterInsightCategory{ TRBGuidanceLetterInsightCategoryRequirement, TRBGuidanceLetterInsightCategoryRecommendation, TRBGuidanceLetterInsightCategoryConsideration, TRBGuidanceLetterInsightCategoryUncategorized, }
var AllTagType = []TagType{ TagTypeUserAccount, TagTypeRequester, TagTypeGroupItGov, TagTypeGroupGrbReviewers, }
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 ConvertEnumsToStringArray ¶
func ConvertEnumsToStringArray[EnumType ~string](arr []EnumType) pq.StringArray
ConvertEnumsToStringArray converts an enum array to a pq.StringArray
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 AddSystemLinkInput ¶
type AddSystemLinkInput struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
SystemID uuid.UUID `json:"systemID"`
SystemRelationshipType []SystemRelationshipType `json:"systemRelationshipType"`
OtherSystemRelationshipDescription *string `json:"otherSystemRelationshipDescription,omitempty"`
}
The input type for adding a new System Link
type AddSystemLinkPayload ¶
type AddSystemLinkPayload struct {
ID uuid.UUID `json:"id"`
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
SystemID uuid.UUID `json:"systemID"`
SystemRelationshipType []SystemRelationshipType `json:"systemRelationshipType"`
OtherSystemRelationshipDescription *string `json:"otherSystemRelationshipDescription,omitempty"`
}
The payload for adding a new System Link
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 between 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
func (*BaseStructUser) SetModifiedBy ¶
func (b *BaseStructUser) SetModifiedBy(principal authentication.Principal) error
SetModifiedBy sets the modifiedBy information based off a Principal object
type BookmarkRequest ¶
type BookmarkRequest struct {
CedarSystemID uuid.UUID `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"`
ProjectAcronym null.String `json:"projectAcronym" db:"project_acronym"`
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"`
CollaborationNeeded null.String `json:"collaborationNeeded" db:"collaboration_needed"`
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"`
ResponseToGRTFeedback null.String `json:"responseToGRTFeedback" db:"response_to_grt_feedback"`
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"`
PreferredTargetContractAwardDate *time.Time `json:"preferredTargetContractAwardDate" db:"preferred_target_contract_award_date"`
PreferredTargetCompletionDate *time.Time `json:"preferredTargetCompletionDate" db:"preferred_target_completion_date"`
PreferredSecurityIsApproved null.Bool `json:"preferredSecurityIsApproved" db:"preferred_security_is_approved"`
PreferredSecurityIsBeingReviewed null.String `json:"preferredSecurityIsBeingReviewed" db:"preferred_security_is_being_reviewed"`
PreferredZeroTrustAlignment null.String `json:"preferredZeroTrustAlignment" db:"preferred_zero_trust_alignment"`
PreferredHostingType null.String `json:"preferredHostingType" db:"preferred_hosting_type"`
PreferredHostingLocation null.String `json:"preferredHostingLocation" db:"preferred_hosting_location"`
PreferredHostingCloudStrategy null.String `json:"preferredHostingCloudStrategy" db:"preferred_hosting_cloud_strategy"`
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"`
PreferredWorkforceTrainingReqs null.String `json:"preferredWorkforceTrainingReqs" db:"preferred_workforce_training_reqs"`
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"`
AlternativeATargetContractAwardDate *time.Time `json:"alternativeATargetContractAwardDate" db:"alternative_a_target_contract_award_date"`
AlternativeATargetCompletionDate *time.Time `json:"alternativeATargetCompletionDate" db:"alternative_a_target_completion_date"`
AlternativeASecurityIsApproved null.Bool `json:"alternativeASecurityIsApproved" db:"alternative_a_security_is_approved"`
AlternativeASecurityIsBeingReviewed null.String `json:"alternativeASecurityIsBeingReviewed" db:"alternative_a_security_is_being_reviewed"`
AlternativeAZeroTrustAlignment null.String `json:"alternativeAZeroTrustAlignment" db:"alternative_a_zero_trust_alignment"`
AlternativeAHostingType null.String `json:"alternativeAHostingType" db:"alternative_a_hosting_type"`
AlternativeAHostingLocation null.String `json:"alternativeAHostingLocation" db:"alternative_a_hosting_location"`
AlternativeAHostingCloudStrategy null.String `json:"alternativeAHostingCloudStrategy" db:"alternative_a_hosting_cloud_strategy"`
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"`
AlternativeAWorkforceTrainingReqs null.String `json:"alternativeAWorkforceTrainingReqs" db:"alternative_a_workforce_training_reqs"`
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"`
AlternativeBTargetContractAwardDate *time.Time `json:"alternativeBTargetContractAwardDate" db:"alternative_b_target_contract_award_date"`
AlternativeBTargetCompletionDate *time.Time `json:"alternativeBTargetCompletionDate" db:"alternative_b_target_completion_date"`
AlternativeBSecurityIsApproved null.Bool `json:"alternativeBSecurityIsApproved" db:"alternative_b_security_is_approved"`
AlternativeBSecurityIsBeingReviewed null.String `json:"alternativeBSecurityIsBeingReviewed" db:"alternative_b_security_is_being_reviewed"`
AlternativeBZeroTrustAlignment null.String `json:"alternativeBZeroTrustAlignment" db:"alternative_b_zero_trust_alignment"`
AlternativeBHostingType null.String `json:"alternativeBHostingType" db:"alternative_b_hosting_type"`
AlternativeBHostingLocation null.String `json:"alternativeBHostingLocation" db:"alternative_b_hosting_location"`
AlternativeBHostingCloudStrategy null.String `json:"alternativeBHostingCloudStrategy" db:"alternative_b_hosting_cloud_strategy"`
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"`
AlternativeBWorkforceTrainingReqs null.String `json:"alternativeBWorkforceTrainingReqs" db:"alternative_b_workforce_training_reqs"`
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"`
HostingCloudStrategy *string `json:"hostingCloudStrategy,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"`
TargetContractAwardDate *time.Time `json:"targetContractAwardDate,omitempty"`
TargetCompletionDate *time.Time `json:"targetCompletionDate,omitempty"`
Title *string `json:"title,omitempty"`
WorkforceTrainingReqs *string `json:"workforceTrainingReqs,omitempty"`
ZeroTrustAlignment *string `json:"zeroTrustAlignment,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 CastSystemIntakeGRBReviewerVoteInput ¶
type CastSystemIntakeGRBReviewerVoteInput struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
Vote SystemIntakeAsyncGRBVotingOption `json:"vote"`
VoteComment *string `json:"voteComment,omitempty"`
}
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"`
OaStatus zero.String `json:"oaStatus"`
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 *uuid.UUID `json:"systemId,omitempty"`
}
type CedarBudgetActualCost ¶
type CedarBudgetActualCost struct {
ActualSystemCost *string `json:"actualSystemCost,omitempty"`
FiscalYear *string `json:"fiscalYear,omitempty"`
SystemID *uuid.UUID `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 *uuid.UUID `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 *uuid.UUID
// 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 uuid.UUID `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"`
// OaStatus is not always populated - we have to manually set this via separate API call at the time of this writing
OaStatus zero.String `json:"oaStatus"`
}
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 uuid.UUID `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 ¶
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 SystemIntakeContactComponent `json:"component"`
Roles []SystemIntakeContactRole `json:"roles"`
IsRequester bool `json:"isRequester"`
}
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 CreateSystemIntakeGRBDiscussionPostInput ¶
type CreateSystemIntakeGRBDiscussionPostInput struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
DiscussionBoardType SystemIntakeGRBDiscussionBoardType `json:"discussionBoardType"`
Content TaggedHTML `json:"content"`
}
type CreateSystemIntakeGRBDiscussionReplyInput ¶
type CreateSystemIntakeGRBDiscussionReplyInput struct {
InitialPostID uuid.UUID `json:"initialPostID"`
DiscussionBoardType SystemIntakeGRBDiscussionBoardType `json:"discussionBoardType"`
Content TaggedHTML `json:"content"`
}
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"`
InsightIDs []uuid.UUID `json:"insightIDs"`
}
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 CreateTRBGuidanceLetterInsightInput ¶
type CreateTRBGuidanceLetterInsightInput struct {
TrbRequestID uuid.UUID `json:"trbRequestId"`
Title string `json:"title"`
Insight HTML `json:"insight"`
Links []string `json:"links"`
Category TRBGuidanceLetterInsightCategory `json:"category"`
}
The input required to add an insight & 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 ¶
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 DeleteSystemLinkPayload ¶
type DeleteSystemLinkPayload struct {
SystemIntakeSystem *SystemIntakeSystem `json:"systemIntakeSystem,omitempty"`
UserErrors []*UserError `json:"userErrors,omitempty"`
}
The payload for deleting a system intake's linked system
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 EnumArray ¶
type EnumArray[enumType ~string] []enumType
EnumArray is a custom type that represents an array of enum values. it utilizes generics to provide type safety for enum values represented as strings. Under the hood, it uses pq.StringArray for database interactions
func (EnumArray[EnumType]) MarshalJSON ¶
MarshalJSON marshals the EnumArray into JSON for GraphQL
func (*EnumArray[EnumType]) Scan ¶
Scan implements the Scanner interface to decode data from the database
func (*EnumArray[EnumType]) UnmarshalJSON ¶
UnmarshalJSON un marshals the EnumArray from JSON for GraphQL
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 *int64 `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 ExtendGRBReviewDeadlineInput ¶
type ExtendGRBReviewDeadlineInput struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
GrbReviewAsyncEndDate time.Time `json:"grbReviewAsyncEndDate"`
}
ExtendGRBReviewDeadlineInput represents input for extending a GRB review deadline
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 GRBVotingInformation ¶
type GRBVotingInformation struct {
SystemIntake *SystemIntake
GRBReviewers []*SystemIntakeGRBReviewer
}
GRBVotingInformation is a struct that holds information about the GRB voting process It is a convenience struct that holds a SystemIntake and its GRB reviewers we form it this way so that we can easily calculate information about the voting process
func (*GRBVotingInformation) NumberOfNoObjection ¶
func (info *GRBVotingInformation) NumberOfNoObjection() int
NumberOfNoObjection returns the number of reviewers who have voted no objection
func (*GRBVotingInformation) NumberOfNotVoted ¶
func (info *GRBVotingInformation) NumberOfNotVoted() int
NumberOfNotVoted returns the number of reviewers who have not voted
func (*GRBVotingInformation) NumberOfObjection ¶
func (info *GRBVotingInformation) NumberOfObjection() int
NumberOfObjection returns the number of reviewers who have voted objection
func (*GRBVotingInformation) NumberOfVoted ¶
func (info *GRBVotingInformation) NumberOfVoted() int
NumberOfVoted returns the number of reviewers who have voted
func (*GRBVotingInformation) QuorumReached ¶
func (info *GRBVotingInformation) QuorumReached() bool
QuorumReached checks if the minimum number of votes have been cast
func (*GRBVotingInformation) VotingStatus ¶
func (info *GRBVotingInformation) VotingStatus() GRBVotingInformationStatus
VotingStatus returns the status of the GRB voting process. GQL will resolver to this field to return
rules: - IN_PROGRESS:
- if voting is open/past due (quorum not met) and is NOT in complete state
- APPROVED:
- if voting is in complete state, quorum has been met, and zero objection votes
- NOT_APPROVED:
- if voting is in complete state, quorum has been met, and two or more objection votes
- INCONCLUSIVE:
- if voting is in complete state, end date has passed, quorum has been met, vote count is mostly no objections but has one objection vote, OR;
- voting has been ended early and quorum not met
type GRBVotingInformationStatus ¶
type GRBVotingInformationStatus string
const ( GRBVSNotStarted GRBVotingInformationStatus = "NOT_STARTED" GRBVSInProgress GRBVotingInformationStatus = "IN_PROGRESS" GRBVSApproved GRBVotingInformationStatus = "APPROVED" GRBVSNotApproved GRBVotingInformationStatus = "NOT_APPROVED" GRBVSInconclusive GRBVotingInformationStatus = "INCONCLUSIVE" )
These are the options for GRBVotingInformationStatus
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" ITGRRBSAwaitingGRBReview ITGovGRBStatus = "AWAITING_GRB_REVIEW" ITGRRBSReviewInProgress ITGovGRBStatus = "REVIEW_IN_PROGRESS" 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 LockChangeType ¶
type LockChangeType string
const ( LockChangeTypeAdded LockChangeType = "ADDED" LockChangeTypeUpdated LockChangeType = "UPDATED" LockChangeTypeRemoved LockChangeType = "REMOVED" )
func (LockChangeType) IsValid ¶
func (e LockChangeType) IsValid() bool
func (LockChangeType) MarshalGQL ¶
func (e LockChangeType) MarshalGQL(w io.Writer)
func (LockChangeType) MarshalJSON ¶
func (e LockChangeType) MarshalJSON() ([]byte, error)
func (LockChangeType) String ¶
func (e LockChangeType) String() string
func (*LockChangeType) UnmarshalGQL ¶
func (e *LockChangeType) UnmarshalGQL(v any) error
func (*LockChangeType) UnmarshalJSON ¶
func (e *LockChangeType) UnmarshalJSON(b []byte) error
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 RequesterUpdateEmailData ¶
type RequesterUpdateEmailData struct {
EuaUserID string `json:"euaUserId"`
ProjectName string `json:"projectName"`
LcidStatus *SystemIntakeLCIDStatus `json:"lcidStatus,omitempty"`
LcidIssuedAt *time.Time `json:"lcidIssuedAt,omitempty"`
LcidExpiresAt *time.Time `json:"lcidExpiresAt,omitempty"`
LcidRetiresAt *time.Time `json:"lcidRetiresAt,omitempty"`
RequesterEmail EmailAddress `json:"requesterEmail"`
}
type RestartGRBReviewInput ¶
type RestartGRBReviewInput struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
NewGRBEndDate time.Time `json:"newGRBEndDate"`
}
Input structure to restart the GRB review process
type Role ¶
type Role string
A user role associated with a job code
func (Role) MarshalGQL ¶
func (Role) MarshalJSON ¶
func (*Role) UnmarshalGQL ¶
func (*Role) UnmarshalJSON ¶
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"`
CopyITGovMailbox bool `json:"copyITGovMailbox"`
CopyTrbMailbox bool `json:"copyTrbMailbox"`
NotifyEuaIds []string `json:"notifyEuaIds"`
}
The data needed to send a TRB guidance letter, including who to notify
type SetSystemIntakeRelationExistingSystemInput ¶
type SetSystemIntakeRelationExistingSystemInput struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
CedarSystemRelationShips []*SystemRelationshipInput `json:"cedarSystemRelationShips"`
ContractNumbers []string `json:"contractNumbers"`
}
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 Subscription ¶
type Subscription struct {
}
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"` // deprecated - leaving here so the DB has a field to scan the soon-to-be-deleted `isso` column
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"` // EACollaborator is stored for legacy/display purposes but no longer collected
EACollaboratorName null.String `json:"eaCollaboratorName" db:"ea_collaborator_name"` // EACollaboratorName is stored for legacy/display purposes but no longer collected
Collaborator508 null.String `json:"collaborator508" db:"collaborator_508"`
CollaboratorName508 null.String `json:"collaboratorName508" db:"collaborator_name_508"`
GovernanceTeamsIsPresent null.Bool `json:"governanceTeamsIsPresent" db:"governance_teams_is_present"`
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"` // Deprecated
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 *uuid.UUID `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"`
GrbPresentationDeckRequesterReminderEmailSentTime *time.Time `json:"grbPresentationDeckRequesterReminderEmailSentTime" db:"grb_presentation_deck_requester_reminder_email_sent_time"`
GrbReviewType SystemIntakeGRBReviewType `json:"grbReviewType" db:"grb_review_type"`
GrbReviewAsyncReportingDate *time.Time `json:"grbReviewAsyncReportingDate" db:"grb_review_async_reporting_date"`
GrbReviewAsyncRecordingTime *time.Time `json:"grbReviewAsyncRecordingTime" db:"grb_review_async_recording_time"`
GrbReviewAsyncEndDate *time.Time `json:"grbReviewAsyncEndDate" db:"grb_review_async_end_date"`
GrbReviewAsyncManualEndDate *time.Time `json:"grbReviewAsyncManualEndDate" db:"grb_review_async_manual_end_date"`
GrbReviewReminderLastSent *time.Time `json:"grbReviewReminderLastSent" db:"grb_review_reminder_last_sent"`
// This bool says if an intake supports a system or not.
// It is set through setSystemSupportAndUnlinkSystemIntakeRelation mutation
DoesNotSupportSystems null.Bool `json:"doesNotSupportSystems" db:"does_not_support_systems"`
}
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) MarshalJSON ¶
func (e SystemIntakeActionType) MarshalJSON() ([]byte, error)
func (SystemIntakeActionType) String ¶
func (e SystemIntakeActionType) String() string
func (*SystemIntakeActionType) UnmarshalGQL ¶
func (e *SystemIntakeActionType) UnmarshalGQL(v any) error
func (*SystemIntakeActionType) UnmarshalJSON ¶
func (e *SystemIntakeActionType) UnmarshalJSON(b []byte) 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 SystemIntakeAsyncGRBVotingOption ¶
type SystemIntakeAsyncGRBVotingOption string
const ( SystemIntakeAsyncGRBVotingOptionNoObjection SystemIntakeAsyncGRBVotingOption = "NO_OBJECTION" SystemIntakeAsyncGRBVotingOptionObjection SystemIntakeAsyncGRBVotingOption = "OBJECTION" )
func (SystemIntakeAsyncGRBVotingOption) IsValid ¶
func (e SystemIntakeAsyncGRBVotingOption) IsValid() bool
func (SystemIntakeAsyncGRBVotingOption) MarshalGQL ¶
func (e SystemIntakeAsyncGRBVotingOption) MarshalGQL(w io.Writer)
func (SystemIntakeAsyncGRBVotingOption) MarshalJSON ¶
func (e SystemIntakeAsyncGRBVotingOption) MarshalJSON() ([]byte, error)
func (SystemIntakeAsyncGRBVotingOption) String ¶
func (e SystemIntakeAsyncGRBVotingOption) String() string
func (*SystemIntakeAsyncGRBVotingOption) UnmarshalGQL ¶
func (e *SystemIntakeAsyncGRBVotingOption) UnmarshalGQL(v any) error
func (*SystemIntakeAsyncGRBVotingOption) UnmarshalJSON ¶
func (e *SystemIntakeAsyncGRBVotingOption) UnmarshalJSON(b []byte) error
type SystemIntakeBusinessOwner ¶
type SystemIntakeBusinessOwner struct {
Component *string `json:"component,omitempty"`
Name *string `json:"name,omitempty"`
}
Represents the OIT 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 {
BaseStructUser
SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"`
Component SystemIntakeContactComponent `json:"component" db:"component"`
Roles EnumArray[SystemIntakeContactRole] `json:"roles" db:"roles"`
IsRequester bool `json:"isRequester" db:"is_requester"`
// contains filtered or unexported fields
}
SystemIntakeContact represents an EUA user's association with a system intake
func NewSystemIntakeContact ¶
func NewSystemIntakeContact(userID uuid.UUID, createdBy uuid.UUID) *SystemIntakeContact
NewSystemIntakeContact creates a new SystemIntakeContact with the related userAccount
func (*SystemIntakeContact) CreatedByUserAccount ¶
func (cbr *SystemIntakeContact) 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 (*SystemIntakeContact) FilteredComponent ¶
func (r *SystemIntakeContact) FilteredComponent() *SystemIntakeContactComponent
FilteredComponent returns the component without the PLACEHOLDER component
func (*SystemIntakeContact) FilteredRoles ¶
func (r *SystemIntakeContact) FilteredRoles() []SystemIntakeContactRole
FilteredRoles returns the roles without the PLACEHOLDER role
func (SystemIntakeContact) GetMappingKey ¶
func (r SystemIntakeContact) GetMappingKey() uuid.UUID
func (SystemIntakeContact) GetMappingVal ¶
func (r SystemIntakeContact) GetMappingVal() *SystemIntakeContact
func (*SystemIntakeContact) ModifiedByUserAccount ¶
func (mbr *SystemIntakeContact) 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 (*SystemIntakeContact) UserAccount ¶
func (b *SystemIntakeContact) UserAccount(ctx context.Context) (*authentication.UserAccount, error)
type SystemIntakeContactComponent ¶
type SystemIntakeContactComponent string
const ( SystemIntakeContactComponentCenterForClinicalStandardsAndQualityCcsq SystemIntakeContactComponent = "CENTER_FOR_CLINICAL_STANDARDS_AND_QUALITY_CCSQ" SystemIntakeContactComponentCenterForConsumerInformationAndInsuranceOversightCciio SystemIntakeContactComponent = "CENTER_FOR_CONSUMER_INFORMATION_AND_INSURANCE_OVERSIGHT_CCIIO" SystemIntakeContactComponentCenterForMedicareCm SystemIntakeContactComponent = "CENTER_FOR_MEDICARE_CM" SystemIntakeContactComponentCenterForMedicaidAndChipServicesCmcs SystemIntakeContactComponent = "CENTER_FOR_MEDICAID_AND_CHIP_SERVICES_CMCS" SystemIntakeContactComponentCenterForMedicareAndMedicaidInnovationCmmi SystemIntakeContactComponent = "CENTER_FOR_MEDICARE_AND_MEDICAID_INNOVATION_CMMI" SystemIntakeContactComponentCenterForProgramIntegrityCpi SystemIntakeContactComponent = "CENTER_FOR_PROGRAM_INTEGRITY_CPI" SystemIntakeContactComponentCmsWide SystemIntakeContactComponent = "CMS_WIDE" SystemIntakeContactComponentEmergencyPreparednessAndResponseOperationsEpro SystemIntakeContactComponent = "EMERGENCY_PREPAREDNESS_AND_RESPONSE_OPERATIONS_EPRO" SystemIntakeContactComponentFederalCoordinatedHealthCareOffice SystemIntakeContactComponent = "FEDERAL_COORDINATED_HEALTH_CARE_OFFICE" SystemIntakeContactComponentOfficeOfAcquisitionAndGrantsManagementOagm SystemIntakeContactComponent = "OFFICE_OF_ACQUISITION_AND_GRANTS_MANAGEMENT_OAGM" SystemIntakeContactComponentOfficeOfHealthcareExperienceAndInteroperability SystemIntakeContactComponent = "OFFICE_OF_HEALTHCARE_EXPERIENCE_AND_INTEROPERABILITY" SystemIntakeContactComponentOfficeOfCommunicationsOc SystemIntakeContactComponent = "OFFICE_OF_COMMUNICATIONS_OC" SystemIntakeContactComponentOfficeOfEnterpriseDataAndAnalyticsOeda SystemIntakeContactComponent = "OFFICE_OF_ENTERPRISE_DATA_AND_ANALYTICS_OEDA" SystemIntakeContactComponentOfficeOfEqualOpportunityAndCivilRights SystemIntakeContactComponent = "OFFICE_OF_EQUAL_OPPORTUNITY_AND_CIVIL_RIGHTS" SystemIntakeContactComponentOfficeOfFinancialManagementOfm SystemIntakeContactComponent = "OFFICE_OF_FINANCIAL_MANAGEMENT_OFM" SystemIntakeContactComponentOfficeOfHumanCapital SystemIntakeContactComponent = "OFFICE_OF_HUMAN_CAPITAL" SystemIntakeContactComponentOfficeOfInformationTechnologyOit SystemIntakeContactComponent = "OFFICE_OF_INFORMATION_TECHNOLOGY_OIT" SystemIntakeContactComponentOfficeOfLegislation SystemIntakeContactComponent = "OFFICE_OF_LEGISLATION" SystemIntakeContactComponentOfficeOfMinorityHealthOmh SystemIntakeContactComponent = "OFFICE_OF_MINORITY_HEALTH_OMH" SystemIntakeContactComponentOfficeOfProgramOperationsAndLocalEngagementOpole SystemIntakeContactComponent = "OFFICE_OF_PROGRAM_OPERATIONS_AND_LOCAL_ENGAGEMENT_OPOLE" SystemIntakeContactComponentOfficeOfSecurityFacilitiesAndLogisticsOperationsOsflo SystemIntakeContactComponent = "OFFICE_OF_SECURITY_FACILITIES_AND_LOGISTICS_OPERATIONS_OSFLO" SystemIntakeContactComponentOfficeOfStrategicOperationsAndRegulatoryAffairsOsora SystemIntakeContactComponent = "OFFICE_OF_STRATEGIC_OPERATIONS_AND_REGULATORY_AFFAIRS_OSORA" SystemIntakeContactComponentOfficeOfStrategyPerformanceAndResultsOspr SystemIntakeContactComponent = "OFFICE_OF_STRATEGY_PERFORMANCE_AND_RESULTS_OSPR" SystemIntakeContactComponentOfficeOfTheActuaryOact SystemIntakeContactComponent = "OFFICE_OF_THE_ACTUARY_OACT" SystemIntakeContactComponentOfficeOfTheAdministrator SystemIntakeContactComponent = "OFFICE_OF_THE_ADMINISTRATOR" SystemIntakeContactComponentOfficesOfHearingsAndInquiries SystemIntakeContactComponent = "OFFICES_OF_HEARINGS_AND_INQUIRIES" SystemIntakeContactComponentOther SystemIntakeContactComponent = "OTHER" // SystemIntakeContactRolePLACEHOLDER is the default role given. It is removed before returning the frontend, so they know a user needs to select a role SystemIntakeContactComponentPLACEHOLDER SystemIntakeContactComponent = "PLACE_HOLDER" // These are legacy options SystemIntakeContactComponentConsortiumForMedicaidAndChildrensHealth SystemIntakeContactComponent = "CONSORTIUM_FOR_MEDICAID_AND_CHILDRENS_HEALTH" SystemIntakeContactComponentConsortiumForMedicareHealthPlansOperations SystemIntakeContactComponent = "CONSORTIUM_FOR_MEDICARE_HEALTH_PLANS_OPERATIONS" SystemIntakeContactComponentOfficeOfBurdenReductionAndHealthInformatics SystemIntakeContactComponent = "OFFICE_OF_BURDEN_REDUCTION_AND_HEALTH_INFORMATICS" SystemIntakeContactComponentOfficeOfSupportServicesAndOperations SystemIntakeContactComponent = "OFFICE_OF_SUPPORT_SERVICES_AND_OPERATIONS" )
type SystemIntakeContactRole ¶
type SystemIntakeContactRole string
SystemIntakeContactRole is the various roles that a user can have as a contact on a system intake
const ( SystemIntakeContactRoleBusinessOwner SystemIntakeContactRole = "BUSINESS_OWNER" SystemIntakeContactRoleContractingOfficersRepresentative SystemIntakeContactRole = "CONTRACTING_OFFICERS_REPRESENTATIVE" SystemIntakeContactRoleCyberRiskAdvisor SystemIntakeContactRole = "CYBER_RISK_ADVISOR" SystemIntakeContactRoleInformationSystemSecurityAdvisor SystemIntakeContactRole = "INFORMATION_SYSTEM_SECURITY_ADVISOR" SystemIntakeContactRoleOther SystemIntakeContactRole = "OTHER" SystemIntakeContactRolePrivacyAdvisor SystemIntakeContactRole = "PRIVACY_ADVISOR" SystemIntakeContactRoleProductOwner SystemIntakeContactRole = "PRODUCT_OWNER" SystemIntakeContactRoleProductManager SystemIntakeContactRole = "PRODUCT_MANAGER" SystemIntakeContactRoleProjectManager SystemIntakeContactRole = "PROJECT_MANAGER" SystemIntakeContactRoleSubjectMatterExpert SystemIntakeContactRole = "SUBJECT_MATTER_EXPERT" SystemIntakeContactRoleSystemMaintainer SystemIntakeContactRole = "SYSTEM_MAINTAINER" SystemIntakeContactRoleSystemOwner SystemIntakeContactRole = "SYSTEM_OWNER" // SystemIntakeContactRolePLACEHOLDER is the default role given. It is removed before returning the frontend, so they know a user needs to select a role SystemIntakeContactRolePLACEHOLDER SystemIntakeContactRole = "PLACE_HOLDER" )
type SystemIntakeContacts ¶
type SystemIntakeContacts struct {
// Returns all the raw contacts from the List of Contacts
AllContacts []*SystemIntakeContact `json:"allContacts"`
}
SystemIntakeContacts This is a convenience struct which surfaces information about the contacts associated with a system intake
func (*SystemIntakeContacts) AdditionalContacts ¶
func (info *SystemIntakeContacts) AdditionalContacts() ([]*SystemIntakeContact, error)
AdditionalContacts Returns the additional contacts from the List of Contacts. These are all the contacts except for requester, businessOwners, productOwners
func (*SystemIntakeContacts) BusinessOwners ¶
func (info *SystemIntakeContacts) BusinessOwners() ([]*SystemIntakeContact, error)
BusinessOwners returns the business owner from the List of Contacts
func (*SystemIntakeContacts) ProductManagers ¶
func (info *SystemIntakeContacts) ProductManagers() ([]*SystemIntakeContact, error)
ProductManagers returns the product managers from the List of Contacts
func (*SystemIntakeContacts) Requester ¶
func (info *SystemIntakeContacts) Requester() (*SystemIntakeContact, error)
Requester returns the primary requester of a system intake. If none are found, it returns nil. This should be a very uncommon situation
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"` // TODO: Bucket name should be removed as it is never referenced
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 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) MarshalJSON ¶
func (e SystemIntakeFormStep) MarshalJSON() ([]byte, error)
func (SystemIntakeFormStep) String ¶
func (e SystemIntakeFormStep) String() string
func (*SystemIntakeFormStep) UnmarshalGQL ¶
func (e *SystemIntakeFormStep) UnmarshalGQL(v any) error
func (*SystemIntakeFormStep) UnmarshalJSON ¶
func (e *SystemIntakeFormStep) UnmarshalJSON(b []byte) error
type SystemIntakeFundingSource ¶
type SystemIntakeFundingSource struct {
ID uuid.UUID `json:"id"`
SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"`
Investment null.String `json:"investment" db:"investment"`
ProjectNumber null.String `json:"projectNumber" db:"project_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 {
ProjectNumber *string `json:"projectNumber,omitempty"`
Investment *string `json:"investment,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 SystemIntakeGRBDiscussionBoardType ¶
type SystemIntakeGRBDiscussionBoardType string
const ( SystemIntakeGRBDiscussionBoardTypePrimary SystemIntakeGRBDiscussionBoardType = "PRIMARY" SystemIntakeGRBDiscussionBoardTypeInternal SystemIntakeGRBDiscussionBoardType = "INTERNAL" )
func (SystemIntakeGRBDiscussionBoardType) IsValid ¶
func (e SystemIntakeGRBDiscussionBoardType) IsValid() bool
func (SystemIntakeGRBDiscussionBoardType) MarshalGQL ¶
func (e SystemIntakeGRBDiscussionBoardType) MarshalGQL(w io.Writer)
func (SystemIntakeGRBDiscussionBoardType) MarshalJSON ¶
func (e SystemIntakeGRBDiscussionBoardType) MarshalJSON() ([]byte, error)
func (SystemIntakeGRBDiscussionBoardType) String ¶
func (e SystemIntakeGRBDiscussionBoardType) String() string
func (*SystemIntakeGRBDiscussionBoardType) UnmarshalGQL ¶
func (e *SystemIntakeGRBDiscussionBoardType) UnmarshalGQL(v any) error
func (*SystemIntakeGRBDiscussionBoardType) UnmarshalJSON ¶
func (e *SystemIntakeGRBDiscussionBoardType) UnmarshalJSON(b []byte) error
type SystemIntakeGRBPresentationLinks ¶
type SystemIntakeGRBPresentationLinks struct {
BaseStructUser
SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"`
RecordingLink *string `json:"recordingLink" db:"recording_link"`
RecordingPasscode *string `json:"recordingPasscode" db:"recording_passcode"`
TranscriptLink *string `json:"transcriptLink" db:"transcript_link"`
TranscriptS3Key *string `db:"transcript_s3_key"`
TranscriptFileName *string `json:"transcriptFileName" db:"transcript_file_name"`
PresentationDeckS3Key *string `db:"presentation_deck_s3_key"`
PresentationDeckFileName *string `json:"presentationDeckFileName" db:"presentation_deck_file_name"`
}
func NewSystemIntakeGRBPresentationLinks ¶
func NewSystemIntakeGRBPresentationLinks(createdByUserAcctID uuid.UUID) *SystemIntakeGRBPresentationLinks
func (*SystemIntakeGRBPresentationLinks) CreatedByUserAccount ¶
func (cbr *SystemIntakeGRBPresentationLinks) 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 (SystemIntakeGRBPresentationLinks) GetMappingKey ¶
func (s SystemIntakeGRBPresentationLinks) GetMappingKey() uuid.UUID
func (SystemIntakeGRBPresentationLinks) GetMappingVal ¶
func (s SystemIntakeGRBPresentationLinks) GetMappingVal() *SystemIntakeGRBPresentationLinks
func (*SystemIntakeGRBPresentationLinks) IsEmpty ¶
func (s *SystemIntakeGRBPresentationLinks) IsEmpty() bool
IsEmpty returns true if the *SystemIntakeGRBPresentationLinks is nil, or if the required (nullable) fields are ALL nil
func (*SystemIntakeGRBPresentationLinks) ModifiedByUserAccount ¶
func (mbr *SystemIntakeGRBPresentationLinks) 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 SystemIntakeGRBPresentationLinksInput ¶
type SystemIntakeGRBPresentationLinksInput struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
RecordingLink graphql.Omittable[*string] `json:"recordingLink,omitempty"`
RecordingPasscode graphql.Omittable[*string] `json:"recordingPasscode,omitempty"`
TranscriptLink graphql.Omittable[*string] `json:"transcriptLink,omitempty"`
TranscriptFileData graphql.Omittable[*graphql.Upload] `json:"transcriptFileData,omitempty"`
PresentationDeckFileData graphql.Omittable[*graphql.Upload] `json:"presentationDeckFileData,omitempty"`
}
Data needed to add system intake presentation link data One of the optional link/files values is required to pass the database constraint
type SystemIntakeGRBReviewAsyncStatusType ¶
type SystemIntakeGRBReviewAsyncStatusType string
The status type of the System Intake GRB Review (For Async Reviews only)
const ( SystemIntakeGRBReviewAsyncStatusTypeInProgress SystemIntakeGRBReviewAsyncStatusType = "IN_PROGRESS" SystemIntakeGRBReviewAsyncStatusTypeCompleted SystemIntakeGRBReviewAsyncStatusType = "COMPLETED" SystemIntakeGRBReviewAsyncStatusTypePastDue SystemIntakeGRBReviewAsyncStatusType = "PAST_DUE" )
func (SystemIntakeGRBReviewAsyncStatusType) IsValid ¶
func (e SystemIntakeGRBReviewAsyncStatusType) IsValid() bool
func (SystemIntakeGRBReviewAsyncStatusType) MarshalGQL ¶
func (e SystemIntakeGRBReviewAsyncStatusType) MarshalGQL(w io.Writer)
func (SystemIntakeGRBReviewAsyncStatusType) MarshalJSON ¶
func (e SystemIntakeGRBReviewAsyncStatusType) MarshalJSON() ([]byte, error)
func (SystemIntakeGRBReviewAsyncStatusType) String ¶
func (e SystemIntakeGRBReviewAsyncStatusType) String() string
func (*SystemIntakeGRBReviewAsyncStatusType) UnmarshalGQL ¶
func (e *SystemIntakeGRBReviewAsyncStatusType) UnmarshalGQL(v any) error
func (*SystemIntakeGRBReviewAsyncStatusType) UnmarshalJSON ¶
func (e *SystemIntakeGRBReviewAsyncStatusType) UnmarshalJSON(b []byte) error
type SystemIntakeGRBReviewDiscussion ¶
type SystemIntakeGRBReviewDiscussion struct {
InitialPost *SystemIntakeGRBReviewDiscussionPost `json:"initialPost"`
Replies []*SystemIntakeGRBReviewDiscussionPost `json:"replies"`
}
func CreateGRBDiscussionsFromPosts ¶
func CreateGRBDiscussionsFromPosts(posts []*SystemIntakeGRBReviewDiscussionPost, boardType SystemIntakeGRBDiscussionBoardType) ([]*SystemIntakeGRBReviewDiscussion, error)
CreateGRBDiscussionsFromPosts sorts a slice of discussion posts (replies and initial) and sorts them into multiple discussions
type SystemIntakeGRBReviewDiscussionPost ¶
type SystemIntakeGRBReviewDiscussionPost struct {
BaseStructUser
Content HTML `json:"content" db:"content"`
SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"`
ReplyToID *uuid.UUID `db:"reply_to_id"`
VotingRole *SystemIntakeGRBReviewerVotingRole `json:"votingRole" db:"voting_role"`
GRBRole *SystemIntakeGRBReviewerRole `json:"grbRole" db:"grb_role"`
DiscussionBoardType *SystemIntakeGRBDiscussionBoardType `json:"discussionBoardType" db:"discussion_board_type"`
}
func NewSystemIntakeGRBReviewDiscussionPost ¶
func NewSystemIntakeGRBReviewDiscussionPost(createdBy uuid.UUID) *SystemIntakeGRBReviewDiscussionPost
func (*SystemIntakeGRBReviewDiscussionPost) CreatedByUserAccount ¶
func (cbr *SystemIntakeGRBReviewDiscussionPost) 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 (SystemIntakeGRBReviewDiscussionPost) GetMappingKey ¶
func (r SystemIntakeGRBReviewDiscussionPost) GetMappingKey() uuid.UUID
func (SystemIntakeGRBReviewDiscussionPost) GetMappingVal ¶
func (r SystemIntakeGRBReviewDiscussionPost) GetMappingVal() *SystemIntakeGRBReviewDiscussionPost
func (*SystemIntakeGRBReviewDiscussionPost) ModifiedByUserAccount ¶
func (mbr *SystemIntakeGRBReviewDiscussionPost) 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 SystemIntakeGRBReviewStandardStatusType ¶
type SystemIntakeGRBReviewStandardStatusType string
The status type of the System Intake GRB Review (For Standard reviews only)
const ( SystemIntakeGRBReviewStandardStatusTypeScheduled SystemIntakeGRBReviewStandardStatusType = "SCHEDULED" SystemIntakeGRBReviewStandardStatusTypeCompleted SystemIntakeGRBReviewStandardStatusType = "COMPLETED" )
func (SystemIntakeGRBReviewStandardStatusType) IsValid ¶
func (e SystemIntakeGRBReviewStandardStatusType) IsValid() bool
func (SystemIntakeGRBReviewStandardStatusType) MarshalGQL ¶
func (e SystemIntakeGRBReviewStandardStatusType) MarshalGQL(w io.Writer)
func (SystemIntakeGRBReviewStandardStatusType) MarshalJSON ¶
func (e SystemIntakeGRBReviewStandardStatusType) MarshalJSON() ([]byte, error)
func (SystemIntakeGRBReviewStandardStatusType) String ¶
func (e SystemIntakeGRBReviewStandardStatusType) String() string
func (*SystemIntakeGRBReviewStandardStatusType) UnmarshalGQL ¶
func (e *SystemIntakeGRBReviewStandardStatusType) UnmarshalGQL(v any) error
func (*SystemIntakeGRBReviewStandardStatusType) UnmarshalJSON ¶
func (e *SystemIntakeGRBReviewStandardStatusType) UnmarshalJSON(b []byte) error
type SystemIntakeGRBReviewType ¶
type SystemIntakeGRBReviewType string
const ( SystemIntakeGRBReviewTypeStandard SystemIntakeGRBReviewType = "STANDARD" SystemIntakeGRBReviewTypeAsync SystemIntakeGRBReviewType = "ASYNC" )
type SystemIntakeGRBReviewer ¶
type SystemIntakeGRBReviewer struct {
BaseStructUser
SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"`
GRBVotingRole SystemIntakeGRBReviewerVotingRole `json:"votingRole" db:"voting_role"`
GRBReviewerRole SystemIntakeGRBReviewerRole `json:"grbRole" db:"grb_role"`
Vote *SystemIntakeAsyncGRBVotingOption `json:"vote" db:"vote"`
VoteComment zero.String `json:"voteComment" db:"vote_comment"`
DateVoted zero.Time `json:"dateVoted" db:"date_voted"`
// 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) Humanize ¶
func (r SystemIntakeGRBReviewerRole) Humanize() (string, error)
func (SystemIntakeGRBReviewerRole) IsValid ¶
func (e SystemIntakeGRBReviewerRole) IsValid() bool
func (SystemIntakeGRBReviewerRole) MarshalGQL ¶
func (e SystemIntakeGRBReviewerRole) MarshalGQL(w io.Writer)
func (SystemIntakeGRBReviewerRole) MarshalJSON ¶
func (e SystemIntakeGRBReviewerRole) MarshalJSON() ([]byte, error)
func (SystemIntakeGRBReviewerRole) String ¶
func (e SystemIntakeGRBReviewerRole) String() string
func (*SystemIntakeGRBReviewerRole) UnmarshalGQL ¶
func (e *SystemIntakeGRBReviewerRole) UnmarshalGQL(v any) error
func (*SystemIntakeGRBReviewerRole) UnmarshalJSON ¶
func (e *SystemIntakeGRBReviewerRole) UnmarshalJSON(b []byte) error
type SystemIntakeGRBReviewerVotingRole ¶
type SystemIntakeGRBReviewerVotingRole string
const ( SystemIntakeGRBReviewerVotingRoleVoting SystemIntakeGRBReviewerVotingRole = "VOTING" SystemIntakeGRBReviewerVotingRoleAlternate SystemIntakeGRBReviewerVotingRole = "ALTERNATE" SystemIntakeGRBReviewerVotingRoleNonVoting SystemIntakeGRBReviewerVotingRole = "NON_VOTING" )
func (SystemIntakeGRBReviewerVotingRole) Humanize ¶
func (r SystemIntakeGRBReviewerVotingRole) Humanize() (string, error)
func (SystemIntakeGRBReviewerVotingRole) IsValid ¶
func (e SystemIntakeGRBReviewerVotingRole) IsValid() bool
func (SystemIntakeGRBReviewerVotingRole) MarshalGQL ¶
func (e SystemIntakeGRBReviewerVotingRole) MarshalGQL(w io.Writer)
func (SystemIntakeGRBReviewerVotingRole) MarshalJSON ¶
func (e SystemIntakeGRBReviewerVotingRole) MarshalJSON() ([]byte, error)
func (SystemIntakeGRBReviewerVotingRole) String ¶
func (e SystemIntakeGRBReviewerVotingRole) String() string
func (*SystemIntakeGRBReviewerVotingRole) UnmarshalGQL ¶
func (e *SystemIntakeGRBReviewerVotingRole) UnmarshalGQL(v any) error
func (*SystemIntakeGRBReviewerVotingRole) UnmarshalJSON ¶
func (e *SystemIntakeGRBReviewerVotingRole) UnmarshalJSON(b []byte) 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 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 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"`
GrbReviewType *SystemIntakeGRBReviewType `json:"grbReviewType,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" // SystemIntakeRequestTypeSHUTDOWN captures enum value of "OTHER" SystemIntakeRequestTypeOTHER SystemIntakeRequestType = "OTHER" )
type SystemIntakeRequesterInput ¶
type SystemIntakeRequesterInput struct {
Name string `json:"name"`
}
The input data used to set the requester of a system request
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) MarshalJSON ¶
func (e SystemIntakeSoftwareAcquisitionMethods) MarshalJSON() ([]byte, error)
func (SystemIntakeSoftwareAcquisitionMethods) String ¶
func (e SystemIntakeSoftwareAcquisitionMethods) String() string
func (*SystemIntakeSoftwareAcquisitionMethods) UnmarshalGQL ¶
func (e *SystemIntakeSoftwareAcquisitionMethods) UnmarshalGQL(v any) error
func (*SystemIntakeSoftwareAcquisitionMethods) UnmarshalJSON ¶
func (e *SystemIntakeSoftwareAcquisitionMethods) UnmarshalJSON(b []byte) 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" SISAGrbReviewComplete SystemIntakeStatusAdmin = "GRB_MEETING_COMPLETE" SISAGrbReviewInProgress SystemIntakeStatusAdmin = "GRB_REVIEW_IN_PROGRESS" 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" SISALcidRetiringSoon SystemIntakeStatusAdmin = "LCID_RETIRING_SOON" 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" SISRGrbReviewInProgress SystemIntakeStatusRequester = "GRB_REVIEW_IN_PROGRESS" 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" // SystemIntakeStepGRBREVIEW captures enum value "GRB_REVIEW" SystemIntakeStepGRBREVIEW SystemIntakeStep = "GRB_REVIEW" )
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) MarshalJSON ¶
func (e SystemIntakeStepToProgressTo) MarshalJSON() ([]byte, error)
func (SystemIntakeStepToProgressTo) String ¶
func (e SystemIntakeStepToProgressTo) String() string
func (*SystemIntakeStepToProgressTo) UnmarshalGQL ¶
func (e *SystemIntakeStepToProgressTo) UnmarshalGQL(v any) error
func (*SystemIntakeStepToProgressTo) UnmarshalJSON ¶
func (e *SystemIntakeStepToProgressTo) UnmarshalJSON(b []byte) error
type SystemIntakeSystem ¶
type SystemIntakeSystem struct {
BaseStructUser
SystemIntakeID uuid.UUID `json:"systemIntakeId" db:"system_intake_id"`
SystemID uuid.UUID `json:"systemId" db:"system_id"`
SystemRelationshipType EnumArray[SystemRelationshipType] `json:"relationshipType" db:"relationship_type"`
OtherSystemRelationshipDescription *string `json:"otherSystemRelationshipDescription" db:"other_system_relationship_description"`
}
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 uuid.UUID
State SystemIntakeState
}
type SystemIntakesByCedarSystemIDsResponse ¶
type SystemIntakesByCedarSystemIDsResponse struct {
CedarSystemID uuid.UUID `db:"system_id"`
SystemIntake
}
func (SystemIntakesByCedarSystemIDsResponse) GetMappingKey ¶
func (s SystemIntakesByCedarSystemIDsResponse) GetMappingKey() uuid.UUID
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 SystemProfileLockableSection ¶
type SystemProfileLockableSection string
SystemProfileLockableSection represents Sections of the system profile form that can be locked for editing
const ( SystemProfileLockableSectionBusinessInformation SystemProfileLockableSection = "BUSINESS_INFORMATION" SystemProfileLockableSectionImplementationDetails SystemProfileLockableSection = "IMPLEMENTATION_DETAILS" SystemProfileLockableSectionData SystemProfileLockableSection = "DATA" SystemProfileLockableSectionToolsAndSoftware SystemProfileLockableSection = "TOOLS_AND_SOFTWARE" SystemProfileLockableSectionSubSystems SystemProfileLockableSection = "SUB_SYSTEMS" SystemProfileLockableSectionTeam SystemProfileLockableSection = "TEAM" )
type SystemProfileSectionLockStatus ¶
type SystemProfileSectionLockStatus struct {
CedarSystemID uuid.UUID `json:"cedarSystemId"`
Section SystemProfileLockableSection `json:"section"`
LockedByUserAccount *authentication.UserAccount `json:"lockedByUserAccount"`
}
Status of a locked section of the system profile form
type SystemProfileSectionLockStatusChanged ¶
type SystemProfileSectionLockStatusChanged struct {
ChangeType LockChangeType `json:"changeType"`
LockStatus *SystemProfileSectionLockStatus `json:"lockStatus"`
}
Details about a change to the lock status of a system profile section
type SystemRelationshipInput ¶
type SystemRelationshipInput struct {
CedarSystemID *uuid.UUID `json:"cedarSystemId,omitempty"`
SystemRelationshipType []SystemRelationshipType `json:"systemRelationshipType"`
OtherSystemRelationshipDescription *string `json:"otherSystemRelationshipDescription,omitempty"`
}
Input data for creating a system intake's relationship to a CEDAR system
type SystemRelationshipType ¶
type SystemRelationshipType string
const ( SystemRelationshipTypePrimarySupport SystemRelationshipType = "PRIMARY_SUPPORT" SystemRelationshipTypePartialSupport SystemRelationshipType = "PARTIAL_SUPPORT" SystemRelationshipTypeUsesInTechSolution SystemRelationshipType = "USES_OR_IMPACTED_BY_SELECTED_SYSTEM" SystemRelationshipTypeUsedInTechSolution SystemRelationshipType = "IMPACTS_SELECTED_SYSTEM" SystemRelationshipTypeOther SystemRelationshipType = "OTHER" )
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 []*TRBGuidanceLetterInsight `json:"insights"`
}
Data specific to admin notes in the Guidance Letter category The "insights" property _will_ return deleted insights so that UI can reference the insight 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 TRBAdminNoteTRBGuidanceLetterInsightLink ¶
type TRBAdminNoteTRBGuidanceLetterInsightLink struct {
BaseStruct
TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"`
TRBAdminNoteID uuid.UUID `json:"trbAdminNoteId" db:"trb_admin_note_id"`
TRBGuidanceLetterInsightID uuid.UUID `json:"trbGuidanceLetterInsightId" db:"trb_guidance_letter_insight_id"`
}
TRBAdminNoteTRBGuidanceLetterInsightLink represents an association between a TRB admin note (in the Guidance Letter category) and a TRB guidance letter insight
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 TRBGuidanceLetterInsight ¶
type TRBGuidanceLetterInsight struct {
BaseStruct
TRBRequestID uuid.UUID `json:"trbRequestId" db:"trb_request_id"`
Title string `json:"title" db:"title"`
Insight HTML `json:"insight" db:"insight"`
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 TRBGuidanceLetterInsightCategory `json:"category" db:"category"`
}
TRBGuidanceLetterInsight represents the data for a TRB guidance letter insight
type TRBGuidanceLetterInsightCategory ¶
type TRBGuidanceLetterInsightCategory string
TRBGuidanceLetterInsightCategory implemented here instead of in gen files see Note [gql enums]
const ( TRBGuidanceLetterInsightCategoryRequirement TRBGuidanceLetterInsightCategory = "REQUIREMENT" TRBGuidanceLetterInsightCategoryRecommendation TRBGuidanceLetterInsightCategory = "RECOMMENDATION" TRBGuidanceLetterInsightCategoryConsideration TRBGuidanceLetterInsightCategory = "CONSIDERATION" TRBGuidanceLetterInsightCategoryUncategorized TRBGuidanceLetterInsightCategory = "UNCATEGORIZED" )
func (TRBGuidanceLetterInsightCategory) String ¶
func (t TRBGuidanceLetterInsightCategory) 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 uuid.UUID `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 uuid.UUID
State TRBRequestState
}
TRBRequestsByCedarSystemIDsRequest is used as an input for dataloaders that can only receive a single argument
type TRBRequestsByCedarSystemIDsResponse ¶
type TRBRequestsByCedarSystemIDsResponse struct {
CedarSystemID uuid.UUID `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() uuid.UUID
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 Tag ¶
type Tag struct {
// BaseStructUser // Introduce this if we end up storing tags in the database
TagType TagType `json:"tagType" db:"tag_type"`
TaggedContentID uuid.UUID `json:"taggedContentID" db:"tagged_content_id"`
}
Tag represents a tagged item in HTML
type TagType ¶
type TagType string
func (TagType) MarshalGQL ¶
func (TagType) MarshalJSON ¶
func (*TagType) UnmarshalGQL ¶
func (*TagType) UnmarshalJSON ¶
type TaggedHTML ¶
TaggedHTML Is the input type for HTML that could contain tags
func NewTaggedHTMLFromString ¶
func NewTaggedHTMLFromString(htmlString string) (TaggedHTML, error)
NewTaggedHTMLFromString converts an htmlString into TaggedHTML. It will store the input string as the raw content, and then sanitize and parse the input.
func (TaggedHTML) MarshalGQLContext ¶
MarshalGQLContext marshals the TaggedHTML type to JSON to return to graphQL
func (*TaggedHTML) Scan ¶
func (th *TaggedHTML) Scan(src interface{}) error
func (TaggedHTML) ToTemplate ¶
func (th TaggedHTML) ToTemplate() template.HTML
func (TaggedHTML) UniqueTags ¶
func (th TaggedHTML) UniqueTags() []*Tag
func (*TaggedHTML) UnmarshalGQLContext ¶
func (th *TaggedHTML) UnmarshalGQLContext(_ context.Context, v interface{}) error
UnmarshalGQLContext unmarshals the data from graphql to the TaggedHTML type
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"`
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"`
Component SystemIntakeContactComponent `json:"component"`
Roles []SystemIntakeContactRole `json:"roles"`
IsRequester bool `json:"isRequester"`
}
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 UpdateSystemIntakeGRBReviewFormInputPresentationAsync ¶
type UpdateSystemIntakeGRBReviewFormInputPresentationAsync struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
GrbReviewAsyncRecordingTime graphql.Omittable[*time.Time] `json:"grbReviewAsyncRecordingTime,omitempty"`
}
Input data used to set or update a System Intake's GRB Review Presentation (Async) data
type UpdateSystemIntakeGRBReviewFormInputPresentationStandard ¶
type UpdateSystemIntakeGRBReviewFormInputPresentationStandard struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
// the date of the GRB review meeting. It is omittable for simplicity on the front end, but if it is omitted or null the date will not be updated
GrbDate graphql.Omittable[*time.Time] `json:"grbDate,omitempty"`
}
Input data used to set or update a System Intake's GRB Review Presentation (Standard) data
type UpdateSystemIntakeGRBReviewFormInputTimeframeAsync ¶
type UpdateSystemIntakeGRBReviewFormInputTimeframeAsync struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
GrbReviewAsyncEndDate time.Time `json:"grbReviewAsyncEndDate"`
// Whether or not to start the GRB review meeting now or not. It defaults to false
StartGRBReview bool `json:"startGRBReview"`
}
Input data used to set or update a System Intake's GRB Review Timeframe (Async) data
type UpdateSystemIntakeGRBReviewTypeInput ¶
type UpdateSystemIntakeGRBReviewTypeInput struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
GrbReviewType SystemIntakeGRBReviewType `json:"grbReviewType"`
}
Input data used to set or update a System Intake's GRB Review Type
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 *uuid.UUID `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"`
ProjectAcronym *string `json:"projectAcronym,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 *uuid.UUID `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 UpdateSystemLinkInput ¶
type UpdateSystemLinkInput struct {
ID uuid.UUID `json:"id"`
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
SystemID uuid.UUID `json:"systemID"`
SystemRelationshipType []SystemRelationshipType `json:"systemRelationshipType"`
OtherSystemRelationshipDescription *string `json:"otherSystemRelationshipDescription,omitempty"`
}
The input type for updating a system intake's linked system by id
type UpdateSystemLinkPayload ¶
type UpdateSystemLinkPayload struct {
SystemIntakeSystem *SystemIntakeSystem `json:"systemIntakeSystem"`
UserErrors []*UserError `json:"userErrors,omitempty"`
}
The payload for updating a system intake's linked system
type UpdateTRBGuidanceLetterInsightOrderInput ¶
type UpdateTRBGuidanceLetterInsightOrderInput struct {
TrbRequestID uuid.UUID `json:"trbRequestId"`
// List of the insight IDs in the new order they should be displayed
NewOrder []uuid.UUID `json:"newOrder"`
Category TRBGuidanceLetterInsightCategory `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 UploadSystemIntakeGRBPresentationDeckInput ¶
type UploadSystemIntakeGRBPresentationDeckInput struct {
SystemIntakeID uuid.UUID `json:"systemIntakeID"`
PresentationDeckFileData *graphql.Upload `json:"presentationDeckFileData,omitempty"`
}
Data needed to upload a presentation deck
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
- enum_array.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_discussions.go
- system_intake_grb_presentation_links.go
- system_intake_grb_reviewers.go
- system_intake_grb_voting_information.go
- system_intake_note.go
- system_intake_status_admin.go
- system_intake_status_requester.go
- system_intake_system.go
- system_profile_lockable_section.go
- tag.go
- tagged_html.go
- trb_admin_note.go
- trb_admin_note_trb_insight_link.go
- trb_admin_note_trb_request_document_link.go
- trb_guidance_letter.go
- trb_guidance_letter_insight.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