import AuthRequestProxy = require("../portalAuthorization/AuthRequestProxy"); import { IAuthProvider } from "../typings/IAuthProvider"; import { IClusterClientProvider } from "../typings/IClusterClientProvider"; import { IClusterClientResponse } from "../typings/IClusterClient"; export type Fns534ReportQuery = { abonentId: string; userId?: string; organizationId?: string; docflowId?: string; skip?: number; take?: number; orderBy?: string; createdFrom?: string; createdTo?: string; updatedFrom?: string; updatedTo?: string; cu?: string; statusIsSent?: boolean; statusIsDelivered?: boolean; statusIsArrived?: boolean; statusIsArrivedNotRead?: boolean; statusIsFinished?: boolean; gf?: number; formPeriodFrom?: string; formPeriodTo?: string; periodCode?: number; }; export interface Deps { authProvider: IAuthProvider; clusterClientProvider: IClusterClientProvider; } export class DocflowService { private _http: AuthRequestProxy; constructor({ clusterClientProvider, authProvider }: Deps) { const clusterClient = clusterClientProvider.createClusterClient( "api.docflows" ); this._http = new AuthRequestProxy({ clusterClient, authProvider, options: { useHeaders: true } }); } async getContent(path: string, responseType: string) { return this._http.send({ url: path, method: "GET", responseType }); } async getDocflowByPath(docflowPath: string) { return this._http.send({ url: docflowPath, method: "GET" }); } async getFns534ReportDocflows(fns534ReportQuery: Fns534ReportQuery) { return this._http.send({ url: "v2/fns534-report/query", method: "GET", params: { "abonent-id": fns534ReportQuery.abonentId, "user-id": fns534ReportQuery.userId, "organization-id": fns534ReportQuery.organizationId, "docflow-id": fns534ReportQuery.docflowId, skip: fns534ReportQuery.skip, take: fns534ReportQuery.take, "order-by": fns534ReportQuery.orderBy, "created-from": fns534ReportQuery.createdFrom, "created-to": fns534ReportQuery.createdTo, "updated-from": fns534ReportQuery.updatedFrom, "updated-to": fns534ReportQuery.updatedTo, cu: fns534ReportQuery.cu, "status-is-sent": fns534ReportQuery.statusIsSent, "status-is-delivered": fns534ReportQuery.statusIsDelivered, "status-is-arrived": fns534ReportQuery.statusIsArrived, "status-is-arrived-not-read": fns534ReportQuery.statusIsArrivedNotRead, "status-is-finished": fns534ReportQuery.statusIsFinished, gf: fns534ReportQuery.gf, "form-period-from": fns534ReportQuery.formPeriodFrom, "form-period-to": fns534ReportQuery.formPeriodTo, "period-code": fns534ReportQuery.periodCode } }); } }