import { DARSState } from '@app/dars/store/state'; import { Action } from '@ngrx/store'; import { AuditMetadata } from '../models/audit-metadata'; import { Audit } from '../models/audit/audit'; import { SingleAuditRequest } from '../models/single-audit-request'; export enum DarsActionTypes { ErrorLoadingMetadata = '[DARS] Error Loading Metadata', StartLoadingMetadata = '[DARS] Start Loading Metadata', DoneLoadingMetadata = '[DARS] Done Loading Metadata', AddAuditMetadata = '[DARS] Add Audit Metadata', ErrorLoadingAudit = '[DARS] Error Loading Audit', StartLoadingAudit = '[DARS] Start Loading Audit', DoneLoadingAudit = '[DARS] Done Loading Audit', CloseAudit = '[DARS] Close Audit', PopulateDarsState = '[DARS] Done Loading state', ErrorSendingAudit = 'DARS Error Sending Audit', StartSendingAudit = '[DARS] Start Sending Audit', DoneSendingAudit = '[DARS] Done Sending Audit', DismissAlert = '[DARS] Dismiss Alert', } export class ErrorLoadingMetadata implements Action { public readonly type = DarsActionTypes.ErrorLoadingMetadata; constructor(public payload: { message: string }) {} } export class StartLoadingMetadata implements Action { public readonly type = DarsActionTypes.StartLoadingMetadata; } export class DoneLoadingMetadata implements Action { public readonly type = DarsActionTypes.DoneLoadingMetadata; constructor(public payload: DARSState) {} } export class ErrorLoadingAudit implements Action { public readonly type = DarsActionTypes.ErrorLoadingAudit; constructor(public payload: { message: string }) {} } export class AddAuditMetadata implements Action { public readonly type = DarsActionTypes.AddAuditMetadata; constructor( public payload: { programMetadata: AuditMetadata[]; whatIfMetadata: AuditMetadata[]; }, ) {} } export class PopulateDarsState implements Action { public readonly type = DarsActionTypes.PopulateDarsState; constructor(public payload: Partial<DARSState>) {} } export class StartLoadingAudit implements Action { public readonly type = DarsActionTypes.StartLoadingAudit; constructor(public payload: AuditMetadata) {} } export class DoneLoadingAudit implements Action { public readonly type = DarsActionTypes.DoneLoadingAudit; constructor(public payload: { metadata: AuditMetadata; audit: Audit }) {} } export class CloseAudit implements Action { public readonly type = DarsActionTypes.CloseAudit; } export class ErrorSendingAudit implements Action { public readonly type = DarsActionTypes.ErrorSendingAudit; constructor(public payload: { message: string }) {} } export class StartSendingAudit implements Action { public readonly type = DarsActionTypes.StartSendingAudit; constructor( public payload: { darsInstitutionCode: string; darsDegreeProgramCode: string; }, ) {} } export class DoneSendingAudit implements Action { public readonly type = DarsActionTypes.DoneSendingAudit; constructor( public payload: { darsInstitutionCode: string; darsDegreeProgramCode: string; }, ) {} } export class DismissAlert implements Action { public readonly type = DarsActionTypes.DismissAlert; constructor(public payload: { key: string }) {} }