import { QueryParams } from '../types/fetchResponse.type'; export interface GetPushParams extends QueryParams { subModule?: string; module?: string; minPush?: number; maxPush?: number; minAge?: number; maxAge?: number; status?: string; calendar?: number; } export interface GetHistoryParams extends QueryParams { _id?: string; subModuleId?: string; module?: string; platform?: string; taskAmount?: number; pushAttempt?: number; subModule?: string; pushAt?: string; } export interface GetSubModuleOptionsParams { subModuleOptions?: boolean; moduleOptions?: boolean; } export interface ProjectDetailResponse { data: { _id: string; type: 'Proyek Baru' | 'Proyek Pengembangan'; name: string; initialName: string; method: string; priority: number; startAt: string; isApprover: boolean; leaders: string[]; members: Array<{ id: string; name: string; }>; isPM: boolean; totalModule: number; totalCompletedModule: number; totalSprintTask: number; totalCompletedTask: number; totalBacklogTask: number; totalBugHistories: number; totalSprintPoint: number; status: string; managers: Array<{ id: string; name: string; }>; templateProcess: { _id: string; name: string; }; createdAt: string; }; } export interface Module { _id: string; name: string; initial: string; } export interface SubModule { _id: string; name: string; } export interface SubModuleData { _id: string; module: Module; platform: string; subModule: SubModule; status: string; taskAmount: number; } export interface SubModulePutBody { subModuleId?: string; platform?: string; taskAmount?: number; } export interface SubModulePutDataBody { data: SubModulePutBody[]; } export interface SubModuleResponse { status: number; message: string; data: { totalRecords: number; data: SubModuleData[]; }; } export interface HistoryOptionsResponse { status: number; message: string; data: { moduleOptions: { label: string; value: string; }[]; subModuleOptions: { label: string; value: string; }[]; }; } export interface SelectedSingleDataResponse { _id: string; module: { _id: string; name: string; initial: string; }; platform: string; subModule: { _id: string; name: string; }; status: string | null; taskAmount: number; } export interface StagingItemData { subModuleId: string; platform: string; taskAmount: number; } export interface StagingResponseData { data: StagingItemData[]; } export interface HistoryData { _id: string; subModuleId: string; module: string; platform: string; taskAmount: number; pushAttempt: number; subModule: string; pushAt: string; } export interface HistoryResponse { status: number; message: string; data: { totalRecords: number; data: HistoryData[]; }; } export interface MainReturn { hasReadAccess: boolean; isPM: boolean; isLeaderDevops: boolean; }