{"version":3,"sources":["webpack:///./node_modules/@abaco/damage-claim-module/src/modules/damage-claim-module/api/DamageClaimApi.ts"],"names":["DamageClaimApi","http","this","get","then","data","records","keys","Object","k","length","i","s_code","subjectId","campaignYear","damage_id","dclaimId","body","post","delete","pcert_id","pkid","payload","pcertId","photoFile","formData","FormData","append","headers","responseType","userData","pdfFileName","pdfBase64","signBoundary","page","first_name","name","last_name","surname","email","phone","telephone","file_name","position","file_content","response","status"],"mappings":"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","file":"js/chunk-2d0e5580.dc3aaac4.js","sourcesContent":["import { HTTPClient } from '@abaco/web-common/src/HTTP';\n// import type { AxiosResponse } from \"axios\";\nimport type {\n CertificateCodesDictionary,\n DamageCodesDictionary,\n DamageClaimEvent,\n PcertItem,\n DamageClaimRecordRequest,\n DamageClaimProduct,\n DamageClaimPhotos,\n CodeMap,\n DamageClaimRecord,\n CertigrafPlotSelection,\n CertigrafPlot,\n} from \"../models/DamageClaimModel\";\nimport type {\n CertigrafChecks,\n CertigrafPrecertificateData,\n CertigrafOrganizationsDictionary,\n SignUserData,\n StartSignResponse,\n} from \"../models/CertigrafModel\";\n\nexport default class DamageClaimApi {\n private http: HTTPClient;\n\n constructor(http: HTTPClient) {\n this.http = http;\n }\n\n public getHttp(): HTTPClient {\n return this.http;\n }\n\n /**\n * Restituisce la lista dei codici di decodifica relativi ai precertificati\n */\n public async getCertificateCodes() {\n return this.http.get(\"/pcert-api/api/v1/code/codes\")\n .then(({ data }: { data: Record }) => {\n const records = {} as Record>;\n const keys = Object.keys(data) as Array;\n for(let k = keys.length; k--; ){\n records[keys[k]] = {};\n for(let i = data[keys[k]].length; i--; )\n records[keys[k]][data[keys[k]][i].s_code] = data[keys[k]][i];\n }\n return records;\n });\n }\n\n /**\n * Restituisce la lista dei codici di decodifica relativi ai damage claim\n */\n public async getDamageClaimCodes() {\n return this.http.get(\"/damage-claim-api/api/v1/code/codes\")\n .then(({ data }: { data: Record }) => {\n const records = {} as Record>;\n const keys = Object.keys(data) as Array;\n for(let k = keys.length; k--; ){\n records[keys[k]] = {};\n for(let i = data[keys[k]].length; i--; )\n records[keys[k]][data[keys[k]][i].s_code] = data[keys[k]][i];\n }\n return records;\n });\n }\n\n /**\n *\n */\n public async getAvailableOrganizations(): Promise {\n return (await this.http.get(\"/pcert-api/api/v1/org/orgs\")).data;\n }\n\n /**\n * Restituisce tutti i damage claim con i dati farmId (subjectId) e campaign\n * @param subjectId\n * @param campaignYear\n */\n public async getDamageClaimList(subjectId: number, campaignYear: number/*, filterObject: DamageClaimFilter = {}*/) {\n return this.http.get(\"/damage-claim-api/api/v1/dclaim/damage-claims?campaign=\" + campaignYear + \"&farmId=\" + subjectId)\n .then(({ data = [] }: { data: DamageClaimRecord[] }) => {\n const records: Record = {};\n for (let i = data.length; i--;)\n records[data[i].damage_id] = data[i];\n return records;\n });\n }\n\n /**\n *\n * @param campaignYear\n */\n public async getDamageClaimListIntermediary(campaignYear: number/*, filterObject: DamageClaimFilter = {}*/) {\n return this.http.get(\"/damage-claim-api/api/v1/dclaim/damage-claims-intermediary?campaign=\" + campaignYear)\n .then(({ data = [] }: { data: DamageClaimRecord[] }) => {\n const records: Record = {};\n for (let i = data.length; i--;)\n records[data[i].damage_id] = data[i];\n return records;\n });\n }\n\n /**\n *\n * @param campaignYear\n */\n public async getDamageClaimListCondifesa(campaignYear: number/*, filterObject: DamageClaimFilter = {}*/) {\n return this.http.get(\"/damage-claim-api/api/v1/dclaim/damage-claims-condifesa?campaign=\" + campaignYear)\n .then(({ data = [] }: { data: DamageClaimRecord[] }) => {\n const records: Record = {};\n for (let i = data.length; i--;)\n records[data[i].damage_id] = data[i];\n return records;\n });\n }\n\n /**\n * Restituisce un damage claim dato il dclaimId (damage_id)\n * @param dclaimId\n */\n public async getDamageClaimData(dclaimId: number): Promise {\n return (await this.http.get(\"/damage-claim-api/api/v1/dclaim/damage-claims/\" + dclaimId)).data\n }\n\n /**\n * Aggiunge o modifica un damage claim\n * (damage_id necessario in caso di modifica)\n * @param body\n */\n public async setDamageClaimData(body: DamageClaimRecordRequest): Promise {\n return (await this.http.post(\"/damage-claim-api/api/v1/dclaim/\", body)).data\n }\n\n /**\n * Elimina un damage claim dato il dclaimId (damage_id) in tutte le tabelle relative al damage claim\n * @param dclaimId\n */\n public async deleteDamageClaimData(dclaimId: number) {\n return this.http.delete(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId)\n }\n\n /**\n * Restituisce la lista di pre-certificati di un business (farmId) [Wizard Step 1]\n * @param subjectId\n * @param campaignYear\n */\n public async getPrecertificateList(subjectId: number, campaignYear: number/*, filterObject: DamageClaimFilter = {}*/) {\n return this.http.get(\"/damage-claim-api/api/v1/farm/\" + subjectId + \"/pcerts?campaign=\" + campaignYear)\n .then(({ data = [] }: { data: PcertItem[] }) => {\n const records: Record = {};\n for (let i = data.length; i--;)\n records[data[i].pcert_id] = data[i];\n return records;\n });\n }\n\n // /**\n // *\n // * @param farm_id\n // * @param pcert_id\n // */\n // public async getPrecertificate(farm_id: number, pcert_id: number): Promise {\n // return (await this.http.get(\"/api/v1/farm/\" + farm_id + \"/pcert/\" + pcert_id)).data\n // }\n // /**\n // *\n // * @param campaign\n // */\n // public async getPrecertificateListIntermediary(campaign: number) {\n // return (await this.http.get(\"/pcert-api/api/v1/intermediary/pcert/list?campaign=\" + campaign)).data\n // }\n //\n // /**\n // *\n // * @param campaign\n // */\n // public async getPrecertificateListCondifesa(campaign: number) {\n // return (await this.http.get(\"/pcert-api/api/v1/condifesa/pcert/list?campaign=\" + campaign)).data\n // }\n\n\n /**\n * Restituisce la lista dei plot selezionati in un pre-certificato relativo ad un damage claim [Wizard Step 2].\n * NB: il valore fl_valid indica la selezione del plot nel damage claim, non nel pre certificato.\n * @param dclaimId\n */\n public async getPlotList(dclaimId: number) {\n return this.http.get(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/plots\")\n .then(({ data = [] }: { data: CertigrafPlot[] }) => {\n const records: Record = {};\n for (let i = data.length; i--;)\n records[data[i].pkid] = data[i];\n return records;\n });\n }\n\n /**\n * Seleziona o deseleziona i plot di un damage claim utilizzando il flag fl_valid [Wizard Step 2]\n * @param dclaimId\n * @param payload\n */\n public async setDamageClaimPlots(dclaimId: number, payload: CertigrafPlotSelection[] = []) {\n return this.http.post(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/plots\", payload)\n }\n\n /**\n *\n * @param subjectId\n * @param pcertId\n * @param campaignYear\n */\n public async getOtherPlots(subjectId: number, pcertId: number, campaignYear: number): Promise {\n return (await this.http.get(\"/pcert-api/api/v1/farm/\" + subjectId + \"/pcert/\" + pcertId + \"/other_plots?campaign=\" + campaignYear)).data\n }\n\n // /**\n // *\n // * @param subjectId\n // * @param pcertId\n // * @param plotPkid\n // */\n // public async checkPlot(subjectId: number, pcertId: number, plotPkid: number): Promise {\n // try {\n // await this.http.post(\"/pcert-api/api/v1/farm/\" + subjectId + \"/pcert/\" + pcertId + \"/plots/\" + plotPkid + \"/checks\");\n // return null;\n // } catch(e) {\n // if(e.response?.status === 400) {\n // return e.response.data;\n // }\n // throw e;\n // }\n // }\n\n\n /**\n * Restituisce il prodotto del damage claim indicato\n * @param dclaimId\n */\n public async getDamageClaimProduct(dclaimId: number): Promise {\n return (await this.http.get(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/product\")).data;\n }\n\n /**\n *\n * @param subjectId\n * @param pcertId\n */\n public async totalPlotAreas(subjectId: number, pcertId: number): Promise<{ lot_area_tot: number; ensure_area_tot: number }> {\n return (await this.http.get(\"/pcert-api/api/v1/farm/\" + subjectId + \"/pcert/\" + pcertId + \"/plots/areaTot\")).data\n }\n\n /**\n * Aggiunge o modifica un prodotto al damage claim indicato\n * @param dclaimId\n * @param body\n */\n public async setDamageClaimProduct(dclaimId: number, body: Omit) {\n return this.http.post(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/product\", body)\n }\n\n /**\n * Restituisce il evento del damage claim indicato\n * @param dclaimId\n */\n public async getDamageClaimEvent(dclaimId: number): Promise {\n return (await this.http.get(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/event\")).data;\n }\n\n /**\n * Aggiunge o modifica un evento al damage claim indicato\n * @param dclaimId\n * @param body\n */\n public async setDamageClaimEvent(dclaimId: number, body: Omit) {\n return this.http.post(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/event\", body)\n }\n\n /**\n * Restituisce la foto del damage claim indicato\n * @param dclaimId\n */\n public async getDamageClaimPhoto(dclaimId: number): Promise {\n return (await this.http.get(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/photo?fileContent=true\")).data;\n }\n\n /**\n * Aggiunge o modifica una foto al damage claim indicato\n * @param dclaimId\n * @param photoFile\n */\n public async setDamageClaimPhoto(dclaimId: number, photoFile: File) {\n const formData = new FormData();\n formData.append(\"photoFile\", photoFile);\n return this.http.post(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/upload-photo\", formData,{\n // responseType: \"blob\",\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n })\n }\n\n /**\n *\n * @param subjectId\n * @param dclaimId\n */\n public async getCertificateDetails(subjectId: number, dclaimId: number): Promise {\n return (await this.http.get(\"/pcert-api/api/v1/farm/\" + subjectId + \"/pcert/\" + dclaimId)).data\n }\n\n /**\n *\n * @param dclaimId\n */\n public async getSignedPrint(dclaimId: number): Promise\n {\n return (await this.http.get(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/print\", {responseType: \"blob\"})).data\n }\n\n /**\n *\n * @param dclaimId\n * @param userData\n * @param pdfFileName\n * @param pdfBase64\n * @param signBoundary\n * @param page\n */\n public async startSignProcedure(\n dclaimId: number,\n userData: SignUserData,\n pdfFileName: string,\n pdfBase64: string,\n signBoundary: [number, number, number, number],\n page: number\n ): Promise\n {\n try {\n return (await this.http.post(\"/damage-claim-api/api/v1/dclaim/\" + dclaimId + \"/sign/start\", {\n first_name: userData.name,\n last_name: userData.surname,\n email: userData.email,\n phone: userData.telephone,\n file_name: pdfFileName,\n page: page,\n position: signBoundary,\n file_content: pdfBase64\n })).data;\n } catch(e) {\n if(e.response?.status === 400) {\n return e.response.data;\n }\n throw e;\n }\n }\n}\n"],"sourceRoot":""}