module Web.Types where import IHP.Prelude import IHP.ModelSupport import IHP.LoginSupport.Types import Generated.Types -- | Authentication type alias type CurrentUserRecord = User instance HasNewSessionUrl User where newSessionUrl _ = "/NewSession" -- Controllers data WebApplication = WebApplication deriving (Eq, Show) data HubsController = HubsAction | NewHubAction | ShowHubAction { hubId :: !(Id Hub) } | CreateHubAction | EditHubAction { hubId :: !(Id Hub) } | UpdateHubAction { hubId :: !(Id Hub) } | DeleteHubAction { hubId :: !(Id Hub) } | TriageDashboardAction { hubId :: !(Id Hub) } | GovernanceDashboardAction { hubId :: !(Id Hub) } | AntifragilityDashboardAction { hubId :: !(Id Hub) } | AgentAuditDashboardAction { hubId :: !(Id Hub) } | AdapterCompatibilityDashboardAction { hubId :: !(Id Hub) } | FrictionHeatmapAction { hubId :: !(Id Hub) } | RecomputeFrictionAction { hubId :: !(Id Hub) } | BottleneckDashboardAction { hubId :: !(Id Hub) } | DetectBottlenecksAction { hubId :: !(Id Hub) } | ResolveBottleneckAction { bottleneckRecordId :: !(Id BottleneckRecord) } | SnapshotHubHealthAction { hubId :: !(Id Hub) } | HubHealthHistoryAction { hubId :: !(Id Hub) } | OperationalReviewBoardAction deriving (Eq, Show, Data) data WidgetsController = WidgetsAction | NewWidgetAction | ShowWidgetAction { widgetId :: !(Id Widget) } | CreateWidgetAction | EditWidgetAction { widgetId :: !(Id Widget) } | UpdateWidgetAction { widgetId :: !(Id Widget) } | SummarizeClusterAction { widgetId :: !(Id Widget) } | DraftRequirementAction { widgetId :: !(Id Widget) } deriving (Eq, Show, Data) data InteractionEventsController = CreateInteractionEventAction { widgetId :: !(Id Widget) } deriving (Eq, Show, Data) data AnnotationsController = WidgetAnnotationsAction { widgetId :: !(Id Widget) } | ShowAnnotationAction { annotationId :: !(Id Annotation) } | NewAnnotationAction { widgetId :: !(Id Widget) } | CreateAnnotationAction { widgetId :: !(Id Widget) } | EscalateAnnotationAction { annotationId :: !(Id Annotation) } deriving (Eq, Show, Data) data AnnotationThreadsController = WidgetAnnotationThreadsAction { widgetId :: !(Id Widget) } | ShowAnnotationThreadAction { annotationThreadId :: !(Id AnnotationThread) } | NewAnnotationThreadAction { widgetId :: !(Id Widget) } | CreateAnnotationThreadAction { widgetId :: !(Id Widget) } | AssignAnnotationToThreadAction { annotationId :: !(Id Annotation) } deriving (Eq, Show, Data) data RequirementCandidatesController = RequirementCandidatesAction | ShowRequirementCandidateAction { requirementCandidateId :: !(Id RequirementCandidate) } | NewRequirementCandidateAction | CreateRequirementCandidateAction | EditRequirementCandidateAction { requirementCandidateId :: !(Id RequirementCandidate) } | UpdateRequirementCandidateAction { requirementCandidateId :: !(Id RequirementCandidate) } | UpdateTriageStatusAction { requirementCandidateId :: !(Id RequirementCandidate) } | AssignReviewerAction { requirementCandidateId :: !(Id RequirementCandidate) } | MyQueueAction | PromoteToRequirementAction { requirementCandidateId :: !(Id RequirementCandidate) } | LinkToDecisionAction { requirementCandidateId :: !(Id RequirementCandidate) } | DetectDuplicatesAction { requirementCandidateId :: !(Id RequirementCandidate) } | DetectPolicySensitivityAction { requirementCandidateId :: !(Id RequirementCandidate) } deriving (Eq, Show, Data) data RequirementsController = RequirementsAction | ShowRequirementAction { requirementId :: !(Id Requirement) } deriving (Eq, Show, Data) data DecisionRecordsController = DecisionRecordsAction | ShowDecisionRecordAction { decisionRecordId :: !(Id DecisionRecord) } | NewDecisionRecordAction | CreateDecisionRecordAction | EditDecisionRecordAction { decisionRecordId :: !(Id DecisionRecord) } | UpdateDecisionRecordAction { decisionRecordId :: !(Id DecisionRecord) } | AddPolicyReferenceAction { decisionRecordId :: !(Id DecisionRecord) } | DeletePolicyReferenceAction { policyReferenceId :: !(Id PolicyReference) } | AddImplementationRefAction { decisionRecordId :: !(Id DecisionRecord) } | DeleteImplementationRefAction { implementationChangeReferenceId :: !(Id ImplementationChangeReference) } | ProposeImplementationAction { decisionRecordId :: !(Id DecisionRecord) } deriving (Eq, Show, Data) data DeploymentRecordsController = DeploymentRecordsAction | ShowDeploymentRecordAction { deploymentRecordId :: !(Id DeploymentRecord) } | NewDeploymentRecordAction | CreateDeploymentRecordAction | RecordOutcomeSignalAction { deploymentRecordId :: !(Id DeploymentRecord) } | EvaluateChangeAction { deploymentRecordId :: !(Id DeploymentRecord) } deriving (Eq, Show, Data) data AgentProposalsController = AgentProposalsAction | ShowAgentProposalAction { agentProposalId :: !(Id AgentProposal) } | AcceptProposalAction { agentProposalId :: !(Id AgentProposal) } | RejectProposalAction { agentProposalId :: !(Id AgentProposal) } deriving (Eq, Show, Data) data ApiInteractionEventsController = CreateApiInteractionEventAction deriving (Eq, Show, Data) data EnvelopeEmissionContractsController = EnvelopeEmissionContractsAction | ShowEnvelopeEmissionContractAction { envelopeEmissionContractId :: !(Id EnvelopeEmissionContract) } deriving (Eq, Show, Data) data InteractionReportingContractsController = InteractionReportingContractsAction | ShowInteractionReportingContractAction { interactionReportingContractId :: !(Id InteractionReportingContract) } deriving (Eq, Show, Data) data WidgetAdapterSpecsController = WidgetAdapterSpecsAction | ShowWidgetAdapterSpecAction { widgetAdapterSpecId :: !(Id WidgetAdapterSpec) } | NewWidgetAdapterSpecAction | CreateWidgetAdapterSpecAction | EditWidgetAdapterSpecAction { widgetAdapterSpecId :: !(Id WidgetAdapterSpec) } | UpdateWidgetAdapterSpecAction { widgetAdapterSpecId :: !(Id WidgetAdapterSpec) } deriving (Eq, Show, Data) data CrossHubPropagationsController = CrossHubPropagationsAction | DetectPropagationsAction | AcknowledgePropagationAction { crossHubPropagationId :: !(Id CrossHubPropagation) } | ResolvePropagationAction { crossHubPropagationId :: !(Id CrossHubPropagation) } deriving (Eq, Show, Data) data SessionsController = NewSessionAction | CreateSessionAction | DeleteSessionAction deriving (Eq, Show, Data)