@robotbas/robotcloud-client 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as axios from 'axios';
2
2
  import { AxiosResponse } from 'axios';
3
- import { R as RegimState, a as RobotCloudNamedItem, S as SubsystemRequestParams, b as RobotCloudServiceType, L as LocationServiceInstancesRequestParams, c as RobotCloudUserDetails, P as ProjectRequestParams, d as RobotCloudProject, e as ProjectDetailsRequestParams, f as RobotCloudProjectDetails, g as ProjectLocationsRequestParams, h as ServiceInstancesRequestParams, i as ProjectTagRequestParams, j as RobotCloudDeviceDetails, k as RobotCloudServiceTypeDetails, l as RoomGrouping1DataEventValue, m as RoomGrouping1InstanceDeviceConfig, T as TemperatureUnit, n as RoomClime1AlertEventValue, o as RoomConsumes1AlertEventValue, p as ServiceInstanceDataRequestParams } from './index-I3qNUoYH.js';
4
- export { A as AppAccessLevel, F as FancoilSpeedState, t as PaginableRequestParams, s as ProjectAccessLevel, q as RobotCloudPermissionsHelper, u as ServiceInstanceDeviceConfig, r as robotCloudPermissionsHelper } from './index-I3qNUoYH.js';
3
+ import { R as RobotCloudNamedItem, P as PaginableRequestParams, S as SubsystemRequestParams, a as ServiceInstanceDataRequestParams, b as RobotCloudServiceType, L as LocationServiceInstancesRequestParams, c as RobotCloudUserDetails, d as ProjectRequestParams, e as RobotCloudProject, f as ProjectDetailsRequestParams, g as RobotCloudProjectDetails, h as ProjectLocationsRequestParams, i as ServiceInstancesRequestParams, j as ProjectTagRequestParams, k as RobotCloudDeviceDetails, l as RobotCloudServiceTypeDetails, m as RoomGrouping1DataEventValue, n as RoomGrouping1InstanceDeviceConfig, o as RegimState, T as TemperatureUnit, p as RoomClime1AlertEventValue, q as RoomConsumes1AlertEventValue } from './index-DBueovyV.js';
4
+ export { A as AppAccessLevel, F as FancoilSpeedState, O as OrganizationAccessLevel, t as ProjectAccessLevel, s as RobotCloudPermissionsHelper, u as ServiceInstanceDeviceConfig, r as robotCloudPermissionsHelper } from './index-DBueovyV.js';
5
5
 
6
6
  declare const robotcloudApi: axios.AxiosInstance;
7
7
 
@@ -16,43 +16,6 @@ declare class RobotCloudClientConfig {
16
16
  }
17
17
  declare const clientConfig: RobotCloudClientConfig;
18
18
 
19
- interface RoomClime1Data {
20
- demandRF: boolean;
21
- eco_mode: "STANDBY"|"ECO"|"VIP";
22
- fancoil_manual: boolean;
23
- fancoil_speed: number;
24
- humidity: number;
25
- humidity_set_point: number;
26
-
27
- on: boolean;
28
- onRF: boolean;
29
-
30
- temperature: number;
31
- temperature_set_point: number;
32
- regim: RegimState;
33
- }
34
-
35
- interface RoomConsumes1Data {
36
- energy_electric: number;
37
- energy_thermal: number;
38
- hot_water: number;
39
- cold_water: number;
40
-
41
- daily_energy_electric: number;
42
- daily_energy_thermal: number;
43
- daily_hot_water: number;
44
- daily_cold_water: number;
45
- daily_co2_footprint: number;
46
- daily_tree_equivalent: number;
47
-
48
- guest_energy_electric: number;
49
- guest_energy_thermal: number;
50
- guest_hot_water: number;
51
- guest_cold_water: number;
52
- guest_co2_footprint: number;
53
- guest_tree_equivalent: number;
54
- }
55
-
56
19
  interface RobotCloudServiceInstance extends RobotCloudNamedItem {
57
20
  service: string;
58
21
  }
@@ -64,10 +27,17 @@ interface ServiceInstanceDetails extends RobotCloudServiceInstance {
64
27
  classifier: string;
65
28
  }
66
29
 
