{"version":3,"sources":["webpack:///./node_modules/@abaco/widgets-container-module/src/modules/ambiental_widgets/api/AmbientalWidgetAPI.ts"],"names":["AmbientalWidgetsAPI","http","this","pk_cuaa","lot_id","requestedSensor","getIdFromLinkedStation","error","data","checkSensorType","sensorType","getSensorDataItems","Date","setTime","getTime","toISOString","sensorHistoryData","farmId","lotId","get","res","length","stationId","backendStatus","ok","includes","correctSensor","results","find","el","id","pkCuaa","sensorId","fromParameter","toParameter","params","from","to"],"mappings":"yMAQqBA,G,uEAGjB,WAAYC,GAAgB,uBACxBC,KAAKD,KAAOA,E,uGAGT,WAAcE,EAAiBC,EAAgBC,GAA/C,+GAC2BH,KAAKI,uBAAuBH,EAASC,GADhE,mBACKG,EADL,EACKA,MAAOC,EADZ,EACYA,MAEXD,GAAUC,EAHX,yCAGwB,CAAED,UAH1B,uBAKsBL,KAAKO,gBAAgBN,EAASK,EAAMH,GAL1D,UAKGK,EALH,QAOCA,EAAWH,MAPZ,0CAO0B,CAAEA,MAAOG,EAAWH,QAP9C,yBAS6BL,KAAKS,mBACjCR,EACAK,EACAH,EACC,IAAIO,MAAK,IAAIA,MAAOC,SAAQ,IAAID,MAAOE,UAAY,SAAaC,eACjE,IAAIH,MAAOG,eAdZ,WASGC,EATH,QAiBCA,EAAkBT,MAjBnB,0CAiBiC,CAAEA,MAAOS,EAAkBT,QAjB5D,iCAmBI,CAAEC,KAAMQ,EAAkBR,OAnB9B,iD,2JAsBC,WAA6BS,EAAgBC,GAA7C,uGACchB,KAAKD,KAAKkB,IAAV,2BAAkCF,EAAlC,kBAAkDC,EAAlD,cADd,cACEE,EADF,yBAGGA,EAAIZ,KAAKa,OAAS,EAAI,CAAEb,KAAMY,EAAIZ,KAAK,IAAO,CAAED,MAAO,yBAH1D,gD,kJAMA,WACJU,EACAK,EACAjB,GAHI,yGAMcH,KAAKD,KAAKkB,IAAV,gCAAuCF,EAAvC,qBAA0DK,EAA1D,aANd,UAMEF,EANF,OAQCA,EAAIZ,KAAKe,cAAcC,GAAGC,SAAS,WARpC,yCAQuD,CAAElB,MAAO,4BARhE,UAUEmB,EAAgBN,EAAIZ,KAAKmB,QAAQC,MAAK,SAACC,GAAD,OAAgBA,EAAGC,KAAOzB,KACjEqB,EAXD,yCAWuB,CAAEnB,MAAO,mCAXhC,gCAaG,IAbH,gD,uJAgBD,WACHwB,EACAT,EACAU,EACAC,EACAC,GALG,gHAWahC,KAAKD,KAAKkB,IAAV,gCACiBY,EADjB,qBACoCT,EADpC,oBACyDU,EADzD,SAER,CAAEG,OAAQ,CAAEC,KAAMH,EAAeI,GAAIH,KAb1C,OAWCd,EAXD,kFAgBQ,CAAEb,MAAO,uBAhBjB,gCAmBI,CAAEC,KAAMY,EAAIZ,KAAKmB,UAnBrB,yD","file":"js/chunk-2d0e1bbd.57a21c17.js","sourcesContent":["import { HTTPClient } from \"@abaco/web-common/src/HTTP\";\nimport { Sensor, ReturnDataSensorDataItem } from \"../models\";\n\ninterface ReturnDataString {\n error?: string;\n data?: string;\n}\n\nexport default class AmbientalWidgetsAPI {\n private http: HTTPClient;\n\n constructor(http: HTTPClient) {\n this.http = http;\n }\n\n public async getData(pk_cuaa: number, lot_id: number, requestedSensor: string): Promise {\n const { error, data } = await this.getIdFromLinkedStation(pk_cuaa, lot_id);\n\n if (error || !data) return { error };\n\n const sensorType = await this.checkSensorType(pk_cuaa, data, requestedSensor);\n\n if (sensorType.error) return { error: sensorType.error };\n\n const sensorHistoryData = await this.getSensorDataItems(\n pk_cuaa,\n data,\n requestedSensor,\n (new Date(new Date().setTime(new Date().getTime() - 604800000))).toISOString(),\n new Date().toISOString()\n );\n\n if (sensorHistoryData.error) return { error: sensorHistoryData.error };\n\n return { data: sensorHistoryData.data };\n }\n\n private 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.data.length > 0 ? { data: res.data[0] } : { error: \"no-station-connected\" };\n }\n\n private async checkSensorType(\n farmId: number,\n stationId: string,\n requestedSensor: string\n ): Promise<{ error?: string }> {\n\n const res = await this.http.get(`/sensor-x/api/v1/farm/${farmId}/stations/${stationId}/sensors`);\n\n if (!res.data.backendStatus.ok.includes(\"xearpro\")) return { error: \"station-has-not-xearpro\" };\n\n const correctSensor = res.data.results.find((el: Sensor) => el.id === requestedSensor);\n if (!correctSensor) return { error: \"station-has-not-correct-sensor\" };\n\n return {};\n }\n\n public async getSensorDataItems(\n pkCuaa: number,\n stationId: string,\n sensorId: string,\n fromParameter: string,\n toParameter: string\n ): Promise {\n\n let res;\n\n try {\n res = await this.http.get(\n `/sensor-x/api/v1/farm/${pkCuaa}/stations/${stationId}/sensors/${sensorId}/data`,\n { params: { from: fromParameter, to: toParameter } }\n );\n } catch (e) {\n return { error: \"sensor-has-no-data\" };\n }\n\n return { data: res.data.results };\n }\n}\n\n"],"sourceRoot":""}