Skip to main content

Báo lỗi

/src/api/ReportService.ts
import { ApiResponse } from "../model/base/ApiResponseModel";
import { ClientReponseModel } from "../model/client/ClientReponseModel";
import { InvidualReportActionResponseModel } from "../model/invidual-report-2/invidual-report-action.model";
import { InvidualReportActionPostModel } from "../model/invidual-report-2/invidual-report-action.post.model";
import { InvidualReport_v2_PostModel } from "../model/invidual-report-2/invidual-report-v2.post.model";
import { InvidualReport2PutModel } from "../model/invidual-report-2/invidual-report_v2-put.model";
import { InvidualReportStatus } from "../model/invidual-report-2/invidual_report_status.enum";
import { InvidualReportResponseModel2 } from "../model/invidual-report-2/invidual_report_v2.model";
import { FMInvidualReportClassifyModel } from "../model/invidual-report/FMInvidualReportClassifyModel";
import { FMInvidualReportCloseModel } from "../model/invidual-report/FMInvidualReportCloseModel";
import { FMInvidualReportCreateModel } from "../model/invidual-report/FMInvidualReportCreateModel";
import { FMInvidualReportRelocateModel } from "../model/invidual-report/FMInvidualReportRelocateModel";
import { FMInvidualReportResponseModel } from "../model/invidual-report/FMInvidualReportResponseModel";
import { FMInvidualReportUpdateImagesModel } from "../model/invidual-report/FMInvidualReportUpdateImagesModel";
import { InvidualReportPutModel } from "../model/invidual-report/InvidualReportPutModel";
import { Pagination } from "../model/pagination/Pagination";
import { HttpService } from "./HttpService";

class ReportApi2 extends HttpService {
constructor() {
super();
this.baseurl = this.publicFMReApiUrl
}

//#region Gets

GetUnsolvedReports = async (clientId: string,
projectId: string,
index: Number = 0) => {
const res = await this.Get(
`/api/fm-mobile/v2/c-${clientId}/p-${projectId}/invidual-reports/?page=${index}&status=${InvidualReportStatus.UNSOLVED}`
);
if (res.status !== 200) {
let result = new ApiResponse<Pagination<InvidualReportResponseModel2>>();
result.statusCode = res.status;
return result;
}
const json: ApiResponse<Pagination<InvidualReportResponseModel2>> = await res.json();
return json;
}
GetSolvedReports = async (clientId: string,
projectId: string,
index: Number = 0) => {
const res = await this.Get(
`/api/fm-mobile/v2/c-${clientId}/p-${projectId}/invidual-reports/?page=${index}&status=${InvidualReportStatus.SOLVED}`
);
if (res.status !== 200) {
let result = new ApiResponse<Pagination<InvidualReportResponseModel2>>();
result.statusCode = res.status;
return result;
}
const json: ApiResponse<Pagination<InvidualReportResponseModel2>> = await res.json();
return json;
}
GetSingle = async (clientId: string,
projectId: string,
reportId: string) => {
const res = await this.Get(
`/api/fm-mobile/v2/c-${clientId}/p-${projectId}/invidual-reports/single-${reportId}`
);
if (res.status !== 200) {
let result = new ApiResponse<InvidualReportResponseModel2>();
result.statusCode = res.status;
return result;
}
const json: ApiResponse<InvidualReportResponseModel2> = await res.json();
return json;
}
//#endregion

//#region Actions
CreateReport = async (clientId: string,
projectId: string, postModel: InvidualReport_v2_PostModel) => {
console.log(clientId, projectId, postModel)
const res = await this.Post(
`/api/fm-mobile/v2/c-${clientId}/p-${projectId}/invidual-reports`, postModel);
if (res.status !== 200) {
let result = new ApiResponse<InvidualReportResponseModel2>();
result.statusCode = res.status;
return result;
}
const json: ApiResponse<InvidualReportResponseModel2> = await res.json();
return json;
}
ReportAction = async (clientId: string,
projectId: string,
model: InvidualReportActionPostModel) => {

const res = await this.Post(
`/api/fm-mobile/v2/c-${clientId}/p-${projectId}/invidual-reports/actions`, model);
if (res.status !== 200) {
let result = new ApiResponse<InvidualReportActionResponseModel[]>();
result.statusCode = res.status;
return result;
}
const json: ApiResponse<InvidualReportActionResponseModel[]> = await res.json();
return json;
}

//#endregion

UpdateImageReport = async (updateModel: FMInvidualReportUpdateImagesModel) => {

const res = await this.Put(
`/api/fm-mobile/v1/invidual-reports/update/image`, updateModel);
if (res.status !== 200) {
let result = new ApiResponse<FMInvidualReportResponseModel>();
result.statusCode = res.status;
return result;
}
const json: ApiResponse<FMInvidualReportResponseModel> = await res.json();
return json;
}
GetReportByAssetId = async (assetId: string) => {
const res = await this.Get(
`/api/fm-mobile/v1/invidual-reports/get-by-asset/${assetId}`
);
if (res.status !== 200) {
let result = new ApiResponse<FMInvidualReportResponseModel[]>();
result.statusCode = res.status;
return result;
}
const json: ApiResponse<FMInvidualReportResponseModel[]> = await res.json();
return json;
}
PutReport = async (clientId: string, projectId: string, putModel: InvidualReport2PutModel) => {

const res = await this.Put(
`/api/fm-mobile/v2/c-${clientId}/p-${projectId}/invidual-reports`, putModel);
if (res.status !== 200) {
let result = new ApiResponse<InvidualReportResponseModel2>();
result.statusCode = res.status;
return result;
}
const json: ApiResponse<InvidualReportResponseModel2> = await res.json();
return json;
}
}
const reportApi2 = new ReportApi2();
export default reportApi2;