67
- interface ClassifierDetails {
68
- id: string;
69
- name: string;
70
- description: string;
30
+ interface ProjectClassifiersRequestParams extends PaginableRequestParams {
31
+
32
+ }
33
+
34
+ interface Classifier {
35
+ id: string;
36
+ name: string;
37
+ description: string;
38
+ }
39
+
40
+ interface ClassifierDetails extends Classifier {
71
41
  }
72
42
 
73
43
  interface ProjectTagTreeNode {
@@ -177,6 +147,12 @@ interface ServiceTypeClient<T_ALERTS, T_DATA, T_CONFIG> {
177
147
  data: T_CONFIG
178
148
  ): Promise<AxiosResponse<T_CONFIG>>;
179
149
 
150
+ getInstanceData (
151
+ prjId: string,
152
+ instanceId: string,
153
+ params?: ServiceInstanceDataRequestParams
154
+ ): Promise<AxiosResponse<ServiceDataMeasurement<T_DATA>>>;
155
+
180
156
  getInstanceHistoric (
181
157
  prjId: string,
182
158
  instanceId: string,
@@ -212,6 +188,7 @@ declare const getLocations: (prjId: string, params?: ProjectLocationsRequestPara
212
188
  declare const getLocation: (locationId: string) => Promise<AxiosResponse<RobotCloudLocationDetails>>;
213
189
  declare const getServiceInstances: (prjId: string, service_type: string, params?: ServiceInstancesRequestParams) => Promise<AxiosResponse<RobotCloudServiceInstance[]>>;
214
190
  declare const getServiceInstance: (prjId: string, service_type: string, service_id: string) => Promise<AxiosResponse<ServiceInstanceDetails, any>>;
191
+ declare const getProjectClassifiers: (prjId: string, params?: ProjectClassifiersRequestParams) => Promise<AxiosResponse<Classifier[]>>;
215
192
  declare const getClassifier: (classifierId: string) => Promise<AxiosResponse<ClassifierDetails, any>>;
216
193
  declare const getTags: (prjId: string, params?: ProjectTagRequestParams) => Promise<AxiosResponse<ProjectTag[]>>;
217
194
  declare const getTagsTree: (prjId: string, maxDepth?: number, params?: ProjectTagRequestParams) => Promise<ProjectTagsTree>;
@@ -226,6 +203,7 @@ declare const robotCloudClient_getDeviceDetails: typeof getDeviceDetails;
226
203
  declare const robotCloudClient_getLocation: typeof getLocation;
227
204
  declare const robotCloudClient_getLocationServiceInstances: typeof getLocationServiceInstances;
228
205
  declare const robotCloudClient_getLocations: typeof getLocations;
206
+ declare const robotCloudClient_getProjectClassifiers: typeof getProjectClassifiers;
229
207
  declare const robotCloudClient_getProjectDetails: typeof getProjectDetails;
230
208
  declare const robotCloudClient_getProjectServiceTypes: typeof getProjectServiceTypes;
231
209
  declare const robotCloudClient_getProjectSubsystem: typeof getProjectSubsystem;
@@ -239,7 +217,7 @@ declare const robotCloudClient_getTagsChildren: typeof getTagsChildren;
239
217
  declare const robotCloudClient_getTagsTree: typeof getTagsTree;
240
218
  declare const robotCloudClient_getUser: typeof getUser;
241
219
  declare namespace robotCloudClient {
242
- export { robotCloudClient_getClassifier as getClassifier, robotCloudClient_getDeviceDetails as getDeviceDetails, robotCloudClient_getLocation as getLocation, robotCloudClient_getLocationServiceInstances as getLocationServiceInstances, robotCloudClient_getLocations as getLocations, robotCloudClient_getProjectDetails as getProjectDetails, robotCloudClient_getProjectServiceTypes as getProjectServiceTypes, robotCloudClient_getProjectSubsystem as getProjectSubsystem, robotCloudClient_getProjects as getProjects, robotCloudClient_getRoomGrouping1InstanceDeviceConfig as getRoomGrouping1InstanceDeviceConfig, robotCloudClient_getRoomGrouping1ServiceData as getRoomGrouping1ServiceData, robotCloudClient_getServiceInstance as getServiceInstance, robotCloudClient_getServiceInstances as getServiceInstances, robotCloudClient_getTags as getTags, robotCloudClient_getTagsChildren as getTagsChildren, robotCloudClient_getTagsTree as getTagsTree, robotCloudClient_getUser as getUser };
220
+ export { robotCloudClient_getClassifier as getClassifier, robotCloudClient_getDeviceDetails as getDeviceDetails, robotCloudClient_getLocation as getLocation, robotCloudClient_getLocationServiceInstances as getLocationServiceInstances, robotCloudClient_getLocations as getLocations, robotCloudClient_getProjectClassifiers as getProjectClassifiers, robotCloudClient_getProjectDetails as getProjectDetails, robotCloudClient_getProjectServiceTypes as getProjectServiceTypes, robotCloudClient_getProjectSubsystem as getProjectSubsystem, robotCloudClient_getProjects as getProjects, robotCloudClient_getRoomGrouping1InstanceDeviceConfig as getRoomGrouping1InstanceDeviceConfig, robotCloudClient_getRoomGrouping1ServiceData as getRoomGrouping1ServiceData, robotCloudClient_getServiceInstance as getServiceInstance, robotCloudClient_getServiceInstances as getServiceInstances, robotCloudClient_getTags as getTags, robotCloudClient_getTagsChildren as getTagsChildren, robotCloudClient_getTagsTree as getTagsTree, robotCloudClient_getUser as getUser };
243
221
  }
244
222
 
245
223
  interface CheckTokenResponse {
@@ -273,6 +251,43 @@ declare namespace robotCloudToken {
273
251
  export { type robotCloudToken_RobotCloudNewTokenResponse as RobotCloudNewTokenResponse, robotCloudToken_decodeToken as decodeToken, robotCloudToken_isTokenExpired as isTokenExpired, robotCloudToken_renewToken as renewToken, robotCloudToken_validateToken as validateToken };
274
252
  }
275
253
 
254
+ interface RoomClime1Data {
255
+ demandRF: boolean;
256
+ eco_mode: "STANDBY"|"ECO"|"VIP";
257
+ fancoil_manual: boolean;
258
+ fancoil_speed: number;
259
+ humidity: number;
260
+ humidity_set_point: number;
261
+
262
+ on: boolean;
263
+ onRF: boolean;
264
+
265
+ temperature: number;
266
+ temperature_set_point: number;
267
+ regim: RegimState;
268
+ }
269
+
270
+ interface RoomConsumes1Data {
271
+ energy_electric: number;
272
+ energy_thermal: number;
273
+ hot_water: number;
274
+ cold_water: number;
275
+
276
+ daily_energy_electric: number;
277
+ daily_energy_thermal: number;
278
+ daily_hot_water: number;
279
+ daily_cold_water: number;
280
+ daily_co2_footprint: number;
281
+ daily_tree_equivalent: number;
282
+
283
+ guest_energy_electric: number;
284
+ guest_energy_thermal: number;
285
+ guest_hot_water: number;
286
+ guest_cold_water: number;
287
+ guest_co2_footprint: number;
288
+ guest_tree_equivalent: number;
289
+ }
290
+
276
291
  interface RoomClimeConfigurationParams {
277
292
  temperature_set_point?: number;
278
293
  humidity_set_point?: number;
@@ -299,6 +314,7 @@ declare class RoomClimeClient implements ServiceTypeClient<RoomClime1AlertEventV
299
314
  getData(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>>;
300
315
  getInstanceConfiguration(prjId: string, instanceId: string): Promise<AxiosResponse<RoomClimeConfigurationParams>>;
301
316
  putInstanceConfiguration(prjId: string, instanceId: string, data: RoomClimeConfigurationParams): Promise<AxiosResponse<RoomClimeConfigurationParams>>;
317
+ getInstanceData(prjId: string, instanceId: string, params?: ServiceInstanceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>>>;
302
318
  getInstanceHistoric(prjId: string, instanceId: string, startTime: Date, endTime: Date, params: ServiceInstanceHistoricParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>>;
303
319
  getInstanceHistoricAggregate(prjId: string, instanceId: string, startTime: Date, endTime: Date, aggFunction: HistoricAggregateFunction, periode: string, params: ServiceInstanceHistoricAggregateParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>>;
304
320
  }
@@ -309,6 +325,7 @@ declare class RoomGuestStatusClient implements ServiceTypeClient<RoomGuestStatus
309
325
  getData(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>>;
310
326
  getInstanceConfiguration(prjId: string, instanceId: string): Promise<AxiosResponse<RoomGuestStatusInstanceConfigParams>>;
311
327
  putInstanceConfiguration(prjId: string, instanceId: string, data: RoomGuestStatusInstanceConfigParams): Promise<AxiosResponse<RoomGuestStatusInstanceConfigParams>>;
328
+ getInstanceData: (prjId: string, instanceId: string, params?: ServiceInstanceDataRequestParams) => Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>>>;
312
329
  getInstanceHistoric(prjId: string, instanceId: string, startTime: Date, endTime: Date, params: ServiceInstanceHistoricParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>>;
313
330
  getInstanceHistoricAggregate(prjId: string, instanceId: string, startTime: Date, endTime: Date, aggFunction: HistoricAggregateFunction, periode: string, params: ServiceInstanceHistoricAggregateParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>>;
314
331
  }
@@ -318,6 +335,7 @@ declare class AirQualityClient implements ServiceTypeClient<AirQuality1AlertEven
318
335
  getAlerts(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1AlertEventValue>[]>>;
319
336
  getData(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>>;
320
337
  getInstanceConfiguration<T>(prjId: string, instanceId: string): Promise<AxiosResponse<T>>;
338
+ getInstanceData(prjId: string, instanceId: string, params?: ServiceInstanceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>>>;
321
339
  putInstanceConfiguration<T>(prjId: string, instanceId: string, data: T): Promise<AxiosResponse<T>>;
322
340
  getInstanceHistoric(prjId: string, instanceId: string, startTime: Date, endTime: Date, params: ServiceInstanceHistoricParams): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>>;
323
341
  getInstanceHistoricAggregate(prjId: string, instanceId: string, startTime: Date, endTime: Date, aggFunction: HistoricAggregateFunction, periode: string, params: ServiceInstanceHistoricAggregateParams): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>>;
@@ -327,12 +345,12 @@ declare const airQualityClient: AirQualityClient;
327
345
  declare class RoomConsumesClient implements ServiceTypeClient<RoomConsumes1AlertEventValue, RoomConsumes1Data, any> {
328
346
  getAlerts(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]>>;
329
347
  getData(prjId: string, params?: ServiceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>>;
330
- getInstanceData: (prjId: string, instanceId: string, params?: ServiceInstanceDataRequestParams) => Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>>>;
331
348
  getInstanceConfiguration<T>(prjId: string, instanceId: string): Promise<AxiosResponse<T>>;
332
349
  putInstanceConfiguration<T>(prjId: string, instanceId: string, data: T): Promise<AxiosResponse<T>>;
350
+ getInstanceData: (prjId: string, instanceId: string, params?: ServiceInstanceDataRequestParams) => Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>>>;
333
351
  getInstanceHistoric(prjId: string, instanceId: string, startTime: Date, endTime: Date, params: ServiceInstanceHistoricParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>>;
334
352
  getInstanceHistoricAggregate(prjId: string, instanceId: string, startTime: Date, endTime: Date, aggFunction: HistoricAggregateFunction, periode: string, params: ServiceInstanceHistoricAggregateParams): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>>;
335
353
  }
336
354
  declare const roomConsumesClient: RoomConsumesClient;
337
355
 
338
- export { type AirQuality1AlertEventValue, type AirQuality1DataEventValue, type CheckTokenResponse, type ClassifierDetails, type HistoricAggregateFunction, LocationServiceInstancesRequestParams, type MeasurementStatus, ProjectDetailsRequestParams, ProjectLocationsRequestParams, ProjectRequestParams, type ProjectTag, ProjectTagRequestParams, type ProjectTagTreeNode, type ProjectTagsTree, RegimState, RobotCloudClientConfig, RobotCloudDeviceDetails, type RobotCloudJWTPayload, RobotCloudNamedItem, RobotCloudProject, RobotCloudProjectDetails, type RobotCloudServiceInstance, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, RoomClime1AlertEventValue, type RoomClime1Data, type RoomClimeConfigurationParams, RoomConsumes1AlertEventValue, type RoomConsumes1Data, RoomGrouping1DataEventValue, RoomGrouping1InstanceDeviceConfig, type RoomGuestStatus1AlertEventValue, type RoomGuestStatus1EventValue, type RoomGuestStatusInstanceConfigParams, type ServiceDataMeasurement, type ServiceDataRequestParams, ServiceInstanceDataRequestParams, type ServiceInstanceDetails, type ServiceInstanceHistoricAggregateParams, type ServiceInstanceHistoricParams, type ServiceInstanceRead, ServiceInstancesRequestParams, type ServiceTypeClient, SubsystemRequestParams, TemperatureUnit, airQualityClient, clientConfig, robotCloudToken, robotcloudApi, robotCloudClient as robotcloudClient, roomClimeClient, roomConsumesClient, roomGuestStatusClient };
356
+ export { type AirQuality1AlertEventValue, type AirQuality1DataEventValue, type CheckTokenResponse, type Classifier, type ClassifierDetails, type HistoricAggregateFunction, LocationServiceInstancesRequestParams, type MeasurementStatus, PaginableRequestParams, type ProjectClassifiersRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, ProjectRequestParams, type ProjectTag, ProjectTagRequestParams, type ProjectTagTreeNode, type ProjectTagsTree, RegimState, RobotCloudClientConfig, RobotCloudDeviceDetails, type RobotCloudJWTPayload, RobotCloudNamedItem, RobotCloudProject, RobotCloudProjectDetails, type RobotCloudServiceInstance, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, RoomClime1AlertEventValue, type RoomClime1Data, type RoomClimeConfigurationParams, RoomConsumes1AlertEventValue, type RoomConsumes1Data, RoomGrouping1DataEventValue, RoomGrouping1InstanceDeviceConfig, type RoomGuestStatus1AlertEventValue, type RoomGuestStatus1EventValue, type RoomGuestStatusInstanceConfigParams, type ServiceDataMeasurement, type ServiceDataRequestParams, ServiceInstanceDataRequestParams, type ServiceInstanceDetails, type ServiceInstanceHistoricAggregateParams, type ServiceInstanceHistoricParams, type ServiceInstanceRead, ServiceInstancesRequestParams, type ServiceTypeClient, SubsystemRequestParams, TemperatureUnit, airQualityClient, clientConfig, robotCloudToken, robotcloudApi, robotCloudClient as robotcloudClient, roomClimeClient, roomConsumesClient, roomGuestStatusClient };
package/dist/index.js CHANGED
@@ -114,6 +114,7 @@ __export(robotCloudClient_exports, {
114
114
  getLocation: () => getLocation,
115
115
  getLocationServiceInstances: () => getLocationServiceInstances,
116
116
  getLocations: () => getLocations,
117
+ getProjectClassifiers: () => getProjectClassifiers,
117
118
  getProjectDetails: () => getProjectDetails,
118
119
  getProjectServiceTypes: () => getProjectServiceTypes,
119
120
  getProjectSubsystem: () => getProjectSubsystem,
@@ -165,6 +166,12 @@ var getServiceInstances = (prjId, service_type, params) => {
165
166
  var getServiceInstance = (prjId, service_type, service_id) => {
166
167
  return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${service_id}`);
167
168
  };
169
+ var getProjectClassifiers = (prjId, params) => {
170
+ logger2.info(`Get project ${prjId} classifiers`);
171
+ return robotCloudApi_default.get(`projects/${prjId}/classifiers`, {
172
+ params
173
+ });
174
+ };
168
175
  var getClassifier = (classifierId) => {
169
176
  return robotCloudApi_default.get(`classifiers/${classifierId}`);
170
177
  };
@@ -314,7 +321,7 @@ var validateToken = async (access_token) => {
314
321
  return true;
315
322
  };
316
323
 
317
- // src/client/services/room-clime-1.ts
324
+ // src/client/services/room-clime-1.mock.ts
318
325
  var RoomClimeClient = class {
319
326
  getAlerts(prjId, params) {
320
327
  return robotCloudApi_default.get(
@@ -349,37 +356,50 @@ var RoomClimeClient = class {
349
356
  data
350
357
  );
351
358
  }
352
- getInstanceHistoric(prjId, instanceId, startTime, endTime, params) {
359
+ getInstanceData(prjId, instanceId, params) {
353
360
  return robotCloudApi_default.get(
354
- `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/historic/data`,
361
+ `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/data`,
355
362
  {
356
- params: {
357
- start_time: startTime,
358
- end_time: endTime,
359
- ...params
360
- }
363
+ params
361
364
  }
362
365
  );
363
366
  }
367
+ getInstanceHistoric(prjId, instanceId, startTime, endTime, params) {
368
+ return new Promise((resolve, reject) => {
369
+ fetch("./mock-historic-clime-data-sample.json").then((response) => response.json()).then(
370
+ (json) => resolve({
371
+ data: json
372
+ })
373
+ );
374
+ });
375
+ }
364
376
  getInstanceHistoricAggregate(prjId, instanceId, startTime, endTime, aggFunction, periode, params) {
365
- return robotCloudApi_default.get(
366
- `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/historic/data/aggregate`,
367
- {
368
- params: {
369
- start_time: startTime,
370
- end_time: endTime,
371
- function: aggFunction,
372
- periode,
373
- ...params
374
- }
375
- }
376
- );
377
+ return new Promise((resolve, reject) => {
378
+ fetch(`./mock-historic-agg-${periode}-${aggFunction}-clime-data-sample.json`).then((response) => response.json()).then(
379
+ (json) => resolve({
380
+ data: json
381
+ })
382
+ );
383
+ });
377
384
  }
378
385
  };
379
386
  var roomClimeClient = new RoomClimeClient();
380
387
 
381
- // src/client/services/room-guest-status-1.ts
388
+ // src/client/services/room-guest-status-1.mock.ts
382
389
  var RoomGuestStatusClient = class {
390
+ constructor() {
391
+ this.getInstanceData = (prjId, instanceId, params) => {
392
+ return robotCloudApi_default.get(
393
+ `/projects/${prjId}/services/RoomConsumes_1/instances/${instanceId}/data`,
394
+ {
395
+ params,
396
+ headers: {
397
+ "Accept": "application/json"
398
+ }
399
+ }
400
+ );
401
+ };
402
+ }
383
403
  getAlerts(prjId, params) {
384
404
  return robotCloudApi_default.get(
385
405
  `/projects/${prjId}/services/RoomGuestStatus_1/alert`,
@@ -415,7 +435,7 @@ var RoomGuestStatusClient = class {
415
435
  }
416
436
  getInstanceHistoric(prjId, instanceId, startTime, endTime, params) {
417
437
  return new Promise((resolve, reject) => {
418
- fetch("./historic-guest-status-data-sample.json").then((response) => response.json()).then(
438
+ fetch("./mock-historic-guest-status-data-sample.json").then((response) => response.json()).then(
419
439
  (json) => resolve({
420
440
  data: json
421
441
  })
@@ -423,23 +443,18 @@ var RoomGuestStatusClient = class {
423
443
  });
424
444
  }
425
445
  getInstanceHistoricAggregate(prjId, instanceId, startTime, endTime, aggFunction, periode, params) {
426
- return robotCloudApi_default.get(
427
- `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/historic/data/aggregate`,
428
- {
429
- params: {
430
- start_time: startTime,
431
- end_time: endTime,
432
- function: aggFunction,
433
- periode,
434
- ...params
435
- }
436
- }
437
- );
446
+ return new Promise((resolve, reject) => {
447
+ fetch(`./mock-historic-agg-${periode}-${aggFunction}-guest-status-data-sample.json`).then((response) => response.json()).then(
448
+ (json) => resolve({
449
+ data: json
450
+ })
451
+ );
452
+ });
438
453
  }
439
454
  };
440
455
  var roomGuestStatusClient = new RoomGuestStatusClient();
441
456
 
442
- // src/client/services/air-quality-1.ts
457
+ // src/client/services/air-quality-1.mock.ts
443
458
  var AirQualityClient = class {
444
459
  getAlerts(prjId, params) {
445
460
  return robotCloudApi_default.get(
@@ -466,6 +481,17 @@ var AirQualityClient = class {
466
481
  getInstanceConfiguration(prjId, instanceId) {
467
482
  throw Error("Not implemented method");
468
483
  }
484
+ getInstanceData(prjId, instanceId, params) {
485
+ return robotCloudApi_default.get(
486
+ `/projects/${prjId}/services/AirQuality_1/instances/${instanceId}/data`,
487
+ {
488
+ params,
489
+ headers: {
490
+ "Accept": "application/json"
491
+ }
492
+ }
493
+ );
494
+ }
469
495
  putInstanceConfiguration(prjId, instanceId, data) {
470
496
  throw Error("Not implemented method");
471
497
  }
@@ -482,7 +508,14 @@ var AirQualityClient = class {
482
508
  );
483
509
  }
484
510
  getInstanceHistoricAggregate(prjId, instanceId, startTime, endTime, aggFunction, periode, params) {
485
- throw Error("Not implemented method");
511
+ return new Promise((resolve, reject) => {
512
+ fetch(`./mock-historic-agg-${periode}-${aggFunction}-air-quality-data-sample.json`).then((response) => response.json()).then(
513
+ (json) => resolve({
514
+ data: json,
515
+ status: 200
516
+ })
517
+ );
518
+ });
486
519
  }
487
520
  };
488
521
  var airQualityClient = new AirQualityClient();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/robotCloudApi.ts","../src/config.ts","../src/utils/logger.ts","../src/robotCloudClient.ts","../src/helpers/robotCloudToken.ts","../src/client/services/room-clime-1.ts","../src/client/services/room-guest-status-1.ts","../src/client/services/air-quality-1.ts","../src/client/services/room-consumes-1.ts","../src/helpers/robotCloudPermissionsHelper.ts"],"sourcesContent":["import robotcloudApi from \"robotCloudApi\"\nimport clientConfig from \"config\"\n\nexport * as robotcloudClient from \"robotCloudClient\"\nexport * as robotCloudToken from \"helpers/robotCloudToken\"\n\nexport * from \"client/services\"\nexport * from \"config\"\n\nexport * from \"helpers\"\nexport {\n robotcloudApi,\n clientConfig\n}\n\nexport type * from \"../types/ProjectClassifer\"\nexport type * from \"../types/ProjectTag\"\nexport type * from \"../types/RobotCloudClient\"\nexport type * from \"../types/services\"\nexport type * from \"../types/services-configuration\"\nexport type * from \"../types/services-data\"\nexport type * from \"../types/ServiceInstance\"\nexport type * from \"../types/ServiceInstanceRead\"\nexport type * from \"../types/Token\"\n","import axios from \"axios\"\nimport clientConfig from \"config\";\nimport { useLogger } from 'utils/logger';\n\nconst logger = useLogger(\"robotcloud-api\")\n\nconst robotcloudApi = axios.create();\n\nlet checkTokenPromise: Promise<string | undefined> | null = null;\nconst clearPromise = () => checkTokenPromise = null;\n\nasync function refreshToken(checkToken: () => Promise<string | undefined>) {\n const access_token = await checkToken();\n return access_token;\n}\n\n \n// Important to add interceptor once, inside a middleware are stacked in each request.\nrobotcloudApi.interceptors.request.use(\n async config => {\n logger.info(\"robotcloud api interceptor:\", config.url)\n if (!checkTokenPromise) {\n checkTokenPromise = refreshToken(clientConfig.checkToken).finally(clearPromise);\n }\n\n // When other request is checking token wait for it\n const token = await checkTokenPromise;\n if (!token) {\n return config\n }\n\n config.headers.authorization = `Bearer ${token}`;\n return config;\n },\n error => {\n logger.error(error)\n Promise.reject(error)\n });\n\nexport default robotcloudApi;\n","import robotcloudApi from \"robotCloudApi\";\n\nexport class RobotCloudClientConfig {\n private _baseUrl?: string;\n private _checkToken = async (): Promise<string> => { return ''}\n \n public tokenMinutesBeforeExpirationRenew: number = 20;\n \n\n set baseURL(value: string){\n robotcloudApi.defaults.baseURL = value\n this._baseUrl = value\n }\n \n get baseUrl(): string | undefined {\n return this._baseUrl\n }\n\n set checkToken(fun: () => Promise<string>) {\n this._checkToken = fun\n }\n\n get checkToken(): () => Promise<string> {\n return this._checkToken\n }\n}\n\nconst clientConfig = new RobotCloudClientConfig()\nexport default clientConfig","import { createConsola } from \"consola\";\nimport type { ConsolaOptions } from 'consola';\n\nexport function useLogger (tag?: string, options: Partial<ConsolaOptions> = { level: 1000 }) {\n return tag ? createConsola(options).withTag(tag) : createConsola(options)\n}","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from 'utils/logger';\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n LocationServiceInstancesRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, \n ProjectRequestParams, ProjectTagRequestParams, RobotCloudDeviceDetails, RobotCloudNamedItem, \n RobotCloudProject, RobotCloudProjectDetails, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, \n RoomGrouping1DataEventValue, \n RoomGrouping1InstanceDeviceConfig, ServiceInstanceDataRequestParams, \n ServiceInstancesRequestParams, \n SubsystemRequestParams\n} from \"../types/RobotCloudClient\";\nimport { RobotCloudServiceInstance, ServiceInstanceDetails } from \"../types/ServiceInstance\";\nimport { ClassifierDetails } from \"../types/ProjectClassifer\";\nimport { ProjectTag, ProjectTagTreeNode, ProjectTagsTree } from \"../types/ProjectTag\";\nimport { ServiceDataMeasurement, ServiceDataRequestParams } from \"../types/services\";\nimport { RoomConsumes1Data } from \"../types/services-data\";\n\n\nconst logger = useLogger(\"robotcloud-client\")\n\n\n\ninterface RobotCloudLocationDetails {\n id: string;\n name: string;\n description: string;\n project: string;\n tags: string[]\n}\n\nexport const getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/locations/${locId}/services/${service_type}/instances`, {\n params,\n });\n}\n\n\n// USERS ENDPOINTS\nexport const getUser = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserDetails>> => {\n return robotcloudApi.get<RobotCloudUserDetails>(`users/${username}`);\n };\n\n// PROJECT ENDPOINTS\nexport const getProjects = (\n params?: ProjectRequestParams\n): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params\n });\n};\n\nexport const getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n};\n\n// PROJECT SUBSYSTEMS ENDPOINTS\n\nexport const getProjectSubsystem = (\n prjId: string,\n subsysId: string\n) => {\n return robotcloudApi.get<RobotCloudNamedItem>(`projects/${prjId}/subsystems/${subsysId}`);\n}\n\nexport const getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`projects/${prjId}/locations`, {\n params,\n });\n};\n\nexport const getLocation = (\n locationId: string\n): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(`locations/${locationId}`, { });\n};\n\nexport const getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/services/${service_type}/instances`, {\n params,\n });\n}\n\nexport const getServiceInstance = (\n prjId: string,\n service_type: string,\n service_id: string\n) => {\n return robotcloudApi.get<ServiceInstanceDetails>(`projects/${prjId}/services/${service_type}/instances/${service_id}`);\n}\n\nexport const getClassifier = (\n classifierId: string\n) => {\n return robotcloudApi.get<ClassifierDetails>(`classifiers/${classifierId}`);\n}\n\nexport const getTags = (\n prjId: string,\n params?: ProjectTagRequestParams\n): Promise<AxiosResponse<ProjectTag[]>> => {\n logger.info(`Get project ${prjId} tags`)\n return robotcloudApi.get<ProjectTag[]>(`projects/${prjId}/tags`, {\n params,\n });\n};\n\nexport const getTagsTree = async (\n prjId: string,\n maxDepth: number = 2,\n params?: ProjectTagRequestParams\n): Promise<ProjectTagsTree> => {\n logger.info(`Get project ${prjId} tags tree`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = true;\n\n const tags = await getTagsChildren(prjId, 0, undefined, undefined, maxDepth)\n return {root: tags} as ProjectTagsTree;\n};\n\nexport const getTagsChildren = async (\n prjId: string,\n level: number = 0,\n parent_id?: string,\n params?: ProjectTagRequestParams,\n maxDepth?: number\n): Promise<ProjectTagTreeNode[]> => {\n logger.debug(`Get project ${prjId} tags children: ${parent_id}`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = !parent_id;\n params.parent_tag = parent_id;\n\n const tags = await getTags(prjId, params)\n if (tags.data.length == 0) {\n return [];\n }\n \n const response: ProjectTagTreeNode[] = []\n const requests: any[] = []\n for (let i = 0; i < tags.data.length; i++) {\n const element = tags.data[i]\n const node = {\n tag: element\n } as ProjectTagTreeNode;\n response.push(node)\n if (maxDepth && level < maxDepth) {\n requests.push(\n getTagsChildren(prjId, level + 1, element.id, params, maxDepth)\n )\n }\n }\n\n const responses = await Promise.all(requests)\n let i = 0;\n responses.forEach(element => {\n response[i].children = element\n i++\n });\n \n return response;\n\n}\n\n/* PROJECT DEVICES ENDPOINTS */\nexport const getDeviceDetails = (\n deviceId: string,\n): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n}\n\n/* SERVICES ENDPOINTS */\nexport const getProjectServiceTypes = (\n prjId: string,\n params?: SubsystemRequestParams\n): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(`projects/${prjId}/services`, {\n params,\n });\n}\n/* SERVICES INSTANCES DATA ENDPOINTS */\n\nexport const getRoomGrouping1ServiceData = (\n prjId: string,\n params?: ServiceDataRequestParams\n): Promise<AxiosResponse<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>(\n `/projects/${prjId}/services/RoomGrouping_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n}\n\n/* SERVICES INSTANCES DEVICE INGORMATION ENDPOINTS */\n\n\nexport const getRoomGrouping1InstanceDeviceConfig = (\n prjId: string,\n instanceId: string,\n): Promise<AxiosResponse<RoomGrouping1InstanceDeviceConfig>> => {\n return robotcloudApi.put<RoomGrouping1InstanceDeviceConfig>(\n `/projects/${prjId}/services/RoomGrouping_1/instances/${instanceId}/configuration`\n )\n}\n","import axios from \"axios\";\nimport { useLogger } from 'utils/logger';\nimport robotcloudApi from \"robotCloudApi\";\nimport { CheckTokenResponse, RobotCloudJWTPayload } from \"../../types/Token\";\nimport clientConfig from \"config\";\n\nconst logger = useLogger(\"robotcloud-token\")\n\n\nfunction parseJwt(token: string) {\n if (!token) {\n return;\n }\n return JSON.parse(atob(token.split('.')[1])); \n}\n\nexport interface RobotCloudNewTokenResponse {\n access: string;\n renew: string;\n}\n\nexport const decodeToken = (token: string): RobotCloudJWTPayload | undefined => {\n const payload = parseJwt(token);\n if (!payload) {\n return undefined\n }\n\n return payload as RobotCloudJWTPayload;\n};\n\nexport const isTokenExpired = (payload: RobotCloudJWTPayload): boolean => {\n const expirationDate = new Date(payload.exp * 1000);\n expirationDate.setMinutes(\n expirationDate.getMinutes() - clientConfig.tokenMinutesBeforeExpirationRenew\n );\n const currentDate = new Date();\n return currentDate >= expirationDate;\n};\n\nexport const renewToken = async (\n renew_token: string\n): Promise<CheckTokenResponse> => {\n logger.debug(\"Renewing token ...\");\n const cloudUrl = robotcloudApi.defaults.baseURL\n const { data } = await axios.get(cloudUrl + \"login/renew\", {\n headers: {\n Authorization: `Bearer ${renew_token}`,\n },\n });\n\n return {\n renewed: true,\n access: data[\"access\"][\"token\"],\n renew: data[\"renew\"][\"token\"],\n } as CheckTokenResponse;\n};\n\nexport const validateToken = async (\n access_token: string\n): Promise<boolean> => {\n logger.debug(\"Validate token ...\");\n const payload = decodeToken(access_token)\n if (!payload) {\n return false\n }\n const cloudUrl = robotcloudApi.defaults.baseURL\n try {\n const { data } = await axios.get(\n cloudUrl + `users/${payload.sub}`,\n {\n headers: {\n Authorization: `Bearer ${access_token}`,\n },\n }\n ); \n } catch (error) {\n if (axios.isAxiosError(error)) {\n logger.warn(`${error.message}: ${error.response?.data?.message ?? ''}`)\n } else {\n logger.warn(error)\n }\n return false;\n }\n\n return true\n};\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n RoomClime1AlertEventValue,\n} from \"../../../types/RobotCloudClient\";\nimport { \n ServiceDataMeasurement, ServiceDataRequestParams, ServiceInstanceHistoricParams, ServiceTypeClient,\n HistoricAggregateFunction,\n ServiceInstanceHistoricAggregateParams\n} from \"../../../types/services\";\nimport { RoomClime1Data } from \"../../../types/services-data\";\nimport { RoomClimeConfigurationParams } from \"../../../types/services-configuration\";\n\n\nclass RoomClimeClient implements ServiceTypeClient< RoomClime1AlertEventValue, \n RoomClime1Data, \n RoomClimeConfigurationParams> {\n\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1AlertEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomClime1AlertEventValue>[]>(\n `/projects/${prjId}/services/RoomClime_1/alert`,\n {\n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getData (\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomClime1Data>[]>(\n `/projects/${prjId}/services/RoomClime_1/data`,\n {\n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceConfiguration (\n prjId: string,\n instanceId: string\n ): Promise<AxiosResponse<RoomClimeConfigurationParams>> {\n return robotcloudApi.get<RoomClimeConfigurationParams>(\n `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/configuration`\n )\n }\n\n putInstanceConfiguration (\n prjId: string,\n instanceId: string,\n data: RoomClimeConfigurationParams\n ): Promise<AxiosResponse<RoomClimeConfigurationParams>> {\n return robotcloudApi.put<RoomClimeConfigurationParams>(\n `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/configuration`,\n data\n )\n }\n\n getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomClime1Data>[]>(\n `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/historic/data`, {\n params: {\n start_time: startTime,\n end_time: endTime,\n ...params\n }\n }\n )\n }\n\n getInstanceHistoricAggregate(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n aggFunction: HistoricAggregateFunction,\n periode: string,\n params: ServiceInstanceHistoricAggregateParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomClime1Data>[]>(\n `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/historic/data/aggregate`, {\n params: {\n start_time: startTime,\n end_time: endTime,\n function: aggFunction,\n periode,\n ...params\n }\n }\n )\n }\n}\n\n\nexport const roomClimeClient = new RoomClimeClient()","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n HistoricAggregateFunction,\n RoomGuestStatus1AlertEventValue,\n RoomGuestStatus1EventValue,\n RoomGuestStatusInstanceConfigParams,\n ServiceDataMeasurement, \n ServiceDataRequestParams, \n ServiceInstanceHistoricAggregateParams, \n ServiceInstanceHistoricParams, \n ServiceTypeClient \n} from \"../../../types/services\";\n\nclass RoomGuestStatusClient implements ServiceTypeClient< RoomGuestStatus1AlertEventValue, \n RoomGuestStatus1EventValue, \n RoomGuestStatusInstanceConfigParams> {\n\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1AlertEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1AlertEventValue>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_1/alert`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getData (\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceConfiguration (\n prjId: string,\n instanceId: string\n ): Promise<AxiosResponse<RoomGuestStatusInstanceConfigParams>> {\n return robotcloudApi.get<RoomGuestStatusInstanceConfigParams>(\n `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/configuration`\n )\n }\n\n putInstanceConfiguration (\n prjId: string,\n instanceId: string,\n data: RoomGuestStatusInstanceConfigParams\n ): Promise<AxiosResponse<RoomGuestStatusInstanceConfigParams>> {\n return robotcloudApi.put<RoomGuestStatusInstanceConfigParams>(\n `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/configuration`,\n data\n )\n }\n\n getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>> {\n // return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>(\n // `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/historic/data`, {\n // params: {\n // start_time: startTime,\n // end_time: endTime,\n // ...params\n // }\n // }\n // )\n return new Promise((resolve, reject) => {\n fetch('./historic-guest-status-data-sample.json')\n .then((response) => response.json())\n .then((json) => resolve({\n data: json\n } as AxiosResponse)\n );\n })\n }\n\n getInstanceHistoricAggregate(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n aggFunction: HistoricAggregateFunction,\n periode: string,\n params: ServiceInstanceHistoricAggregateParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/historic/data/aggregate`, {\n params: {\n start_time: startTime,\n end_time: endTime,\n function: aggFunction,\n periode,\n ...params\n }\n }\n )\n }\n}\n\nexport const roomGuestStatusClient = new RoomGuestStatusClient()","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n AirQuality1AlertEventValue, AirQuality1DataEventValue, HistoricAggregateFunction, ServiceDataMeasurement, \n ServiceDataRequestParams, \n ServiceInstanceHistoricAggregateParams, \n ServiceInstanceHistoricParams, \n ServiceTypeClient \n} from \"../../../types/services\";\n\nclass AirQualityClient implements ServiceTypeClient<AirQuality1AlertEventValue, \n AirQuality1DataEventValue,\n any> {\n\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1AlertEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<AirQuality1AlertEventValue>[]>(\n `/projects/${prjId}/services/AirQuality_1/alert`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getData (\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<AirQuality1DataEventValue>[]>(\n `/projects/${prjId}/services/AirQuality_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceConfiguration<T> (\n prjId: string,\n instanceId: string\n ): Promise<AxiosResponse<T>> {\n throw Error(\"Not implemented method\")\n }\n\n putInstanceConfiguration<T> (\n prjId: string,\n instanceId: string,\n data: T\n ): Promise<AxiosResponse<T>> {\n throw Error(\"Not implemented method\")\n }\n\n getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<AirQuality1DataEventValue>[]>(\n `/projects/${prjId}/services/AirQuality_1/instances/${instanceId}/configuration`, {\n params: {\n start_time: startTime,\n end_time: endTime,\n ...params\n }\n }\n )\n }\n\n getInstanceHistoricAggregate(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n aggFunction: HistoricAggregateFunction,\n periode: string,\n params: ServiceInstanceHistoricAggregateParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>> {\n throw Error(\"Not implemented method\")\n }\n}\n\n\nexport const airQualityClient = new AirQualityClient()","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n HistoricAggregateFunction, ServiceDataMeasurement, ServiceDataRequestParams, \n ServiceInstanceHistoricAggregateParams, ServiceInstanceHistoricParams, \n ServiceTypeClient \n} from \"../../../types/services\";\nimport { \n RoomConsumes1AlertEventValue, ServiceInstanceDataRequestParams \n} from \"../../../types/RobotCloudClient\";\nimport { RoomConsumes1Data } from \"../../../types/services-data\";\n\nclass RoomConsumesClient implements ServiceTypeClient<RoomConsumes1AlertEventValue, \n RoomConsumes1Data,\n any> {\n\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]>(\n `/projects/${prjId}/services/RoomConsumes_1/alert`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getData (\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1Data>[]>(\n `/projects/${prjId}/services/RoomConsumes_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceData = (\n prjId: string,\n instanceId: string,\n params?: ServiceInstanceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1Data>>(\n `/projects/${prjId}/services/RoomConsumes_1/instances/${instanceId}/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceConfiguration<T> (\n prjId: string,\n instanceId: string\n ): Promise<AxiosResponse<T>> {\n throw Error(\"Not implemented method\")\n }\n\n putInstanceConfiguration<T> (\n prjId: string,\n instanceId: string,\n data: T\n ): Promise<AxiosResponse<T>> {\n throw Error(\"Not implemented method\")\n }\n\n getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1Data>[]>(\n `/projects/${prjId}/services/RoomConsumes_1/instances/${instanceId}/configuration`, {\n params: {\n start_time: startTime,\n end_time: endTime,\n ...params\n }\n }\n )\n }\n\n getInstanceHistoricAggregate(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n aggFunction: HistoricAggregateFunction,\n periode: string,\n params: ServiceInstanceHistoricAggregateParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>> {\n throw Error(\"Not implemented method\")\n }\n}\n\n\nexport const roomConsumesClient = new RoomConsumesClient()","import * as robotCloudClient from \"robotCloudClient\";\nimport { RobotCloudPermissionsHelper } from \"../../types/helpers\";\nimport { \n AppAccessLevel, \n ProjectAccessLevel, \n RobotCloudProjectDetails \n} from \"../../types/RobotCloudClient\";\n\n/**\n * Helper of robotcloud permissions\n * \n * > IMPORTANT! Don't place here any important logic. Only functions that might be used in frontend.\n */\nclass RobotCloudPermissionsHelperImpl implements RobotCloudPermissionsHelper {\n\n public async checkProjectAccess(prjId: string, required_project_access: ProjectAccessLevel): Promise<boolean> {\n\n const { data: project} = await robotCloudClient.getProjectDetails(prjId)\n if (project.access_level == required_project_access) {\n return true\n }\n \n return this.hasAccessLevel(project, required_project_access)\n }\n\n public hasAccessLevel(project: RobotCloudProjectDetails, required_project_access: ProjectAccessLevel) {\n\n switch (required_project_access) {\n case 'ADVANCED':\n return project.access_level == 'ADVANCED'\n case 'BASIC':\n return project.access_level == 'BASIC' || project.access_level == 'ADVANCED'\n case 'RESTRICTED':\n return project.access_level == 'RESTRICTED' || project.access_level == 'BASIC' || \n project.access_level == 'ADVANCED'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n\n public hasAppAccessLevel(project: RobotCloudProjectDetails, required_application_access: AppAccessLevel): boolean {\n switch (required_application_access) {\n case 'ADMIN':\n return project.app_access_level == 'ADMIN'\n case 'ADVANCED':\n return project.app_access_level == 'ADVANCED' || project.app_access_level == 'ADMIN'\n case 'STANDARD':\n return project.app_access_level == 'STANDARD' || project.app_access_level == 'ADVANCED' || \n project.app_access_level == 'ADMIN'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n}\n\nexport const robotCloudPermissionsHelper: RobotCloudPermissionsHelper = new RobotCloudPermissionsHelperImpl()"],"mappings":"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","names":["axios","logger","i","import_axios","logger","axios"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/robotCloudApi.ts","../src/config.ts","../src/utils/logger.ts","../src/robotCloudClient.ts","../src/helpers/robotCloudToken.ts","../src/client/services/room-clime-1.mock.ts","../src/client/services/room-guest-status-1.mock.ts","../src/client/services/air-quality-1.mock.ts","../src/client/services/room-consumes-1.ts","../src/helpers/robotCloudPermissionsHelper.ts"],"sourcesContent":["import robotcloudApi from \"robotCloudApi\"\nimport clientConfig from \"config\"\n\nexport * as robotcloudClient from \"robotCloudClient\"\nexport * as robotCloudToken from \"helpers/robotCloudToken\"\n\nexport * from \"client/services\"\nexport * from \"config\"\n\nexport * from \"helpers\"\nexport {\n robotcloudApi,\n clientConfig\n}\n\nexport type * from \"../types/ProjectClassifer\"\nexport type * from \"../types/ProjectTag\"\nexport type * from \"../types/RobotCloudClient\"\nexport type * from \"../types/services\"\nexport type * from \"../types/services-configuration\"\nexport type * from \"../types/services-data\"\nexport type * from \"../types/ServiceInstance\"\nexport type * from \"../types/ServiceInstanceRead\"\nexport type * from \"../types/Token\"\n","import axios from \"axios\"\nimport clientConfig from \"config\";\nimport { useLogger } from 'utils/logger';\n\nconst logger = useLogger(\"robotcloud-api\")\n\nconst robotcloudApi = axios.create();\n\nlet checkTokenPromise: Promise<string | undefined> | null = null;\nconst clearPromise = () => checkTokenPromise = null;\n\nasync function refreshToken(checkToken: () => Promise<string | undefined>) {\n const access_token = await checkToken();\n return access_token;\n}\n\n \n// Important to add interceptor once, inside a middleware are stacked in each request.\nrobotcloudApi.interceptors.request.use(\n async config => {\n logger.info(\"robotcloud api interceptor:\", config.url)\n if (!checkTokenPromise) {\n checkTokenPromise = refreshToken(clientConfig.checkToken).finally(clearPromise);\n }\n\n // When other request is checking token wait for it\n const token = await checkTokenPromise;\n if (!token) {\n return config\n }\n\n config.headers.authorization = `Bearer ${token}`;\n return config;\n },\n error => {\n logger.error(error)\n Promise.reject(error)\n });\n\nexport default robotcloudApi;\n","import robotcloudApi from \"robotCloudApi\";\n\nexport class RobotCloudClientConfig {\n private _baseUrl?: string;\n private _checkToken = async (): Promise<string> => { return ''}\n \n public tokenMinutesBeforeExpirationRenew: number = 20;\n \n\n set baseURL(value: string){\n robotcloudApi.defaults.baseURL = value\n this._baseUrl = value\n }\n \n get baseUrl(): string | undefined {\n return this._baseUrl\n }\n\n set checkToken(fun: () => Promise<string>) {\n this._checkToken = fun\n }\n\n get checkToken(): () => Promise<string> {\n return this._checkToken\n }\n}\n\nconst clientConfig = new RobotCloudClientConfig()\nexport default clientConfig","import { createConsola } from \"consola\";\nimport type { ConsolaOptions } from 'consola';\n\nexport function useLogger (tag?: string, options: Partial<ConsolaOptions> = { level: 1000 }) {\n return tag ? createConsola(options).withTag(tag) : createConsola(options)\n}","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from 'utils/logger';\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n LocationServiceInstancesRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, \n ProjectRequestParams, ProjectTagRequestParams, RobotCloudDeviceDetails, RobotCloudNamedItem, \n RobotCloudProject, RobotCloudProjectDetails, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, \n RoomGrouping1DataEventValue, \n RoomGrouping1InstanceDeviceConfig,\n ServiceInstancesRequestParams, \n SubsystemRequestParams\n} from \"../types/RobotCloudClient\";\nimport { RobotCloudServiceInstance, ServiceInstanceDetails } from \"../types/ServiceInstance\";\nimport { Classifier, ClassifierDetails, ProjectClassifiersRequestParams } from \"../types/ProjectClassifer\";\nimport { ProjectTag, ProjectTagTreeNode, ProjectTagsTree } from \"../types/ProjectTag\";\nimport { ServiceDataMeasurement, ServiceDataRequestParams } from \"../types/services\";\n\n\nconst logger = useLogger(\"robotcloud-client\")\n\n\n\ninterface RobotCloudLocationDetails {\n id: string;\n name: string;\n description: string;\n project: string;\n tags: string[]\n}\n\nexport const getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/locations/${locId}/services/${service_type}/instances`, {\n params,\n });\n}\n\n\n// USERS ENDPOINTS\nexport const getUser = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserDetails>> => {\n return robotcloudApi.get<RobotCloudUserDetails>(`users/${username}`);\n };\n\n// PROJECT ENDPOINTS\nexport const getProjects = (\n params?: ProjectRequestParams\n): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params\n });\n};\n\nexport const getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n};\n\n// PROJECT SUBSYSTEMS ENDPOINTS\n\nexport const getProjectSubsystem = (\n prjId: string,\n subsysId: string\n) => {\n return robotcloudApi.get<RobotCloudNamedItem>(`projects/${prjId}/subsystems/${subsysId}`);\n}\n\nexport const getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`projects/${prjId}/locations`, {\n params,\n });\n};\n\nexport const getLocation = (\n locationId: string\n): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(`locations/${locationId}`, { });\n};\n\nexport const getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(`projects/${prjId}/services/${service_type}/instances`, {\n params,\n });\n}\n\nexport const getServiceInstance = (\n prjId: string,\n service_type: string,\n service_id: string\n) => {\n return robotcloudApi.get<ServiceInstanceDetails>(`projects/${prjId}/services/${service_type}/instances/${service_id}`);\n}\n\nexport const getProjectClassifiers = (\n prjId: string,\n params?: ProjectClassifiersRequestParams\n): Promise<AxiosResponse<Classifier[]>> => {\n logger.info(`Get project ${prjId} classifiers`)\n return robotcloudApi.get<Classifier[]>(`projects/${prjId}/classifiers`, {\n params,\n });\n}\n\nexport const getClassifier = (\n classifierId: string\n) => {\n return robotcloudApi.get<ClassifierDetails>(`classifiers/${classifierId}`);\n}\n\nexport const getTags = (\n prjId: string,\n params?: ProjectTagRequestParams\n): Promise<AxiosResponse<ProjectTag[]>> => {\n logger.info(`Get project ${prjId} tags`)\n return robotcloudApi.get<ProjectTag[]>(`projects/${prjId}/tags`, {\n params,\n });\n};\n\nexport const getTagsTree = async (\n prjId: string,\n maxDepth: number = 2,\n params?: ProjectTagRequestParams\n): Promise<ProjectTagsTree> => {\n logger.info(`Get project ${prjId} tags tree`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = true;\n\n const tags = await getTagsChildren(prjId, 0, undefined, undefined, maxDepth)\n return {root: tags} as ProjectTagsTree;\n};\n\nexport const getTagsChildren = async (\n prjId: string,\n level: number = 0,\n parent_id?: string,\n params?: ProjectTagRequestParams,\n maxDepth?: number\n): Promise<ProjectTagTreeNode[]> => {\n logger.debug(`Get project ${prjId} tags children: ${parent_id}`)\n if (!params) {\n params = {} as ProjectTagRequestParams \n }\n params.no_parent = !parent_id;\n params.parent_tag = parent_id;\n\n const tags = await getTags(prjId, params)\n if (tags.data.length == 0) {\n return [];\n }\n \n const response: ProjectTagTreeNode[] = []\n const requests: any[] = []\n for (let i = 0; i < tags.data.length; i++) {\n const element = tags.data[i]\n const node = {\n tag: element\n } as ProjectTagTreeNode;\n response.push(node)\n if (maxDepth && level < maxDepth) {\n requests.push(\n getTagsChildren(prjId, level + 1, element.id, params, maxDepth)\n )\n }\n }\n\n const responses = await Promise.all(requests)\n let i = 0;\n responses.forEach(element => {\n response[i].children = element\n i++\n });\n \n return response;\n\n}\n\n/* PROJECT DEVICES ENDPOINTS */\nexport const getDeviceDetails = (\n deviceId: string,\n): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n}\n\n/* SERVICES ENDPOINTS */\nexport const getProjectServiceTypes = (\n prjId: string,\n params?: SubsystemRequestParams\n): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(`projects/${prjId}/services`, {\n params,\n });\n}\n/* SERVICES INSTANCES DATA ENDPOINTS */\n\nexport const getRoomGrouping1ServiceData = (\n prjId: string,\n params?: ServiceDataRequestParams\n): Promise<AxiosResponse<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGrouping1DataEventValue>[]>(\n `/projects/${prjId}/services/RoomGrouping_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n}\n\n/* SERVICES INSTANCES DEVICE INGORMATION ENDPOINTS */\n\n\nexport const getRoomGrouping1InstanceDeviceConfig = (\n prjId: string,\n instanceId: string,\n): Promise<AxiosResponse<RoomGrouping1InstanceDeviceConfig>> => {\n return robotcloudApi.put<RoomGrouping1InstanceDeviceConfig>(\n `/projects/${prjId}/services/RoomGrouping_1/instances/${instanceId}/configuration`\n )\n}\n","import axios from \"axios\";\nimport { useLogger } from 'utils/logger';\nimport robotcloudApi from \"robotCloudApi\";\nimport { CheckTokenResponse, RobotCloudJWTPayload } from \"../../types/Token\";\nimport clientConfig from \"config\";\n\nconst logger = useLogger(\"robotcloud-token\")\n\n\nfunction parseJwt(token: string) {\n if (!token) {\n return;\n }\n return JSON.parse(atob(token.split('.')[1])); \n}\n\nexport interface RobotCloudNewTokenResponse {\n access: string;\n renew: string;\n}\n\nexport const decodeToken = (token: string): RobotCloudJWTPayload | undefined => {\n const payload = parseJwt(token);\n if (!payload) {\n return undefined\n }\n\n return payload as RobotCloudJWTPayload;\n};\n\nexport const isTokenExpired = (payload: RobotCloudJWTPayload): boolean => {\n const expirationDate = new Date(payload.exp * 1000);\n expirationDate.setMinutes(\n expirationDate.getMinutes() - clientConfig.tokenMinutesBeforeExpirationRenew\n );\n const currentDate = new Date();\n return currentDate >= expirationDate;\n};\n\nexport const renewToken = async (\n renew_token: string\n): Promise<CheckTokenResponse> => {\n logger.debug(\"Renewing token ...\");\n const cloudUrl = robotcloudApi.defaults.baseURL\n const { data } = await axios.get(cloudUrl + \"login/renew\", {\n headers: {\n Authorization: `Bearer ${renew_token}`,\n },\n });\n\n return {\n renewed: true,\n access: data[\"access\"][\"token\"],\n renew: data[\"renew\"][\"token\"],\n } as CheckTokenResponse;\n};\n\nexport const validateToken = async (\n access_token: string\n): Promise<boolean> => {\n logger.debug(\"Validate token ...\");\n const payload = decodeToken(access_token)\n if (!payload) {\n return false\n }\n const cloudUrl = robotcloudApi.defaults.baseURL\n try {\n const { data } = await axios.get(\n cloudUrl + `users/${payload.sub}`,\n {\n headers: {\n Authorization: `Bearer ${access_token}`,\n },\n }\n ); \n } catch (error) {\n if (axios.isAxiosError(error)) {\n logger.warn(`${error.message}: ${error.response?.data?.message ?? ''}`)\n } else {\n logger.warn(error)\n }\n return false;\n }\n\n return true\n};\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n RoomClime1AlertEventValue,\n ServiceInstanceDataRequestParams, \n} from \"../../../types/RobotCloudClient\";\nimport { \n ServiceDataMeasurement, ServiceDataRequestParams, ServiceInstanceHistoricParams, ServiceTypeClient,\n HistoricAggregateFunction,\n ServiceInstanceHistoricAggregateParams\n} from \"../../../types/services\";\nimport { RoomClime1Data } from \"../../../types/services-data\";\nimport { RoomClimeConfigurationParams } from \"../../../types/services-configuration\";\n\n\nclass RoomClimeClient implements ServiceTypeClient< RoomClime1AlertEventValue, \n RoomClime1Data, \n RoomClimeConfigurationParams> {\n\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1AlertEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomClime1AlertEventValue>[]>(\n `/projects/${prjId}/services/RoomClime_1/alert`,\n {\n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getData (\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomClime1Data>[]>(\n `/projects/${prjId}/services/RoomClime_1/data`,\n {\n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceConfiguration (\n prjId: string,\n instanceId: string\n ): Promise<AxiosResponse<RoomClimeConfigurationParams>> {\n return robotcloudApi.get<RoomClimeConfigurationParams>(\n `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/configuration`\n )\n }\n\n putInstanceConfiguration (\n prjId: string,\n instanceId: string,\n data: RoomClimeConfigurationParams\n ): Promise<AxiosResponse<RoomClimeConfigurationParams>> {\n return robotcloudApi.put<RoomClimeConfigurationParams>(\n `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/configuration`,\n data\n )\n }\n getInstanceData (\n prjId: string,\n instanceId: string,\n params?: ServiceInstanceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomClime1Data>> (\n `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/data`,\n { \n params\n }\n )\n }\n\n getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>> {\n return new Promise((resolve, reject) => {\n fetch('./mock-historic-clime-data-sample.json')\n .then((response) => response.json())\n .then((json) => resolve({\n data: json\n } as AxiosResponse)\n );\n })\n }\n\n getInstanceHistoricAggregate(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n aggFunction: HistoricAggregateFunction,\n periode: string,\n params: ServiceInstanceHistoricAggregateParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomClime1Data>[]>> {\n return new Promise((resolve, reject) => {\n fetch(`./mock-historic-agg-${periode}-${aggFunction}-clime-data-sample.json`)\n .then((response) => response.json())\n .then((json) => resolve({\n data: json\n } as AxiosResponse)\n );\n })\n }\n}\n\n\nexport const roomClimeClient = new RoomClimeClient()","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n HistoricAggregateFunction,\n RoomGuestStatus1AlertEventValue,\n RoomGuestStatus1EventValue,\n RoomGuestStatusInstanceConfigParams,\n ServiceDataMeasurement, \n ServiceDataRequestParams, \n ServiceInstanceHistoricAggregateParams, \n ServiceInstanceHistoricParams, \n ServiceTypeClient \n} from \"../../../types/services\";\nimport { ServiceInstanceDataRequestParams } from \"../../../types/RobotCloudClient\";\n\nclass RoomGuestStatusClient implements ServiceTypeClient< RoomGuestStatus1AlertEventValue, \n RoomGuestStatus1EventValue, \n RoomGuestStatusInstanceConfigParams> {\n\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1AlertEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1AlertEventValue>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_1/alert`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getData (\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceConfiguration (\n prjId: string,\n instanceId: string\n ): Promise<AxiosResponse<RoomGuestStatusInstanceConfigParams>> {\n return robotcloudApi.get<RoomGuestStatusInstanceConfigParams>(\n `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/configuration`\n )\n }\n\n putInstanceConfiguration (\n prjId: string,\n instanceId: string,\n data: RoomGuestStatusInstanceConfigParams\n ): Promise<AxiosResponse<RoomGuestStatusInstanceConfigParams>> {\n return robotcloudApi.put<RoomGuestStatusInstanceConfigParams>(\n `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/configuration`,\n data\n )\n }\n\n getInstanceData = (\n prjId: string,\n instanceId: string,\n params?: ServiceInstanceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1EventValue>>(\n `/projects/${prjId}/services/RoomConsumes_1/instances/${instanceId}/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>> {\n return new Promise((resolve, reject) => {\n fetch('./mock-historic-guest-status-data-sample.json')\n .then((response) => response.json())\n .then((json) => resolve({\n data: json\n } as AxiosResponse)\n );\n })\n }\n\n getInstanceHistoricAggregate(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n aggFunction: HistoricAggregateFunction,\n periode: string,\n params: ServiceInstanceHistoricAggregateParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>> {\n // return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1EventValue>[]>(\n // `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/historic/data/aggregate`, {\n // params: {\n // start_time: startTime,\n // end_time: endTime,\n // function: aggFunction,\n // periode,\n // ...params\n // }\n // }\n // )\n\n return new Promise((resolve, reject) => {\n fetch(`./mock-historic-agg-${periode}-${aggFunction}-guest-status-data-sample.json`)\n .then((response) => response.json())\n .then((json) => resolve({\n data: json\n } as AxiosResponse)\n );\n })\n }\n}\n\nexport const roomGuestStatusClient = new RoomGuestStatusClient()","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n AirQuality1AlertEventValue, AirQuality1DataEventValue, HistoricAggregateFunction, ServiceDataMeasurement, \n ServiceDataRequestParams, \n ServiceInstanceHistoricAggregateParams, \n ServiceInstanceHistoricParams, \n ServiceTypeClient \n} from \"../../../types/services\";\nimport { ServiceInstanceDataRequestParams } from \"../../../types/RobotCloudClient\";\n\nclass AirQualityClient implements ServiceTypeClient<AirQuality1AlertEventValue, \n AirQuality1DataEventValue,\n any> {\n\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1AlertEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<AirQuality1AlertEventValue>[]>(\n `/projects/${prjId}/services/AirQuality_1/alert`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getData (\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<AirQuality1DataEventValue>[]>(\n `/projects/${prjId}/services/AirQuality_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceConfiguration<T> (\n prjId: string,\n instanceId: string\n ): Promise<AxiosResponse<T>> {\n throw Error(\"Not implemented method\")\n }\n \n getInstanceData(prjId: string, instanceId: string, params?: ServiceInstanceDataRequestParams): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>>> {\n return robotcloudApi.get<ServiceDataMeasurement<AirQuality1DataEventValue>>(\n `/projects/${prjId}/services/AirQuality_1/instances/${instanceId}/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n putInstanceConfiguration<T> (\n prjId: string,\n instanceId: string,\n data: T\n ): Promise<AxiosResponse<T>> {\n throw Error(\"Not implemented method\")\n }\n\n getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<AirQuality1DataEventValue>[]>(\n `/projects/${prjId}/services/AirQuality_1/instances/${instanceId}/configuration`, {\n params: {\n start_time: startTime,\n end_time: endTime,\n ...params\n }\n }\n )\n }\n\n getInstanceHistoricAggregate(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n aggFunction: HistoricAggregateFunction,\n periode: string,\n params: ServiceInstanceHistoricAggregateParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>> {\n // throw Error(\"Not implemented method\")\n return new Promise((resolve, reject) => {\n fetch(`./mock-historic-agg-${periode}-${aggFunction}-air-quality-data-sample.json`)\n .then((response) => response.json())\n .then((json) => resolve({\n data: json,\n status: 200\n } as AxiosResponse)\n );\n })\n }\n}\n\n\nexport const airQualityClient = new AirQualityClient()","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { \n HistoricAggregateFunction, ServiceDataMeasurement, ServiceDataRequestParams, \n ServiceInstanceHistoricAggregateParams, ServiceInstanceHistoricParams, \n ServiceTypeClient \n} from \"../../../types/services\";\nimport { \n RoomConsumes1AlertEventValue, ServiceInstanceDataRequestParams \n} from \"../../../types/RobotCloudClient\";\nimport { RoomConsumes1Data } from \"../../../types/services-data\";\n\nclass RoomConsumesClient implements ServiceTypeClient<RoomConsumes1AlertEventValue, \n RoomConsumes1Data,\n any> {\n\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]>(\n `/projects/${prjId}/services/RoomConsumes_1/alert`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getData (\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1Data>[]>(\n `/projects/${prjId}/services/RoomConsumes_1/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceConfiguration<T> (\n prjId: string,\n instanceId: string\n ): Promise<AxiosResponse<T>> {\n throw Error(\"Not implemented method\")\n }\n\n putInstanceConfiguration<T> (\n prjId: string,\n instanceId: string,\n data: T\n ): Promise<AxiosResponse<T>> {\n throw Error(\"Not implemented method\")\n }\n\n getInstanceData = (\n prjId: string,\n instanceId: string,\n params?: ServiceInstanceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1Data>>(\n `/projects/${prjId}/services/RoomConsumes_1/instances/${instanceId}/data`,\n { \n params,\n headers: {\n \"Accept\": 'application/json'\n }\n }\n )\n }\n\n getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomConsumes1Data>[]>(\n `/projects/${prjId}/services/RoomConsumes_1/instances/${instanceId}/configuration`, {\n params: {\n start_time: startTime,\n end_time: endTime,\n ...params\n }\n }\n )\n }\n\n getInstanceHistoricAggregate(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n aggFunction: HistoricAggregateFunction,\n periode: string,\n params: ServiceInstanceHistoricAggregateParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomConsumes1Data>[]>> {\n throw Error(\"Not implemented method\")\n }\n}\n\n\nexport const roomConsumesClient = new RoomConsumesClient()","import * as robotCloudClient from \"robotCloudClient\";\nimport { RobotCloudPermissionsHelper } from \"../../types/helpers\";\nimport { \n AppAccessLevel, \n ProjectAccessLevel, \n RobotCloudProjectDetails \n} from \"../../types/RobotCloudClient\";\n\n/**\n * Helper of robotcloud permissions\n * \n * > IMPORTANT! Don't place here any important logic. Only functions that might be used in frontend.\n */\nclass RobotCloudPermissionsHelperImpl implements RobotCloudPermissionsHelper {\n\n public async checkProjectAccess(prjId: string, required_project_access: ProjectAccessLevel): Promise<boolean> {\n\n const { data: project} = await robotCloudClient.getProjectDetails(prjId)\n if (project.access_level == required_project_access) {\n return true\n }\n \n return this.hasAccessLevel(project, required_project_access)\n }\n\n public hasAccessLevel(project: RobotCloudProjectDetails, required_project_access: ProjectAccessLevel) {\n\n switch (required_project_access) {\n case 'ADVANCED':\n return project.access_level == 'ADVANCED'\n case 'BASIC':\n return project.access_level == 'BASIC' || project.access_level == 'ADVANCED'\n case 'RESTRICTED':\n return project.access_level == 'RESTRICTED' || project.access_level == 'BASIC' || \n project.access_level == 'ADVANCED'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n\n public hasAppAccessLevel(project: RobotCloudProjectDetails, required_application_access: AppAccessLevel): boolean {\n switch (required_application_access) {\n case 'ADMIN':\n return project.app_access_level == 'ADMIN'\n case 'ADVANCED':\n return project.app_access_level == 'ADVANCED' || project.app_access_level == 'ADMIN'\n case 'STANDARD':\n return project.app_access_level == 'STANDARD' || project.app_access_level == 'ADVANCED' || \n project.app_access_level == 'ADMIN'\n case 'BLOCKED':\n return true \n default:\n return false\n }\n }\n}\n\nexport const robotCloudPermissionsHelper: RobotCloudPermissionsHelper = new RobotCloudPermissionsHelperImpl()"],"mappings":"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","names":["axios","logger","i","import_axios","logger","axios"]}