41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import { client } from "@/shared/api";
|
|
import { ENDPOINT } from "@/shared/config";
|
|
|
|
import type {
|
|
AnalysisRequestPayload,
|
|
AnalysisResponseDto,
|
|
JobStatusDto,
|
|
AnalysisResultDto,
|
|
} from "../model/analysis/analysis-interface";
|
|
|
|
export class AnalysisApiService {
|
|
public async analyze(
|
|
payload: AnalysisRequestPayload,
|
|
): Promise<AnalysisResponseDto> {
|
|
const response = await client.post<AnalysisResponseDto>(
|
|
`${ENDPOINT.STATVERIFY_SERVICE.ANALYSIS}/analyze`,
|
|
payload,
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
public async getJobStatus(jobId: string): Promise<JobStatusDto> {
|
|
const response = await client.get<JobStatusDto>(
|
|
`${ENDPOINT.STATVERIFY_SERVICE.ANALYSIS}/status/${jobId}`,
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
public async getResult(jobId: string): Promise<AnalysisResultDto> {
|
|
const response = await client.get<AnalysisResultDto>(
|
|
`${ENDPOINT.STATVERIFY_SERVICE.ANALYSIS}/result/${jobId}`,
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
}
|
|
|
|
export const analysisApi = new AnalysisApiService();
|