Files
frontend/apps/as/src/entities/dashboard/model/dashboard-interface.ts
T

87 lines
2.0 KiB
TypeScript

/** 백엔드 DashboardMainSearchDto */
export interface DashboardMainSearchDto {
searchYear?: number;
notiType?: string;
notReadYn?: "Y" | "N";
startDt?: string;
endDt?: string;
docSeComCd?: string;
}
/** 백엔드 DocPrgrsSttsResponseDto */
export interface DocPrgrsSttsResponseDto {
docSeNm: string;
docSeComCd: string;
reqCnt: number;
prgrsCnt: number;
cmptnCnt: number;
totCnt: number;
}
/** 백엔드 BasinDocPrgrsResponseDto */
export interface BasinDocPrgrsResponseDto {
basinKey: string;
basinNm: string;
docSeComCd: string;
docSeNm: string;
reqCnt: number;
prgrsCnt: number;
cmptnCnt: number;
totCnt: number;
}
/** 백엔드 NotiAsUserResponseDto */
export interface NotiAsUserResponseDto {
notiId: number;
recvUnqId: string;
senderUnqId: string;
notiType: string;
notiTtl: string;
notiCn?: string;
notReadYn?: "Y" | "N";
regDt?: string;
notiUrl?: string;
notiLnkgUnqNo?: string;
docSeComCd?: string;
docSeComNm?: string;
notiIdntyDt?: string;
notiIdntyYn?: "Y" | "N";
notiPrcsCmptnYn?: "Y" | "N";
notiPrcsCmptnDt?: string;
}
/** 백엔드 NotiAsStatResponseDto */
export interface NotiAsStatResponseDto {
todayCount: number;
delayCount: number;
pendingCount: number;
}
/** 백엔드 DashboardMainResponseDto */
export interface DashboardMainResponseDto {
docPrgrsSttsList: DocPrgrsSttsResponseDto[];
basinDocPrgrsList: BasinDocPrgrsResponseDto[];
notiList: NotiAsUserResponseDto[];
notiStats: NotiAsStatResponseDto;
}
/** 백엔드 InPrgrsDocPicResponseDto */
export interface InPrgrsDocPicResponseDto {
docNo: string;
docNm?: string;
docSeComCd: string;
docSeNm?: string;
aplcntNm?: string;
aplcntMblTelno?: string;
prgrsSttsComCd?: string;
prgrsSttsNm?: string;
regDt?: string;
prcsDdln?: string;
}
/** Controller public 메서드명·시그니처와 동일 */
export interface DashboardService {
getMainDashboard(searchDto: DashboardMainSearchDto): Promise<DashboardMainResponseDto>;
getInPrgrsDocPicList(searchYear?: number): Promise<InPrgrsDocPicResponseDto[]>;
}