Files
frontend/apps/st/src/entities/statistics/model/analysis-interface.ts
T

65 lines
1.6 KiB
TypeScript

import type { PageableList } from "@/shared/model";
export interface AnalysisRequestPayload {
dataset?: string;
yearOld: number;
yearNew: number;
mu: number;
a: number;
c: number;
percentile: number;
sido?: string;
sigungu?: string;
vrfcMthdCd?: string;
allVerifyYn?: "Y" | "N";
}
export interface AnalysisResponseDto {
jobId: string;
status: string;
message: string;
queuePosition: number;
createdAt: string;
anlsSn: number;
}
export interface JobStatusDto {
jobId: string;
status: string;
message: string;
queuePosition: number;
progress: number;
startedAt: string | null;
completedAt: string | null;
error: string | null;
anlsSn: number | null;
processingTimeMs: number | null;
}
export interface AnalysisSummaryDto {
// 요약 필드는 Python 분석 서비스 스키마에 따라 확장
[key: string]: unknown;
}
export interface OutlierRecordDto {
// 상세 구조는 Python 분석 서비스 응답에 맞춰 필요 시 확장
[key: string]: unknown;
}
export interface AnalysisResultDto {
jobId: string;
status: string;
createdAt: string;
completedAt: string | null;
summary: AnalysisSummaryDto | null;
multiSummaries: Record<string, AnalysisSummaryDto> | null;
outliers: OutlierRecordDto[];
results: OutlierRecordDto[];
totalCount: number;
cached: boolean;
processingTimeMs: number;
anlsSn: number;
}
export type AnalysisHistoryListApiResponse = PageableList<AnalysisResultDto>;