70 lines
1.7 KiB
TypeScript
70 lines
1.7 KiB
TypeScript
import { client } from "@/shared/api";
|
|
import { ENDPOINT } from "@/shared/config";
|
|
|
|
import type {
|
|
ImrDetailRequest,
|
|
ImrDetailResponse,
|
|
ImrDetectRequest,
|
|
ImrDetectResponse,
|
|
ImrListRequest,
|
|
ImrListResponse,
|
|
ImrLogRequest,
|
|
ImrLogResponse,
|
|
} from "../model/imr/imr-interface";
|
|
|
|
export class ImrApiService {
|
|
/**
|
|
* 이상치 탐지 알고리즘 실행 요청
|
|
*/
|
|
public async detectOutliers(
|
|
payload: ImrDetectRequest,
|
|
): Promise<ImrDetectResponse> {
|
|
const response = await client.post<ImrDetectResponse>(
|
|
`${ENDPOINT.STATVERIFY_SERVICE.IMR}`,
|
|
payload,
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
/**
|
|
* 이상치 탐지 마스터 목록 조회
|
|
*/
|
|
public async getOutliersList(
|
|
payload: ImrListRequest,
|
|
): Promise<ImrListResponse[]> {
|
|
const response = await client.post<ImrListResponse[]>(
|
|
`${ENDPOINT.STATVERIFY_SERVICE.IMR}/list`,
|
|
payload,
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
/**
|
|
* 이상치 탐지 상세 조회
|
|
*/
|
|
public async getOutliersDetail(
|
|
payload: ImrDetailRequest,
|
|
): Promise<ImrDetailResponse> {
|
|
const response = await client.post<ImrDetailResponse>(
|
|
`${ENDPOINT.STATVERIFY_SERVICE.IMR}/list/detail`,
|
|
payload,
|
|
);
|
|
return response.data;
|
|
}
|
|
|
|
/**
|
|
* 이상치 산출 로그 조회
|
|
*/
|
|
public async getOutliersLog(
|
|
payload: ImrLogRequest,
|
|
): Promise<ImrLogResponse> {
|
|
const response = await client.post<ImrLogResponse>(
|
|
`${ENDPOINT.STATVERIFY_SERVICE.IMR}/list/detail/log`,
|
|
payload,
|
|
);
|
|
return response.data;
|
|
}
|
|
}
|
|
|
|
export const imrApi = new ImrApiService();
|