{"version":3,"sources":["webpack:///./node_modules/@abaco/crop-plan-module/src/modules/crop-plan-module/api/ContractApi.ts"],"names":["ContractApi","http","ssoStore","userContracts","contractId","campaign","this","get","res","currentArea","data","areas","find","area","usedArea","username","user","cachecContract","undefined","params","offset","count","now","Date","getTime","contract","forEach","cntr","endDate","contractEndDate","minValidEndDate","areaThresholdTolerance","areaThreshold"],"mappings":"uMAIqBA,G,mDAIjB,WAAoBC,EAA0BC,GAAuB,uBAAjD,KAAAD,OAA0B,KAAAC,WAFtC,KAAAC,cAA+D,G,2GAIhE,WAAkBC,EAAoBC,GAAtC,2GACeC,KAAKL,KAAKM,IAAV,gEAAuEH,EAAvE,qBADf,cACGI,EADH,OAGGC,EAHH,UAGiBD,EAAIE,KAAKC,MAAMC,MAAK,SAACC,GAAD,OAAsCA,EAAKC,SAAST,WAAaA,YAHtG,aAGiB,EAAgGS,SAASD,KAH1H,kBAKIJ,EAAcA,EAAc,IAAQ,GALxC,gD,sJAQA,mHACGM,EADH,UACcT,KAAKJ,SAASc,YAD5B,aACc,EAAoBD,SACjCA,EAFD,yCAGQ,MAHR,UAKGE,EAAiBX,KAAKH,cAAcY,QACrBG,GAAlBD,EANA,yCAOQA,GAPR,uBASeX,KAAKL,KAAKM,IAAV,4FAAmGQ,GAAY,CAC7HI,OAAQ,CACJC,OAAQ,EACRC,MAAO,OAZZ,cASGb,EATH,OAeGc,GAAM,IAAIC,MAAOC,UAEnBC,EAA0C,KAC9CjB,EAAIE,KAAKe,SAASC,SAAQ,SAACC,GACvB,IAAMC,EAAU,IAAIL,KAAKI,EAAKE,iBAAiBL,UAC5CF,GAAOM,KACFE,GAAmBA,EAAkBF,KACrCE,EAAkBF,EAClBH,EAAWE,MAIpBF,IACCA,EAAWA,EACXA,EAASM,uBAAyBN,EAASM,uBAAyBN,EAASM,uBAAyB,IAAQN,EAASM,uBACvHN,EAASO,cAAgBP,EAASO,cAAgBP,EAASO,cAAgB,IAAQP,EAASO,eAEhG1B,KAAKH,cAAcY,GAAYU,EAhC5B,kBAiCIA,GAjCJ,iD","file":"js/chunk-2d216bb5.93888acb.js","sourcesContent":["import SsoVuexModule from \"@abaco/sso-web-module/src/abaco-module/state\";\nimport { HTTPClient } from \"@abaco/web-common/src/HTTP\";\nimport { BuyerContractThresholdArea, ThresholdBuyerContract } from \"../models/Contract\";\n\nexport default class ContractApi {\n\n private userContracts: Record = {};\n\n constructor(private http: HTTPClient, private ssoStore: SsoVuexModule){}\n\n public async getUsedArea(contractId: number, campaign: number): Promise {\n const res = await this.http.get(`/sitiagri-rest-api/api_basic/v1/bc_business/contracts/${contractId}/verifyUsedAreas`);\n \n const currentArea = res.data.areas.find((area: BuyerContractThresholdArea) => area.usedArea.campaign === campaign)?.usedArea.area;\n\n return currentArea ? currentArea / 10000 : 0;\n }\n\n public async getActiveContractId(): Promise{\n const username = this.ssoStore.user?.username\n if(!username){\n return null;\n }\n const cachecContract = this.userContracts[username]\n if(cachecContract != undefined){\n return cachecContract;\n }\n const res = await this.http.get(`/sitiagri-rest-api/api_basic/v1/bc_business/contracts/getAllContractsForAdminUser/${username}`, {\n params: {\n offset: 0,\n count: 300\n },\n })\n const now = new Date().getTime();\n let minValidEndDate: number;\n let contract: ThresholdBuyerContract | null = null;\n res.data.contract.forEach((cntr: ThresholdBuyerContract) => {\n const endDate = new Date(cntr.contractEndDate).getTime();\n if(now <= endDate){\n if(!minValidEndDate || minValidEndDate > endDate){\n minValidEndDate = endDate\n contract = cntr;\n } \n } \n })\n if(contract){\n contract = contract as ThresholdBuyerContract;\n contract.areaThresholdTolerance = contract.areaThresholdTolerance ? contract.areaThresholdTolerance / 10000 : contract.areaThresholdTolerance;\n contract.areaThreshold = contract.areaThreshold ? contract.areaThreshold / 10000 : contract.areaThreshold;\n }\n this.userContracts[username] = contract;\n return contract;\n }\n}"],"sourceRoot":""}