{"version":3,"sources":["webpack:///./node_modules/@abaco/pessl-diseases-widget-module/src/modules/pessl-diseases-widget-module/api/PesslModuleApi.ts"],"names":["PesslModuleApi","http","this","pkcuaa","lotId","cycle","date","Date","toMonth","getMonth","toLocaleString","minimumIntegerDigits","toDay","getDate","toHours","getHours","to","getFullYear","fromDate","setHours","fromMonth","fromDay","fromHours","from","getIdFromLinkedStation","linkedStationId","data","undefined","error","checkSensorType","isPesslDisease","idStation","get","light","moderate","severe","returnVal","results","farmId","res","status","length","stationId","toReturn","backendStatus","ok","includes","filter","el","split"],"mappings":"uMAGqBA,G,2FAGjB,WAAYC,GAAgB,uBACxBC,KAAKD,KAAOA,E,8GAGT,WAAqBE,EAAgBC,EAAeC,GAApD,sIACGC,EAAO,IAAIC,KAEXC,GAAWF,EAAKG,WAAa,GAAGC,eAAe,QAAS,CAAEC,qBAAsB,IAChFC,EAASN,EAAKO,UAAWH,eAAe,QAAS,CAAEC,qBAAsB,IACzEG,EAAWR,EAAKS,WAAYL,eAAe,QAAS,CAAEC,qBAAsB,IAE5EK,EAPH,UAOWV,EAAKW,cAPhB,YAOiCT,EAPjC,YAO4CI,EAP5C,YAOqDE,EAPrD,WAUGI,EAAW,IAAIX,KAErBW,EAASC,SAASb,EAAKS,WAAa,IAE9BK,GAAaF,EAAST,WAAa,GAAGC,eAAe,QAAS,CAAEC,qBAAsB,IACtFU,EAAWH,EAASL,UAAWH,eAAe,QAAS,CAAEC,qBAAsB,IAC/EW,EAAaJ,EAASH,WAAYL,eAAe,QAAS,CAAEC,qBAAsB,IAElFY,EAlBH,UAkBaL,EAASD,cAlBtB,YAkBuCG,EAlBvC,YAkBoDC,EAlBpD,YAkB+DC,EAlB/D,qBAqB2BpB,KAAKsB,uBAAuBrB,EAAQC,GArB/D,WAqBGqB,EArBH,OAuBoB,sBAAnBA,EAvBD,0CAwBQ,CAAEC,UAAMC,EAAWC,MAAO,uBAxBlC,yBA2ByC1B,KAAK2B,gBAAgB1B,EAAQsB,GA3BtE,oBA2BKK,EA3BL,EA2BKA,eAAgBC,EA3BrB,EA2BqBA,UAEnBD,EA7BF,0CA8BQ,CAAEJ,UAAMC,EAAWC,MAAO,yBA9BlC,yBAiC2B1B,KAAKD,KAAK+B,IAAV,gCAAuC7B,EAAvC,qBAA0D4B,EAA1D,sDAAiH1B,EAAjH,uCAAqJkB,EAArJ,eAAgKP,IAjC3L,wBAiCWiB,EAjCX,EAiCKP,KAjCL,UAmC8BxB,KAAKD,KAAK+B,IAAV,gCAAuC7B,EAAvC,qBAA0D4B,EAA1D,kGAA6JR,EAA7J,eAAwKP,IAnCtM,wBAmCWkB,EAnCX,EAmCKR,KAnCL,UAqC4BxB,KAAKD,KAAK+B,IAAV,gCAAuC7B,EAAvC,qBAA0D4B,EAA1D,gGAA2JR,EAA3J,eAAsKP,IArClM,wBAqCWmB,EArCX,EAqCKT,KAEFU,EAAY,CACdH,MAAOA,EAAMI,QACbH,SAAUA,EAASG,QACnBF,OAAQA,EAAOE,SA1ChB,kBA6CI,CAAEX,KAAMU,EAAWR,MAAO,KA7C9B,iD,2JAgDA,WAA6BU,EAAgBlC,GAA7C,uGACeF,KAAKD,KAAK+B,IAAV,2BAAkCM,EAAlC,kBAAkDlC,EAAlD,cADf,cACGmC,EADH,yBAGmB,KAAdA,EAAIC,QAAiBD,EAAIb,MAAQa,EAAIb,KAAKe,OAAS,EAAKF,EAAIb,KAAK,GAAK,sBAH3E,gD,kJAMA,WAAsBY,EAAgBI,GAAtC,2GACexC,KAAKD,KAAK+B,IAAV,gCAAuCM,EAAvC,qBAA0DI,EAA1D,aADf,cACGH,EADH,OAGCI,GAAW,EAEG,KAAdJ,EAAIC,QAAiBD,EAAIb,KAAKW,SAAWE,EAAIb,KAAKW,QAAQI,OAAS,IACnEE,EAAWJ,EAAIb,KAAKkB,cAAcC,GAAGC,SAAS,UAN/C,kBASI,CACHhB,eAAgBa,EAChBZ,UAAWQ,EAAIb,MAAQa,EAAIb,KAAKW,QAAQI,OAAS,EAAtC,UAA0CF,EAAIb,KAAKW,QAAQU,QAAO,SAACC,GAAD,MAA2C,SAA9BA,EAAGN,UAAUO,MAAM,KAAK,MAAe,UAAtH,aAA0C,EAAgFP,UAAY,KAXlJ,gD","file":"js/chunk-2d219fb6.6608b56b.js","sourcesContent":["import { HTTPClient } from \"@abaco/web-common/src/HTTP\";\nimport { ApiResponse } from \"../models/PesslModuleModels\";\n\nexport default class PesslModuleApi {\n private http: HTTPClient;\n\n constructor(http: HTTPClient) {\n this.http = http;\n }\n\n public async getDiseaseInfo(pkcuaa: number, lotId: number, cycle: string): Promise<{ data?: ApiResponse; error: string }> {\n const date = new Date();\n\n const toMonth = (date.getMonth() + 1).toLocaleString(\"it-IT\", { minimumIntegerDigits: 2 });\n const toDay = (date.getDate()).toLocaleString(\"it-IT\", { minimumIntegerDigits: 2 });\n const toHours = (date.getHours()).toLocaleString(\"it-IT\", { minimumIntegerDigits: 2 });\n\n const to = `${date.getFullYear()}-${toMonth}-${toDay}T${toHours}:00:00Z`;\n\n\n const fromDate = new Date();\n\n fromDate.setHours(date.getHours() - 48);\n\n const fromMonth = (fromDate.getMonth() + 1).toLocaleString(\"it-IT\", { minimumIntegerDigits: 2 });\n const fromDay = (fromDate.getDate()).toLocaleString(\"it-IT\", { minimumIntegerDigits: 2 });\n const fromHours = (fromDate.getHours()).toLocaleString(\"it-IT\", { minimumIntegerDigits: 2 });\n\n const from = `${fromDate.getFullYear()}-${fromMonth}-${fromDay}T${fromHours}:00:00Z`;\n\n\n const linkedStationId = await this.getIdFromLinkedStation(pkcuaa, lotId);\n\n if (linkedStationId == \"no-linked-stations\") {\n return { data: undefined, error: \"no-linked-stations\" };\n }\n\n const { isPesslDisease, idStation } = await this.checkSensorType(pkcuaa, linkedStationId);\n\n if (!isPesslDisease) {\n return { data: undefined, error: \"sensor-type-no-pessl\" };\n }\n\n const { data: light } = await this.http.get(`/sensor-x/api/v1/farm/${pkcuaa}/stations/${idStation}/sensors/Viticulture-GrapeVine-DownyMildew-${cycle}@Weak%20Infection/data?from=${from}&to=${to}`);\n\n const { data: moderate } = await this.http.get(`/sensor-x/api/v1/farm/${pkcuaa}/stations/${idStation}/sensors/Viticulture-GrapeVine-DownyMildew-PrimaryCycle@Moderate%20Infection/data?from=${from}&to=${to}`);\n\n const { data: severe } = await this.http.get(`/sensor-x/api/v1/farm/${pkcuaa}/stations/${idStation}/sensors/Viticulture-GrapeVine-DownyMildew-PrimaryCycle@Severe%20Infection/data?from=${from}&to=${to}`);\n\n const returnVal = {\n light: light.results,\n moderate: moderate.results,\n severe: severe.results\n };\n\n return { data: returnVal, error: \"\" };\n }\n\n public async getIdFromLinkedStation(farmId: number, lotId: number): Promise {\n const res = await this.http.get(`/iot/api/v1/farm/${farmId}/plots/${lotId}/stations`);\n\n return (res.status == 200 && res.data && res.data.length > 0) ? res.data[0] : \"no-linked-stations\";\n }\n\n public async checkSensorType(farmId: number, stationId: string): Promise<{ isPesslDisease: boolean; idStation: string }> {\n const res = await this.http.get(`/sensor-x/api/v1/farm/${farmId}/stations/${stationId}/sensors`);\n\n let toReturn = false;\n\n if (res.status == 200 && res.data.results && res.data.results.length > 0) {\n toReturn = res.data.backendStatus.ok.includes(\"pessl\");\n }\n\n return {\n isPesslDisease: toReturn,\n idStation: res.data && res.data.results.length > 0 ? res.data.results.filter((el: any) => el.stationId.split(\"@\")[2] == \"pessl\")[0]?.stationId : \"\"\n };\n }\n}\n"],"sourceRoot":""}