system-praktyk-front/src/state/actions/plan.ts
2020-11-06 20:03:14 +01:00

44 lines
1.3 KiB
TypeScript

import {
ReceiveSubmissionApproveAction,
ReceiveSubmissionDeclineAction,
ReceiveSubmissionUpdateAction,
SaveSubmissionAction,
SendSubmissionAction
} from "@/state/actions/submission";
import { InternshipDocument, SubmissionState } from "@/api/dto/internship-registration";
export enum InternshipPlanActions {
Send = "SEND_PLAN",
Save = "SAVE_PLAN",
Approve = "RECEIVE_PLAN_APPROVE",
Decline = "RECEIVE_PLAN_DECLINE",
Receive = "RECEIVE_PLAN_STATE",
}
export interface SendPlanAction extends SendSubmissionAction<InternshipPlanActions.Send> {
document: InternshipDocument;
}
export interface ReceivePlanApproveAction extends ReceiveSubmissionApproveAction<InternshipPlanActions.Approve> {
}
export interface ReceivePlanDeclineAction extends ReceiveSubmissionDeclineAction<InternshipPlanActions.Decline> {
}
export interface ReceivePlanUpdateAction extends ReceiveSubmissionUpdateAction<InternshipPlanActions.Receive> {
document: InternshipDocument;
state: SubmissionState;
}
export interface SavePlanAction extends SaveSubmissionAction<InternshipPlanActions.Save> {
document: InternshipDocument;
}
export type InternshipPlanAction
= SendPlanAction
| SavePlanAction
| ReceivePlanApproveAction
| ReceivePlanDeclineAction
| ReceivePlanUpdateAction;