import { MultiSelectOption } from './options.type'; import { JSONContent } from './timeline.type'; import { TaskStatus } from './wangsStatus.type'; export interface DetailProjectResponse { status: number; message: string; data: DetailProjectData; } export interface ImprovementDetailResponse { status: number; message: string; data: ImprovementDetailData; } export interface ImprovementDetailData { title: string; modules: string[]; description: JSONContent; tasks: TaskItem[]; } export interface DetailProjectData { title: string; modules: string[]; description: JSONContent; tasks: TaskItem[]; } interface TaskItem { _id: string; processProject: string; module: string; name: string; nickName: string; status: TaskStatus; } export interface AcceptedImprovementResponse { status: number; message: string; data: { data: AcceptedImprovementData[]; totalRecords: number; }; } export interface AcceptedImprovementData { _id: string; name: string; tasks: string[]; modules: string[]; createdBy: CreatedBy; status: string; executionAt: Date; approvalAt: Date; totalRecords: number; } export interface CreatedBy { name: string; profilePicture: string; } export interface DetailTaskProjectResponse { status: number; message: string; data: DetailTaskProjectData[]; } export interface DetailTaskProjectData { processProject: Project; module: Module; task: Task; } export interface OptionsAcceptedImprovementResponse { status: number; message: string; data: { createdByOptions: MultiSelectOption[]; moduleOptions: MultiSelectOption[]; taskOptions: MultiSelectOption[]; statusOptions: MultiSelectOption[]; }; } export interface OptionsRejectedImprovementResponse { status: number; message: string; data: { taskOptions: MultiSelectOption[]; moduleOptions: MultiSelectOption[]; createdByOptions: MultiSelectOption[]; }; } export interface OptionsTaskImprovementResponse { status: number; message: string; data: { processProjects: MultiSelectOption[]; modules: MultiSelectOption[]; tasks: MultiSelectOption[]; }; } export interface OptionsWaitingForApprovalResponse { status: number; message: string; data: { taskOptions: MultiSelectOption[]; moduleOptions: MultiSelectOption[]; createdByOptions: MultiSelectOption[]; }; } export interface PostUploadResponse { status: number; message: string; data: string[]; } export interface RejectedImprovementResponse { status: number; message: string; data: { data: RejectedImprovementData[]; totalRecords: number; }; } export interface RejectedImprovementData { _id: string; name: string; tasks: string[]; modules: string[]; createdBy: Pick; approvalAt: Date; } export interface WaitingImprovementResponse { status: number; message: string; data: { data: WaitingImprovementData[]; totalRecords: number; }; } export interface WaitingImprovementData { _id: string; name: string; tasks: string[]; modules: string[]; createdBy: CreatedBy; sentAt: Date; totalRecords: number; } export interface CreatedBy { nickname: string; profilePicture: string; } interface Project { _id: string; name: string; } interface Module { _id: string; name: string; } interface Task { _id: string; name: string; nickName: string; status: TaskStatus; } export {};