@robotbas/robotcloud-client 0.2.12 → 0.2.14

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.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as axios from 'axios';
2
2
  import { AxiosResponse } from 'axios';
3
- import { R as RegimState, T as TemperatureUnit, S as ServiceInstanceConfigClient, a as ServiceTypeClient, b as RoomClime1AlertEventValue, c as ServiceDataRequestParams, d as ServiceDataMeasurement, e as ServiceInstanceDataRequestParams, f as ServiceInstanceHistoricParams, H as HistoricAggregateFunction, g as ServiceInstanceHistoricAggregateParams, h as RoomGuestStatus1AlertEventValue, A as AirQuality1AlertEventValue, i as AirQuality1DataEventValue, j as RoomConsumes1AlertEventValue, P as ProjectClassifiersRequestParams, k as RobotCloudDeviceDetails, l as RobotCloudNamedItem, m as RobotCloudServiceType, L as LocationServiceInstancesRequestParams, n as ProjectLocationsRequestParams, o as ProjectsRequestParams, p as RobotCloudProject, q as ProjectDetailsRequestParams, r as RobotCloudProjectDetails, s as SubsystemRequestParams, t as RobotCloudServiceTypeDetails, u as ServiceInstancesRequestParams, v as RobotCloudUserSimple, w as AlertLogsListRequestParams, x as AlertAggregatedLogsRequestParams, y as RobotCloudOrganizationDetails, z as RobotCloudUserDetails, B as RobotCloudUserProject } from './index-DZXjO-__.mjs';
4
- export { W as AppAccessLevel, O as BaseFullPaginableRequestParams, X as FancoilSpeedState, Z as MeasurementStatus, U as OrganizationAccessLevel, K as PaginableRequestParams, V as ProjectAccessLevel, J as ProjectTag, Q as ProjectTagRequestParams, G as ProjectTagTreeNode, I as ProjectTagsTree, F as RobotCloudPermissionsHelper, Y as RobotCloudUserAppAccess, _ as ServiceInstanceRead, M as SortableListRequestParams, N as SubsystemTagsRequestParams, E as robotCloudPermissionsHelper, C as tagsClient, D as tagsHelper } from './index-DZXjO-__.mjs';
3
+ import { R as RegimState, T as TemperatureUnit, S as ServiceInstanceConfigClient, a as ServiceTypeClient, b as RoomClime1AlertEventValue, c as ServiceDataRequestParams, d as ServiceDataMeasurement, e as ServiceInstanceDataRequestParams, f as ServiceInstanceHistoricParams, H as HistoricAggregateFunction, g as ServiceInstanceHistoricAggregateParams, h as RoomGuestStatus1AlertEventValue, A as AirQuality1AlertEventValue, i as AirQuality1DataEventValue, j as RoomConsumes1AlertEventValue, P as ProjectClassifiersRequestParams, k as RobotCloudNamedItem, l as RobotCloudDeviceDetails, m as RobotCloudServiceType, L as LocationServiceInstancesRequestParams, n as ProjectLocationsRequestParams, o as ProjectsRequestParams, p as RobotCloudProject, q as ProjectDetailsRequestParams, r as RobotCloudProjectDetails, s as SubsystemRequestParams, t as RobotCloudServiceTypeDetails, u as ServiceInstancesRequestParams, v as RobotCloudDescribedItem, w as RobotCloudUserSimple, x as AlertLogsListRequestParams, y as AlertAggregatedLogsRequestParams, z as RobotCloudOrganizationDetails, B as RobotCloudUserDetails, C as RobotCloudUserProject } from './index-DFFwH6QP.mjs';
4
+ export { Y as AppAccessLevel, U as BaseFullPaginableRequestParams, Z as FancoilSpeedState, $ as MeasurementStatus, W as OrganizationAccessLevel, N as PaginableRequestParams, X as ProjectAccessLevel, K as ProjectTag, M as ProjectTagDetails, V as ProjectTagRequestParams, I as ProjectTagTreeNode, J as ProjectTagsTree, G as RobotCloudPermissionsHelper, _ as RobotCloudUserAppAccess, a0 as ServiceInstanceRead, O as SortableListRequestParams, Q as SubsystemTagsRequestParams, F as robotCloudPermissionsHelper, D as tagsClient, E as tagsHelper } from './index-DFFwH6QP.mjs';
5
5
 
6
6
  declare const robotcloudApi: axios.AxiosInstance;
7
7
 
@@ -232,16 +232,23 @@ declare class ClassifiersClient {
232
232
  declare const classifiersClient: ClassifiersClient;
233
233
 
234
234
  declare class DevicesClient {
235
+ getProjectDevices: (projectId: string) => Promise<AxiosResponse<RobotCloudNamedItem[]>>;
235
236
  getDeviceDetails: (deviceId: string) => Promise<AxiosResponse<RobotCloudDeviceDetails>>;
236
237
  }
237
238
  declare const devicesClient: DevicesClient;
238
239
 
240
+ interface ServiceInstanceDevicesInfo {
241
+ device: string;
242
+ index?: number;
243
+ }
244
+
239
245
  interface RobotCloudServiceInstance extends RobotCloudNamedItem {
240
- service: string;
246
+ service: string;
241
247
  }
242
-
248
+
243
249
  interface ServiceInstanceDetails extends RobotCloudServiceInstance {
244
250
  description: string;
251
+ location: string;
245
252
  tags: string[];
246
253
  subsystems: string[];
247
254
  classifier: string;
@@ -271,11 +278,13 @@ declare const projectsClient: ProjectsClient;
271
278
  declare class ServiceInstancesClient {
272
279
  getServiceInstances: (prjId: string, service_type: string, params?: ServiceInstancesRequestParams) => Promise<AxiosResponse<RobotCloudServiceInstance[]>>;
273
280
  getServiceInstance: (prjId: string, service_type: string, service_id: string) => Promise<AxiosResponse<ServiceInstanceDetails, any, {}>>;
281
+ getServiceInstanceDevicesInfo: (prjId: string, service_type: string, service_id: string) => Promise<AxiosResponse<Record<string, ServiceInstanceDevicesInfo>, any, {}>>;
274
282
  }
275
283
  declare const serviceInstancesClient: ServiceInstancesClient;
276
284
 
277
285
  declare class SubsystemsClient {
278
- getProjectSubsystem: (prjId: string, subsysId: string) => Promise<axios.AxiosResponse<RobotCloudNamedItem, any, {}>>;
286
+ getProjectSubsystems: (prjId: string) => Promise<axios.AxiosResponse<RobotCloudDescribedItem, any, {}>>;
287
+ getProjectSubsystem: (prjId: string, subsysId: string) => Promise<axios.AxiosResponse<RobotCloudDescribedItem, any, {}>>;
279
288
  }
280
289
  declare const subsystemsClient: SubsystemsClient;
281
290
 
@@ -345,4 +354,4 @@ declare class UsersClient {
345
354
  }
346
355
  declare const usersClient: UsersClient;
347
356
 
348
- export { AirQuality1AlertEventValue, AirQuality1DataEventValue, AlertAggregatedLogsRequestParams, type AlertLogLine, AlertLogsListRequestParams, type AlertsClient, type AlertsLogsAggregated, type AlertsLogsStats, type CheckTokenResponse, type Classifier, type ClassifierDetails, HistoricAggregateFunction, LocationServiceInstancesRequestParams, ProjectClassifiersRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, ProjectsRequestParams, RegimState, RobotCloudClientConfig, RobotCloudDeviceDetails, type RobotCloudJWTPayload, RobotCloudNamedItem, RobotCloudOrganizationDetails, RobotCloudProject, RobotCloudProjectDetails, type RobotCloudServiceInstance, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, RobotCloudUserProject, RobotCloudUserSimple, RoomClime1AlertEventValue, type RoomClime1Data, type RoomClimeAlertsKeys, RoomClimeClient, type RoomClimeConfigurationParams, RoomConsumes1AlertEventValue, type RoomConsumes1Data, type RoomGrouping1DataEventValue, type RoomGrouping1InstanceDeviceConfig, RoomGuestStatus1AlertEventValue, type RoomGuestStatus1Data, type RoomGuestStatusConfigurationParams, ServiceDataMeasurement, ServiceDataRequestParams, ServiceInstanceConfigClient, ServiceInstanceDataRequestParams, type ServiceInstanceDetails, type ServiceInstanceDeviceConfig, ServiceInstanceHistoricAggregateParams, ServiceInstanceHistoricParams, ServiceInstancesRequestParams, ServiceTypeClient, SubsystemRequestParams, TemperatureUnit, airQualityClient, alertsClient, classifiersClient, clientConfig, devicesClient, locationsClient, organizationsClient, projectsClient, robotCloudToken, robotcloudApi, roomClimeClient, roomConsumesClient, roomGuestStatusClient, serviceInstancesClient, subsystemsClient, usersClient };
357
+ export { AirQuality1AlertEventValue, AirQuality1DataEventValue, AlertAggregatedLogsRequestParams, type AlertLogLine, AlertLogsListRequestParams, type AlertsClient, type AlertsLogsAggregated, type AlertsLogsStats, type CheckTokenResponse, type Classifier, type ClassifierDetails, HistoricAggregateFunction, LocationServiceInstancesRequestParams, ProjectClassifiersRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, ProjectsRequestParams, RegimState, RobotCloudClientConfig, RobotCloudDescribedItem, RobotCloudDeviceDetails, type RobotCloudJWTPayload, RobotCloudNamedItem, RobotCloudOrganizationDetails, RobotCloudProject, RobotCloudProjectDetails, type RobotCloudServiceInstance, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, RobotCloudUserProject, RobotCloudUserSimple, RoomClime1AlertEventValue, type RoomClime1Data, type RoomClimeAlertsKeys, RoomClimeClient, type RoomClimeConfigurationParams, RoomConsumes1AlertEventValue, type RoomConsumes1Data, type RoomGrouping1DataEventValue, type RoomGrouping1InstanceDeviceConfig, RoomGuestStatus1AlertEventValue, type RoomGuestStatus1Data, type RoomGuestStatusConfigurationParams, ServiceDataMeasurement, ServiceDataRequestParams, ServiceInstanceConfigClient, ServiceInstanceDataRequestParams, type ServiceInstanceDetails, type ServiceInstanceDeviceConfig, type ServiceInstanceDevicesInfo, ServiceInstanceHistoricAggregateParams, ServiceInstanceHistoricParams, ServiceInstancesRequestParams, ServiceTypeClient, SubsystemRequestParams, TemperatureUnit, airQualityClient, alertsClient, classifiersClient, clientConfig, devicesClient, locationsClient, organizationsClient, projectsClient, robotCloudToken, robotcloudApi, roomClimeClient, roomConsumesClient, roomGuestStatusClient, serviceInstancesClient, subsystemsClient, usersClient };
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, T as TemperatureUnit, S as ServiceInstanceConfigClient, a as ServiceTypeClient, b as RoomClime1AlertEventValue, c as ServiceDataRequestParams, d as ServiceDataMeasurement, e as ServiceInstanceDataRequestParams, f as ServiceInstanceHistoricParams, H as HistoricAggregateFunction, g as ServiceInstanceHistoricAggregateParams, h as RoomGuestStatus1AlertEventValue, A as AirQuality1AlertEventValue, i as AirQuality1DataEventValue, j as RoomConsumes1AlertEventValue, P as ProjectClassifiersRequestParams, k as RobotCloudDeviceDetails, l as RobotCloudNamedItem, m as RobotCloudServiceType, L as LocationServiceInstancesRequestParams, n as ProjectLocationsRequestParams, o as ProjectsRequestParams, p as RobotCloudProject, q as ProjectDetailsRequestParams, r as RobotCloudProjectDetails, s as SubsystemRequestParams, t as RobotCloudServiceTypeDetails, u as ServiceInstancesRequestParams, v as RobotCloudUserSimple, w as AlertLogsListRequestParams, x as AlertAggregatedLogsRequestParams, y as RobotCloudOrganizationDetails, z as RobotCloudUserDetails, B as RobotCloudUserProject } from './index-DZXjO-__.js';
4
- export { W as AppAccessLevel, O as BaseFullPaginableRequestParams, X as FancoilSpeedState, Z as MeasurementStatus, U as OrganizationAccessLevel, K as PaginableRequestParams, V as ProjectAccessLevel, J as ProjectTag, Q as ProjectTagRequestParams, G as ProjectTagTreeNode, I as ProjectTagsTree, F as RobotCloudPermissionsHelper, Y as RobotCloudUserAppAccess, _ as ServiceInstanceRead, M as SortableListRequestParams, N as SubsystemTagsRequestParams, E as robotCloudPermissionsHelper, C as tagsClient, D as tagsHelper } from './index-DZXjO-__.js';
3
+ import { R as RegimState, T as TemperatureUnit, S as ServiceInstanceConfigClient, a as ServiceTypeClient, b as RoomClime1AlertEventValue, c as ServiceDataRequestParams, d as ServiceDataMeasurement, e as ServiceInstanceDataRequestParams, f as ServiceInstanceHistoricParams, H as HistoricAggregateFunction, g as ServiceInstanceHistoricAggregateParams, h as RoomGuestStatus1AlertEventValue, A as AirQuality1AlertEventValue, i as AirQuality1DataEventValue, j as RoomConsumes1AlertEventValue, P as ProjectClassifiersRequestParams, k as RobotCloudNamedItem, l as RobotCloudDeviceDetails, m as RobotCloudServiceType, L as LocationServiceInstancesRequestParams, n as ProjectLocationsRequestParams, o as ProjectsRequestParams, p as RobotCloudProject, q as ProjectDetailsRequestParams, r as RobotCloudProjectDetails, s as SubsystemRequestParams, t as RobotCloudServiceTypeDetails, u as ServiceInstancesRequestParams, v as RobotCloudDescribedItem, w as RobotCloudUserSimple, x as AlertLogsListRequestParams, y as AlertAggregatedLogsRequestParams, z as RobotCloudOrganizationDetails, B as RobotCloudUserDetails, C as RobotCloudUserProject } from './index-DFFwH6QP.js';
4
+ export { Y as AppAccessLevel, U as BaseFullPaginableRequestParams, Z as FancoilSpeedState, $ as MeasurementStatus, W as OrganizationAccessLevel, N as PaginableRequestParams, X as ProjectAccessLevel, K as ProjectTag, M as ProjectTagDetails, V as ProjectTagRequestParams, I as ProjectTagTreeNode, J as ProjectTagsTree, G as RobotCloudPermissionsHelper, _ as RobotCloudUserAppAccess, a0 as ServiceInstanceRead, O as SortableListRequestParams, Q as SubsystemTagsRequestParams, F as robotCloudPermissionsHelper, D as tagsClient, E as tagsHelper } from './index-DFFwH6QP.js';
5
5
 
6
6
  declare const robotcloudApi: axios.AxiosInstance;
7
7
 
@@ -232,16 +232,23 @@ declare class ClassifiersClient {
232
232
  declare const classifiersClient: ClassifiersClient;
233
233
 
234
234
  declare class DevicesClient {
235
+ getProjectDevices: (projectId: string) => Promise<AxiosResponse<RobotCloudNamedItem[]>>;
235
236
  getDeviceDetails: (deviceId: string) => Promise<AxiosResponse<RobotCloudDeviceDetails>>;
236
237
  }
237
238
  declare const devicesClient: DevicesClient;
238
239
 
240
+ interface ServiceInstanceDevicesInfo {
241
+ device: string;
242
+ index?: number;
243
+ }
244
+
239
245
  interface RobotCloudServiceInstance extends RobotCloudNamedItem {
240
- service: string;
246
+ service: string;
241
247
  }
242
-
248
+
243
249
  interface ServiceInstanceDetails extends RobotCloudServiceInstance {
244
250
  description: string;
251
+ location: string;
245
252
  tags: string[];
246
253
  subsystems: string[];
247
254
  classifier: string;
@@ -271,11 +278,13 @@ declare const projectsClient: ProjectsClient;
271
278
  declare class ServiceInstancesClient {
272
279
  getServiceInstances: (prjId: string, service_type: string, params?: ServiceInstancesRequestParams) => Promise<AxiosResponse<RobotCloudServiceInstance[]>>;
273
280
  getServiceInstance: (prjId: string, service_type: string, service_id: string) => Promise<AxiosResponse<ServiceInstanceDetails, any, {}>>;
281
+ getServiceInstanceDevicesInfo: (prjId: string, service_type: string, service_id: string) => Promise<AxiosResponse<Record<string, ServiceInstanceDevicesInfo>, any, {}>>;
274
282
  }
275
283
  declare const serviceInstancesClient: ServiceInstancesClient;
276
284
 
277
285
  declare class SubsystemsClient {
278
- getProjectSubsystem: (prjId: string, subsysId: string) => Promise<axios.AxiosResponse<RobotCloudNamedItem, any, {}>>;
286
+ getProjectSubsystems: (prjId: string) => Promise<axios.AxiosResponse<RobotCloudDescribedItem, any, {}>>;
287
+ getProjectSubsystem: (prjId: string, subsysId: string) => Promise<axios.AxiosResponse<RobotCloudDescribedItem, any, {}>>;
279
288
  }
280
289
  declare const subsystemsClient: SubsystemsClient;
281
290
 
@@ -345,4 +354,4 @@ declare class UsersClient {
345
354
  }
346
355
  declare const usersClient: UsersClient;
347
356
 
348
- export { AirQuality1AlertEventValue, AirQuality1DataEventValue, AlertAggregatedLogsRequestParams, type AlertLogLine, AlertLogsListRequestParams, type AlertsClient, type AlertsLogsAggregated, type AlertsLogsStats, type CheckTokenResponse, type Classifier, type ClassifierDetails, HistoricAggregateFunction, LocationServiceInstancesRequestParams, ProjectClassifiersRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, ProjectsRequestParams, RegimState, RobotCloudClientConfig, RobotCloudDeviceDetails, type RobotCloudJWTPayload, RobotCloudNamedItem, RobotCloudOrganizationDetails, RobotCloudProject, RobotCloudProjectDetails, type RobotCloudServiceInstance, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, RobotCloudUserProject, RobotCloudUserSimple, RoomClime1AlertEventValue, type RoomClime1Data, type RoomClimeAlertsKeys, RoomClimeClient, type RoomClimeConfigurationParams, RoomConsumes1AlertEventValue, type RoomConsumes1Data, type RoomGrouping1DataEventValue, type RoomGrouping1InstanceDeviceConfig, RoomGuestStatus1AlertEventValue, type RoomGuestStatus1Data, type RoomGuestStatusConfigurationParams, ServiceDataMeasurement, ServiceDataRequestParams, ServiceInstanceConfigClient, ServiceInstanceDataRequestParams, type ServiceInstanceDetails, type ServiceInstanceDeviceConfig, ServiceInstanceHistoricAggregateParams, ServiceInstanceHistoricParams, ServiceInstancesRequestParams, ServiceTypeClient, SubsystemRequestParams, TemperatureUnit, airQualityClient, alertsClient, classifiersClient, clientConfig, devicesClient, locationsClient, organizationsClient, projectsClient, robotCloudToken, robotcloudApi, roomClimeClient, roomConsumesClient, roomGuestStatusClient, serviceInstancesClient, subsystemsClient, usersClient };
357
+ export { AirQuality1AlertEventValue, AirQuality1DataEventValue, AlertAggregatedLogsRequestParams, type AlertLogLine, AlertLogsListRequestParams, type AlertsClient, type AlertsLogsAggregated, type AlertsLogsStats, type CheckTokenResponse, type Classifier, type ClassifierDetails, HistoricAggregateFunction, LocationServiceInstancesRequestParams, ProjectClassifiersRequestParams, ProjectDetailsRequestParams, ProjectLocationsRequestParams, ProjectsRequestParams, RegimState, RobotCloudClientConfig, RobotCloudDescribedItem, RobotCloudDeviceDetails, type RobotCloudJWTPayload, RobotCloudNamedItem, RobotCloudOrganizationDetails, RobotCloudProject, RobotCloudProjectDetails, type RobotCloudServiceInstance, RobotCloudServiceType, RobotCloudServiceTypeDetails, RobotCloudUserDetails, RobotCloudUserProject, RobotCloudUserSimple, RoomClime1AlertEventValue, type RoomClime1Data, type RoomClimeAlertsKeys, RoomClimeClient, type RoomClimeConfigurationParams, RoomConsumes1AlertEventValue, type RoomConsumes1Data, type RoomGrouping1DataEventValue, type RoomGrouping1InstanceDeviceConfig, RoomGuestStatus1AlertEventValue, type RoomGuestStatus1Data, type RoomGuestStatusConfigurationParams, ServiceDataMeasurement, ServiceDataRequestParams, ServiceInstanceConfigClient, ServiceInstanceDataRequestParams, type ServiceInstanceDetails, type ServiceInstanceDeviceConfig, type ServiceInstanceDevicesInfo, ServiceInstanceHistoricAggregateParams, ServiceInstanceHistoricParams, ServiceInstancesRequestParams, ServiceTypeClient, SubsystemRequestParams, TemperatureUnit, airQualityClient, alertsClient, classifiersClient, clientConfig, devicesClient, locationsClient, organizationsClient, projectsClient, robotCloudToken, robotcloudApi, roomClimeClient, roomConsumesClient, roomGuestStatusClient, serviceInstancesClient, subsystemsClient, usersClient };
package/dist/index.js CHANGED
@@ -506,6 +506,9 @@ var classifiersClient = new ClassifiersClient();
506
506
  var logger4 = useLogger("devices-client");
507
507
  var DevicesClient = class {
508
508
  constructor() {
509
+ this.getProjectDevices = (projectId) => {
510
+ return robotCloudApi_default.get(`projects/${projectId}/devices`);
511
+ };
509
512
  this.getDeviceDetails = (deviceId) => {
510
513
  return robotCloudApi_default.get(`devices/${deviceId}`);
511
514
  };
@@ -584,6 +587,9 @@ var ServiceInstancesClient = class {
584
587
  `projects/${prjId}/services/${service_type}/instances/${service_id}`
585
588
  );
586
589
  };
590
+ this.getServiceInstanceDevicesInfo = (prjId, service_type, service_id) => {
591
+ return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${service_id}/deviceconf`);
592
+ };
587
593
  }
588
594
  };
589
595
  var serviceInstancesClient = new ServiceInstancesClient();
@@ -591,6 +597,11 @@ var serviceInstancesClient = new ServiceInstancesClient();
591
597
  // src/client/projects/subsystems.ts
592
598
  var SubsystemsClient = class {
593
599
  constructor() {
600
+ this.getProjectSubsystems = (prjId) => {
601
+ return robotCloudApi_default.get(
602
+ `projects/${prjId}/subsystems`
603
+ );
604
+ };
594
605
  this.getProjectSubsystem = (prjId, subsysId) => {
595
606
  return robotCloudApi_default.get(
596
607
  `projects/${prjId}/subsystems/${subsysId}`
@@ -610,6 +621,10 @@ var TagsClient = class {
610
621
  params
611
622
  });
612
623
  };
624
+ this.getTag = (prjId, tagId) => {
625
+ logger6.info(`Get project ${prjId} tag ${tagId}`);
626
+ return robotCloudApi_default.get(`tags/${tagId}`);
627
+ };
613
628
  }
614
629
  };
615
630
  var tagsClient = new TagsClient();
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/helpers/robotCloudToken.ts","../src/client/services/generics.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/client/projects/classifiers.ts","../src/client/projects/devices.ts","../src/client/projects/locations.ts","../src/client/projects/projects.ts","../src/client/projects/service-instances.ts","../src/client/projects/subsystems.ts","../src/client/projects/tags.ts","../src/client/alerts.ts","../src/client/organizations.ts","../src/client/users.ts","../src/helpers/tags.ts","../src/helpers/robotCloudPermissionsHelper.ts","../src/helpers/index.ts"],"sourcesContent":["import robotcloudApi from \"robotCloudApi\"\nimport clientConfig from \"config\"\n\nexport * as robotCloudToken from \"helpers/robotCloudToken\"\n\nexport * from \"client/services\"\nexport * from \"client/projects\"\nexport * from \"client/alerts\"\nexport * from \"client/organizations\"\nexport * from \"client/users\"\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/request-params\"\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 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 needRenew = (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 isExpired = (payload: RobotCloudJWTPayload): boolean => {\n const expirationDate = new Date(payload.exp * 1000);\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\";\r\n\r\nimport robotcloudApi from \"robotCloudApi\";\r\nimport { ServiceInstanceConfigClient } from \"../../../types/services\";\r\n\r\n////\r\n// Alert status interfaces\r\n////\r\n\r\nexport interface ServiceTypeAlertStatusResponse<T extends string> {\r\n instance: string;\r\n time_mark: string;\r\n alert_status: Record<T, ServiceTypeAlertStatus>;\r\n}\r\nexport interface ServiceTypeAlertStatus {\r\n acknowledged: boolean;\r\n ack_time: string;\r\n ack_user: string; // username\r\n active_time: string;\r\n deactive_time: string;\r\n activation_count: number;\r\n}\r\n\r\n\r\nexport class GenericInstanceConfigClient<T> implements ServiceInstanceConfigClient<T> {\r\n private readonly serviceName: string;\r\n\r\n constructor(serviceName: string) {\r\n this.serviceName = serviceName;\r\n }\r\n\r\n get(\r\n project_id: string,\r\n instance_id: string\r\n ): Promise<AxiosResponse<T>> {\r\n return robotcloudApi.get<T>(\r\n `/projects/${project_id}/services/${this.serviceName}/instances/${instance_id}/configuration`\r\n );\r\n }\r\n\r\n put(\r\n project_id: string,\r\n instance_id: string,\r\n new_config: T\r\n ): Promise<AxiosResponse<T>> {\r\n return robotcloudApi.put<T>(\r\n `/projects/${project_id}/services/${this.serviceName}/instances/${instance_id}/configuration`,\r\n new_config\r\n );\r\n }\r\n}\r\n\r\n// export interface ServiceInstanceConfigClient<T> {\r\n// getAll(): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>>;\r\n// get(instance_id: string): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>>;\r\n// put(instance_id: string, status: Record<T, boolean>): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>>;\r\n// }\r\n// export class GenericInstanceConfigClient<T extends string>\r\n// implements ServiceInstanceConfigClient<T>\r\n// {\r\n// private readonly serviceName: string;\r\n\r\n// constructor(serviceName: string) {\r\n// this.serviceName = serviceName;\r\n// }\r\n// getAll(\r\n// ): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>> {\r\n// return robotcloudApi.get<ServiceTypeAlertStatusResponse<T>>(\r\n// `/services/${this.serviceName}/alertstatus`\r\n// );\r\n// }\r\n\r\n// get(\r\n// instance_id: string\r\n// ): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>> {\r\n// return robotcloudApi.get<ServiceTypeAlertStatusResponse<T>>(\r\n// `/services/${this.serviceName}/instances/${instance_id}/alertstatus`\r\n// );\r\n// }\r\n\r\n// put(\r\n// instance_id: string,\r\n// status: Record<T, boolean>\r\n// ): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>> {\r\n// return robotcloudApi.put<ServiceTypeAlertStatusResponse<T>>(\r\n// `/services/${this.serviceName}/instances/${instance_id}/alertstatus`,\r\n// { status }\r\n// );\r\n// }\r\n// }","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { RoomClime1AlertEventValue } from \"../../../types/RobotCloudClient\";\nimport {\n ServiceDataMeasurement,\n ServiceTypeClient,\n HistoricAggregateFunction,\n} from \"../../../types/services\";\nimport { RoomClime1Data } from \"../../../types/services-data\";\nimport { RoomClimeConfigurationParams } from \"../../../types/services-configuration\";\nimport { GenericInstanceConfigClient } from \"./generics\";\nimport {\n ServiceDataRequestParams,\n ServiceInstanceDataRequestParams,\n ServiceInstanceHistoricAggregateParams,\n ServiceInstanceHistoricParams,\n} from \"../../../types/request-params\";\n\nexport type RoomClimeAlertsKeys =\n | \"high_temperature\"\n | \"low_temperature\"\n | \"high_humidity\"\n | \"fancoil_on_overtime\";\n\nexport class RoomClimeConfigClient extends GenericInstanceConfigClient<RoomClimeConfigurationParams> {\n constructor() {\n super(\"RoomClime_1\");\n }\n}\n\nexport class RoomClimeClient\n implements ServiceTypeClient<RoomClime1AlertEventValue, RoomClime1Data>\n{\n private _configurationClient: RoomClimeConfigClient;\n get configuration() {\n return this._configurationClient;\n }\n constructor() {\n this._configurationClient = new RoomClimeConfigClient();\n }\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<RoomClime1AlertEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<RoomClime1AlertEventValue>[]\n >(`/projects/${prjId}/services/RoomClime_1/alert`, {\n params,\n headers: {\n Accept: \"application/json\",\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 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 robotcloudApi.get<ServiceDataMeasurement<RoomClime1Data>[]>(\n `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/historic/data`,\n {\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 {\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 roomClimeClient = new RoomClimeClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n HistoricAggregateFunction,\n RoomGuestStatus1AlertEventValue,\n ServiceDataMeasurement,\n ServiceTypeClient,\n} from \"../../../types/services\";\nimport { RoomGuestStatus1Data } from \"../../../types/services-data\";\nimport { RoomGuestStatusConfigurationParams } from \"../../../types/services-configuration\";\nimport { GenericInstanceConfigClient } from \"./generics\";\nimport {\n ServiceDataRequestParams,\n ServiceInstanceDataRequestParams,\n ServiceInstanceHistoricAggregateParams,\n ServiceInstanceHistoricParams,\n} from \"../../../types/request-params\";\n\nexport class RoomGuestStatusConfigClient extends GenericInstanceConfigClient<RoomGuestStatusConfigurationParams> {\n constructor() {\n super(\"RoomGuestStatus_1\");\n }\n}\n\nclass RoomGuestStatusClient\n implements\n ServiceTypeClient<RoomGuestStatus1AlertEventValue, RoomGuestStatus1Data>\n{\n private _configurationClient: RoomGuestStatusConfigClient;\n get configuration() {\n return this._configurationClient;\n }\n constructor() {\n this._configurationClient = new RoomGuestStatusConfigClient();\n }\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1AlertEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<RoomGuestStatus1AlertEventValue>[]\n >(`/projects/${prjId}/services/RoomGuestStatus_1/alert`, {\n params,\n headers: {\n Accept: \"application/json\",\n },\n });\n }\n\n getData(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1Data>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_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<RoomGuestStatus1Data>>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1Data>>(\n `/projects/${prjId}/services/RoomGuestStatus_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<RoomGuestStatus1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1Data>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/historic/data`,\n {\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<RoomGuestStatus1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1Data>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/historic/data/aggregate`,\n {\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();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n AirQuality1AlertEventValue,\n AirQuality1DataEventValue,\n HistoricAggregateFunction,\n ServiceDataMeasurement,\n ServiceTypeClient,\n} from \"../../../types/services\";\nimport {\n ServiceDataRequestParams,\n ServiceInstanceDataRequestParams,\n ServiceInstanceHistoricAggregateParams,\n ServiceInstanceHistoricParams,\n} from \"../../../types/request-params\";\nimport { GenericInstanceConfigClient } from \"./generics\";\n\nexport class AirQualityConfigClient extends GenericInstanceConfigClient<any> {\n constructor() {\n super(\"AirQuality_1\");\n }\n}\n\nclass AirQualityClient\n implements\n ServiceTypeClient<AirQuality1AlertEventValue, AirQuality1DataEventValue>\n{\n private _configurationClient: AirQualityConfigClient;\n get configuration() {\n return this._configurationClient;\n }\n constructor() {\n this._configurationClient = new AirQualityConfigClient();\n }\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<AirQuality1AlertEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<AirQuality1AlertEventValue>[]\n >(`/projects/${prjId}/services/AirQuality_1/alert`, {\n params,\n headers: {\n Accept: \"application/json\",\n },\n });\n }\n\n getData(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<AirQuality1DataEventValue>[]\n >(`/projects/${prjId}/services/AirQuality_1/data`, {\n params,\n headers: {\n Accept: \"application/json\",\n },\n });\n }\n\n getInstanceData(\n prjId: string,\n instanceId: string,\n params?: ServiceInstanceDataRequestParams\n ): 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 getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<AirQuality1DataEventValue>[]\n >(\n `/projects/${prjId}/services/AirQuality_1/instances/${instanceId}/configuration`,\n {\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<\n AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<AirQuality1DataEventValue>[]\n >(\n `/projects/${prjId}/services/AirQuality_1/instances/${instanceId}/historic/data/aggregate`,\n {\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 airQualityClient = new AirQualityClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n HistoricAggregateFunction,\n ServiceDataMeasurement,\n ServiceTypeClient,\n} from \"../../../types/services\";\nimport { RoomConsumes1AlertEventValue } from \"../../../types/RobotCloudClient\";\nimport { RoomConsumes1Data } from \"../../../types/services-data\";\nimport { GenericInstanceConfigClient } from \"./generics\";\nimport {\n ServiceDataRequestParams,\n ServiceInstanceDataRequestParams,\n ServiceInstanceHistoricAggregateParams,\n ServiceInstanceHistoricParams,\n} from \"../../../types/request-params\";\n\nexport class RoomConsumesConfigClient extends GenericInstanceConfigClient<any> {\n constructor() {\n super(\"RoomConsumes_1\");\n }\n}\n\nclass RoomConsumesClient\n implements ServiceTypeClient<RoomConsumes1AlertEventValue, RoomConsumes1Data>\n{\n private _configurationClient: RoomConsumesConfigClient;\n get configuration() {\n return this._configurationClient;\n }\n constructor() {\n this._configurationClient = new RoomConsumesConfigClient();\n }\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]\n >(`/projects/${prjId}/services/RoomConsumes_1/alert`, {\n params,\n headers: {\n Accept: \"application/json\",\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 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 {\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\nexport const roomConsumesClient = new RoomConsumesClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n Classifier,\n ClassifierDetails\n} from \"../../../types/ProjectClassifer\";\nimport { ProjectClassifiersRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"classifiers-client\");\n\nclass ClassifiersClient {\n 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\n getClassifier = (classifierId: string) => {\n return robotcloudApi.get<ClassifierDetails>(`classifiers/${classifierId}`);\n };\n}\n\nexport const classifiersClient = new ClassifiersClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport { RobotCloudDeviceDetails } from \"../../../types/RobotCloudClient\";\n\nconst logger = useLogger(\"devices-client\");\n\nclass DevicesClient {\n getDeviceDetails = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n };\n}\n\nexport const devicesClient = new DevicesClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudNamedItem,\n RobotCloudServiceType,\n} from \"../../../types/RobotCloudClient\";\nimport {\n RobotCloudServiceInstance\n} from \"../../../types/ServiceInstance\";\nimport { LocationServiceInstancesRequestParams, ProjectLocationsRequestParams } from \"../../../types/request-params\";\n\ninterface RobotCloudLocationDetails {\n id: string;\n name: string;\n description: string;\n project: string;\n tags: string[];\n}\n\nclass LocationsClient {\n getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(\n `projects/${prjId}/locations`,\n {\n params,\n }\n );\n };\n\n getLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(\n `locations/${locationId}`,\n {}\n );\n };\n}\n\nexport const locationsClient = new LocationsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudProject,\n RobotCloudProjectDetails,\n RobotCloudServiceTypeDetails,\n} from \"../../../types/RobotCloudClient\";\nimport {\n ProjectDetailsRequestParams,\n ProjectsRequestParams,\n SubsystemRequestParams,\n} from \"../../../types/request-params\";\n\nclass ProjectsClient {\n getProjects = (\n params?: ProjectsRequestParams\n ): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params,\n });\n };\n\n getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n };\n\n getProjectServiceTypes = (\n prjId: string,\n params?: SubsystemRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(\n `projects/${prjId}/services`,\n {\n params,\n }\n );\n };\n}\nexport const projectsClient = new ProjectsClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudServiceInstance,\n ServiceInstanceDetails,\n} from \"../../../types/ServiceInstance\";\nimport { ServiceInstancesRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nclass ServiceInstancesClient {\n getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n getServiceInstance = (\n prjId: string,\n service_type: string,\n service_id: string\n ) => {\n return robotcloudApi.get<ServiceInstanceDetails>(\n `projects/${prjId}/services/${service_type}/instances/${service_id}`\n );\n };\n}\n\nexport const serviceInstancesClient = new ServiceInstancesClient();\n\n","import robotcloudApi from \"robotCloudApi\";\n\nimport { RobotCloudNamedItem } from \"../../../types/RobotCloudClient\";\n\nclass SubsystemsClient {\n getProjectSubsystem = (prjId: string, subsysId: string) => {\n return robotcloudApi.get<RobotCloudNamedItem>(\n `projects/${prjId}/subsystems/${subsysId}`\n );\n };\n}\nexport const subsystemsClient = new SubsystemsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n ProjectTag,\n} from \"../../../types/ProjectTag\";\nimport { ProjectTagRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nexport class TagsClient {\n 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}\n\nexport const tagsClient = new TagsClient();\n","import robotcloudApi from \"@/robotCloudApi\";\r\nimport { AxiosInstance, AxiosResponse } from \"axios\";\r\nimport {\r\n RobotCloudNamedItem,\r\n RobotCloudUserSimple,\r\n} from \"../../types/RobotCloudClient\";\r\nimport { AlertAggregatedLogsRequestParams, AlertLogsListRequestParams } from \"../../types/request-params\";\r\nimport { useLogger } from \"utils/logger\";\r\n\r\nexport interface AlertsLogsStats {\r\n total: number;\r\n active: number;\r\n noack: number;\r\n active_noack: number;\r\n}\r\n\r\nexport interface AlertLogLine {\r\n id: string;\r\n service: string;\r\n instance: string;\r\n location: RobotCloudNamedItem;\r\n classifier: RobotCloudNamedItem;\r\n alert_name: string;\r\n acknowledged: boolean;\r\n ack_time: string;\r\n ack_user: RobotCloudUserSimple;\r\n active: boolean;\r\n active_time: string;\r\n deactive_time: string;\r\n}\r\n\r\ninterface AlertsLogsList {\r\n total_size: number;\r\n initial_index: number;\r\n alerts: AlertLogLine[];\r\n}\r\n\r\ninterface AlertsLogsAggregatedAlertRecord {\r\n periode_start: string,\r\n periode_end: string,\r\n activation_count: number,\r\n active_seconds: number\r\n}\r\n\r\ninterface AlertsLogsAggregatedAlert {\r\n service: string;\r\n alert_name: string;\r\n aggregates: AlertsLogsAggregatedAlertRecord[];\r\n}\r\n\r\nexport interface AlertsLogsAggregated {\r\n alerts: AlertsLogsAggregatedAlert[];\r\n}\r\n\r\ninterface AlertLogAckItem {\r\n id: string;\r\n acknowledged: boolean;\r\n}\r\n\r\ninterface AlertLogAckAlerts {\r\n alerts: AlertLogAckItem[];\r\n}\r\n\r\nexport interface AlertsClient {\r\n getProjectStats(projectId: string): Promise<AxiosResponse<AlertsLogsStats>>;\r\n\r\n getProjectLog(\r\n projectId: string,\r\n params: AlertLogsListRequestParams\r\n ): Promise<AxiosResponse<AlertsLogsList>>;\r\n\r\n acknowledge(\r\n projectId: string,\r\n data: AlertLogAckAlerts\r\n ): Promise<AxiosResponse<AlertsLogsList>>;\r\n\r\n getAggregatedLogs(\r\n projectId: string,\r\n params: AlertAggregatedLogsRequestParams\r\n ): Promise<AxiosResponse<AlertsLogsAggregated>>;\r\n}\r\n\r\nclass AlertsClientImpl implements AlertsClient {\r\n private robotcloudApi: AxiosInstance;\r\n private logger = useLogger('AlertsClientImpl')\r\n\r\n constructor(robotcloudApi: AxiosInstance) {\r\n this.robotcloudApi = robotcloudApi;\r\n }\r\n\r\n getProjectStats(projectId: string): Promise<AxiosResponse<AlertsLogsStats>> {\r\n return this.robotcloudApi.get<AlertsLogsStats>(\r\n `projects/${projectId}/alerts/stats`\r\n );\r\n }\r\n\r\n getProjectLog(\r\n projectId: string,\r\n params: AlertLogsListRequestParams\r\n ): Promise<AxiosResponse<AlertsLogsList>> {\r\n return this.robotcloudApi.get<AlertsLogsList>(\r\n `projects/${projectId}/alerts/log`,\r\n {\r\n params,\r\n }\r\n );\r\n }\r\n\r\n acknowledge(\r\n projectId: string,\r\n data: AlertLogAckAlerts\r\n ): Promise<AxiosResponse<AlertsLogsList>> {\r\n this.logger.debug(\"Sending put data: \", data);\r\n return this.robotcloudApi.put<AlertsLogsList, AxiosResponse<AlertsLogsList, AlertLogAckAlerts>, AlertLogAckAlerts>(\r\n `projects/${projectId}/alerts/log`,\r\n data\r\n );\r\n }\r\n\r\n getAggregatedLogs(\r\n projectId: string,\r\n params: AlertAggregatedLogsRequestParams\r\n ): Promise<AxiosResponse<AlertsLogsAggregated>> {\r\n return this.robotcloudApi.get<AlertsLogsAggregated>(\r\n `projects/${projectId}/alerts/aggregate`,\r\n { params }\r\n );\r\n }\r\n}\r\n\r\nexport const alertsClient: AlertsClient = new AlertsClientImpl(robotcloudApi);\r\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudOrganizationDetails,\n RobotCloudProject,\n} from \"../../types/RobotCloudClient\";\n\nclass OrganizationsClient {\n getOrganization = (\n organizationId: string\n ): Promise<AxiosResponse<RobotCloudOrganizationDetails>> => {\n return robotcloudApi.get<RobotCloudOrganizationDetails>(\n `organizations/${organizationId}`\n );\n };\n\n getOrganizationProjects = (\n organizationId: string\n ): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\n `organizations/${organizationId}/projects`\n );\n };\n}\n\nexport const organizationsClient = new OrganizationsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudUserDetails, \n RobotCloudUserProject, \n} from \"../../types/RobotCloudClient\";\n\nclass UsersClient {\n getUser = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserDetails>> => {\n return robotcloudApi.get<RobotCloudUserDetails>(`users/${username}`);\n };\n\n getUserProjects = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserProject[]>> => {\n return robotcloudApi.get<RobotCloudUserProject[]>(\n `users/${username}/projects`\n );\n };\n}\n\nexport const usersClient = new UsersClient();\n","import { useLogger } from \"utils/logger\";;\nimport { TagsClient } from '../client/projects/tags';\nimport {\n ProjectTagTreeNode,\n ProjectTagsTree,\n} from \"../../types/ProjectTag\";\nimport { ProjectTagRequestParams } from \"../../types/request-params\";\n\nconst logger = useLogger(\"tags-helper\");\n\nexport class TagsHelper {\n private tagsClient: TagsClient;\n\n constructor(tagsClient: TagsClient) {\n this.tagsClient = tagsClient;\n }\n\n public 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 this.getTagsChildren(\n prjId,\n 0,\n undefined,\n undefined,\n maxDepth\n );\n return { root: tags } as ProjectTagsTree;\n };\n\n public 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 this.tagsClient.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 this.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","import { projectsClient } from \"client/projects\";\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 projectsClient.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()","import { tagsClient } from \"client/projects\";\nimport { TagsHelper } from \"helpers/tags\";\n\n\nconst tagsHelper = new TagsHelper(tagsClient)\n\nexport {\n tagsHelper\n}\nexport { robotCloudPermissionsHelper } from \"helpers/robotCloudPermissionsHelper\";\nexport type * from \"../../types/helpers\";"],"mappings":"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","names":["axios","import_axios","logger","axios","logger","logger","logger","logger","robotcloudApi","logger","tagsClient","i"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/robotCloudApi.ts","../src/config.ts","../src/utils/logger.ts","../src/helpers/robotCloudToken.ts","../src/client/services/generics.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/client/projects/classifiers.ts","../src/client/projects/devices.ts","../src/client/projects/locations.ts","../src/client/projects/projects.ts","../src/client/projects/service-instances.ts","../src/client/projects/subsystems.ts","../src/client/projects/tags.ts","../src/client/alerts.ts","../src/client/organizations.ts","../src/client/users.ts","../src/helpers/tags.ts","../src/helpers/robotCloudPermissionsHelper.ts","../src/helpers/index.ts"],"sourcesContent":["import robotcloudApi from \"robotCloudApi\"\nimport clientConfig from \"config\"\n\nexport * as robotCloudToken from \"helpers/robotCloudToken\"\n\nexport * from \"client/services\"\nexport * from \"client/projects\"\nexport * from \"client/alerts\"\nexport * from \"client/organizations\"\nexport * from \"client/users\"\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/request-params\"\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 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 needRenew = (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 isExpired = (payload: RobotCloudJWTPayload): boolean => {\n const expirationDate = new Date(payload.exp * 1000);\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\";\r\n\r\nimport robotcloudApi from \"robotCloudApi\";\r\nimport { ServiceInstanceConfigClient } from \"../../../types/services\";\r\n\r\n////\r\n// Alert status interfaces\r\n////\r\n\r\nexport interface ServiceTypeAlertStatusResponse<T extends string> {\r\n instance: string;\r\n time_mark: string;\r\n alert_status: Record<T, ServiceTypeAlertStatus>;\r\n}\r\nexport interface ServiceTypeAlertStatus {\r\n acknowledged: boolean;\r\n ack_time: string;\r\n ack_user: string; // username\r\n active_time: string;\r\n deactive_time: string;\r\n activation_count: number;\r\n}\r\n\r\n\r\nexport class GenericInstanceConfigClient<T> implements ServiceInstanceConfigClient<T> {\r\n private readonly serviceName: string;\r\n\r\n constructor(serviceName: string) {\r\n this.serviceName = serviceName;\r\n }\r\n\r\n get(\r\n project_id: string,\r\n instance_id: string\r\n ): Promise<AxiosResponse<T>> {\r\n return robotcloudApi.get<T>(\r\n `/projects/${project_id}/services/${this.serviceName}/instances/${instance_id}/configuration`\r\n );\r\n }\r\n\r\n put(\r\n project_id: string,\r\n instance_id: string,\r\n new_config: T\r\n ): Promise<AxiosResponse<T>> {\r\n return robotcloudApi.put<T>(\r\n `/projects/${project_id}/services/${this.serviceName}/instances/${instance_id}/configuration`,\r\n new_config\r\n );\r\n }\r\n}\r\n\r\n// export interface ServiceInstanceConfigClient<T> {\r\n// getAll(): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>>;\r\n// get(instance_id: string): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>>;\r\n// put(instance_id: string, status: Record<T, boolean>): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>>;\r\n// }\r\n// export class GenericInstanceConfigClient<T extends string>\r\n// implements ServiceInstanceConfigClient<T>\r\n// {\r\n// private readonly serviceName: string;\r\n\r\n// constructor(serviceName: string) {\r\n// this.serviceName = serviceName;\r\n// }\r\n// getAll(\r\n// ): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>> {\r\n// return robotcloudApi.get<ServiceTypeAlertStatusResponse<T>>(\r\n// `/services/${this.serviceName}/alertstatus`\r\n// );\r\n// }\r\n\r\n// get(\r\n// instance_id: string\r\n// ): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>> {\r\n// return robotcloudApi.get<ServiceTypeAlertStatusResponse<T>>(\r\n// `/services/${this.serviceName}/instances/${instance_id}/alertstatus`\r\n// );\r\n// }\r\n\r\n// put(\r\n// instance_id: string,\r\n// status: Record<T, boolean>\r\n// ): Promise<AxiosResponse<ServiceTypeAlertStatusResponse<T>>> {\r\n// return robotcloudApi.put<ServiceTypeAlertStatusResponse<T>>(\r\n// `/services/${this.serviceName}/instances/${instance_id}/alertstatus`,\r\n// { status }\r\n// );\r\n// }\r\n// }","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport { RoomClime1AlertEventValue } from \"../../../types/RobotCloudClient\";\nimport {\n ServiceDataMeasurement,\n ServiceTypeClient,\n HistoricAggregateFunction,\n} from \"../../../types/services\";\nimport { RoomClime1Data } from \"../../../types/services-data\";\nimport { RoomClimeConfigurationParams } from \"../../../types/services-configuration\";\nimport { GenericInstanceConfigClient } from \"./generics\";\nimport {\n ServiceDataRequestParams,\n ServiceInstanceDataRequestParams,\n ServiceInstanceHistoricAggregateParams,\n ServiceInstanceHistoricParams,\n} from \"../../../types/request-params\";\n\nexport type RoomClimeAlertsKeys =\n | \"high_temperature\"\n | \"low_temperature\"\n | \"high_humidity\"\n | \"fancoil_on_overtime\";\n\nexport class RoomClimeConfigClient extends GenericInstanceConfigClient<RoomClimeConfigurationParams> {\n constructor() {\n super(\"RoomClime_1\");\n }\n}\n\nexport class RoomClimeClient\n implements ServiceTypeClient<RoomClime1AlertEventValue, RoomClime1Data>\n{\n private _configurationClient: RoomClimeConfigClient;\n get configuration() {\n return this._configurationClient;\n }\n constructor() {\n this._configurationClient = new RoomClimeConfigClient();\n }\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<RoomClime1AlertEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<RoomClime1AlertEventValue>[]\n >(`/projects/${prjId}/services/RoomClime_1/alert`, {\n params,\n headers: {\n Accept: \"application/json\",\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 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 robotcloudApi.get<ServiceDataMeasurement<RoomClime1Data>[]>(\n `/projects/${prjId}/services/RoomClime_1/instances/${instanceId}/historic/data`,\n {\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 {\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 roomClimeClient = new RoomClimeClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n HistoricAggregateFunction,\n RoomGuestStatus1AlertEventValue,\n ServiceDataMeasurement,\n ServiceTypeClient,\n} from \"../../../types/services\";\nimport { RoomGuestStatus1Data } from \"../../../types/services-data\";\nimport { RoomGuestStatusConfigurationParams } from \"../../../types/services-configuration\";\nimport { GenericInstanceConfigClient } from \"./generics\";\nimport {\n ServiceDataRequestParams,\n ServiceInstanceDataRequestParams,\n ServiceInstanceHistoricAggregateParams,\n ServiceInstanceHistoricParams,\n} from \"../../../types/request-params\";\n\nexport class RoomGuestStatusConfigClient extends GenericInstanceConfigClient<RoomGuestStatusConfigurationParams> {\n constructor() {\n super(\"RoomGuestStatus_1\");\n }\n}\n\nclass RoomGuestStatusClient\n implements\n ServiceTypeClient<RoomGuestStatus1AlertEventValue, RoomGuestStatus1Data>\n{\n private _configurationClient: RoomGuestStatusConfigClient;\n get configuration() {\n return this._configurationClient;\n }\n constructor() {\n this._configurationClient = new RoomGuestStatusConfigClient();\n }\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1AlertEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<RoomGuestStatus1AlertEventValue>[]\n >(`/projects/${prjId}/services/RoomGuestStatus_1/alert`, {\n params,\n headers: {\n Accept: \"application/json\",\n },\n });\n }\n\n getData(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<AxiosResponse<ServiceDataMeasurement<RoomGuestStatus1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1Data>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_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<RoomGuestStatus1Data>>> => {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1Data>>(\n `/projects/${prjId}/services/RoomGuestStatus_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<RoomGuestStatus1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1Data>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/historic/data`,\n {\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<RoomGuestStatus1Data>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<RoomGuestStatus1Data>[]>(\n `/projects/${prjId}/services/RoomGuestStatus_1/instances/${instanceId}/historic/data/aggregate`,\n {\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();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n AirQuality1AlertEventValue,\n AirQuality1DataEventValue,\n HistoricAggregateFunction,\n ServiceDataMeasurement,\n ServiceTypeClient,\n} from \"../../../types/services\";\nimport {\n ServiceDataRequestParams,\n ServiceInstanceDataRequestParams,\n ServiceInstanceHistoricAggregateParams,\n ServiceInstanceHistoricParams,\n} from \"../../../types/request-params\";\nimport { GenericInstanceConfigClient } from \"./generics\";\n\nexport class AirQualityConfigClient extends GenericInstanceConfigClient<any> {\n constructor() {\n super(\"AirQuality_1\");\n }\n}\n\nclass AirQualityClient\n implements\n ServiceTypeClient<AirQuality1AlertEventValue, AirQuality1DataEventValue>\n{\n private _configurationClient: AirQualityConfigClient;\n get configuration() {\n return this._configurationClient;\n }\n constructor() {\n this._configurationClient = new AirQualityConfigClient();\n }\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<AirQuality1AlertEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<AirQuality1AlertEventValue>[]\n >(`/projects/${prjId}/services/AirQuality_1/alert`, {\n params,\n headers: {\n Accept: \"application/json\",\n },\n });\n }\n\n getData(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<AirQuality1DataEventValue>[]\n >(`/projects/${prjId}/services/AirQuality_1/data`, {\n params,\n headers: {\n Accept: \"application/json\",\n },\n });\n }\n\n getInstanceData(\n prjId: string,\n instanceId: string,\n params?: ServiceInstanceDataRequestParams\n ): 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 getInstanceHistoric(\n prjId: string,\n instanceId: string,\n startTime: Date,\n endTime: Date,\n params: ServiceInstanceHistoricParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<AirQuality1DataEventValue>[]\n >(\n `/projects/${prjId}/services/AirQuality_1/instances/${instanceId}/configuration`,\n {\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<\n AxiosResponse<ServiceDataMeasurement<AirQuality1DataEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<AirQuality1DataEventValue>[]\n >(\n `/projects/${prjId}/services/AirQuality_1/instances/${instanceId}/historic/data/aggregate`,\n {\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 airQualityClient = new AirQualityClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n HistoricAggregateFunction,\n ServiceDataMeasurement,\n ServiceTypeClient,\n} from \"../../../types/services\";\nimport { RoomConsumes1AlertEventValue } from \"../../../types/RobotCloudClient\";\nimport { RoomConsumes1Data } from \"../../../types/services-data\";\nimport { GenericInstanceConfigClient } from \"./generics\";\nimport {\n ServiceDataRequestParams,\n ServiceInstanceDataRequestParams,\n ServiceInstanceHistoricAggregateParams,\n ServiceInstanceHistoricParams,\n} from \"../../../types/request-params\";\n\nexport class RoomConsumesConfigClient extends GenericInstanceConfigClient<any> {\n constructor() {\n super(\"RoomConsumes_1\");\n }\n}\n\nclass RoomConsumesClient\n implements ServiceTypeClient<RoomConsumes1AlertEventValue, RoomConsumes1Data>\n{\n private _configurationClient: RoomConsumesConfigClient;\n get configuration() {\n return this._configurationClient;\n }\n constructor() {\n this._configurationClient = new RoomConsumesConfigClient();\n }\n getAlerts(\n prjId: string,\n params?: ServiceDataRequestParams\n ): Promise<\n AxiosResponse<ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]>\n > {\n return robotcloudApi.get<\n ServiceDataMeasurement<RoomConsumes1AlertEventValue>[]\n >(`/projects/${prjId}/services/RoomConsumes_1/alert`, {\n params,\n headers: {\n Accept: \"application/json\",\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 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 {\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\nexport const roomConsumesClient = new RoomConsumesClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n Classifier,\n ClassifierDetails\n} from \"../../../types/ProjectClassifer\";\nimport { ProjectClassifiersRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"classifiers-client\");\n\nclass ClassifiersClient {\n 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\n getClassifier = (classifierId: string) => {\n return robotcloudApi.get<ClassifierDetails>(`classifiers/${classifierId}`);\n };\n}\n\nexport const classifiersClient = new ClassifiersClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport { RobotCloudDeviceDetails, RobotCloudNamedItem } from \"../../../types/RobotCloudClient\";\n\nconst logger = useLogger(\"devices-client\");\n\nclass DevicesClient {\n getProjectDevices = (\n projectId: string\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`projects/${projectId}/devices`);\n };\n getDeviceDetails = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n };\n}\n\nexport const devicesClient = new DevicesClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudNamedItem,\n RobotCloudServiceType,\n} from \"../../../types/RobotCloudClient\";\nimport {\n RobotCloudServiceInstance\n} from \"../../../types/ServiceInstance\";\nimport { LocationServiceInstancesRequestParams, ProjectLocationsRequestParams } from \"../../../types/request-params\";\n\ninterface RobotCloudLocationDetails {\n id: string;\n name: string;\n description: string;\n project: string;\n tags: string[];\n}\n\nclass LocationsClient {\n getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: RobotCloudServiceType,\n params?: LocationServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n getLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(\n `projects/${prjId}/locations`,\n {\n params,\n }\n );\n };\n\n getLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudLocationDetails>> => {\n return robotcloudApi.get<RobotCloudLocationDetails>(\n `locations/${locationId}`,\n {}\n );\n };\n}\n\nexport const locationsClient = new LocationsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudProject,\n RobotCloudProjectDetails,\n RobotCloudServiceTypeDetails,\n} from \"../../../types/RobotCloudClient\";\nimport {\n ProjectDetailsRequestParams,\n ProjectsRequestParams,\n SubsystemRequestParams,\n} from \"../../../types/request-params\";\n\nclass ProjectsClient {\n getProjects = (\n params?: ProjectsRequestParams\n ): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\"projects\", {\n params,\n });\n };\n\n getProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectDetails>> => {\n return robotcloudApi.get<RobotCloudProjectDetails>(`projects/${prjId}`, {\n params,\n });\n };\n\n getProjectServiceTypes = (\n prjId: string,\n params?: SubsystemRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(\n `projects/${prjId}/services`,\n {\n params,\n }\n );\n };\n}\nexport const projectsClient = new ProjectsClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudServiceInstance,\n ServiceInstanceDetails,\n ServiceInstanceDevicesInfo,\n} from \"../../../types/ServiceInstance\";\nimport { ServiceInstancesRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nclass ServiceInstancesClient {\n getServiceInstances = (\n prjId: string,\n service_type: string,\n params?: ServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n getServiceInstance = (\n prjId: string,\n service_type: string,\n service_id: string\n ) => {\n return robotcloudApi.get<ServiceInstanceDetails>(\n `projects/${prjId}/services/${service_type}/instances/${service_id}`\n );\n };\n\n getServiceInstanceDevicesInfo = (\n prjId: string,\n service_type: string,\n service_id: string\n ) => {\n return robotcloudApi.get<Record<string, ServiceInstanceDevicesInfo>>(`projects/${prjId}/services/${service_type}/instances/${service_id}/deviceconf`);\n };\n}\n\nexport const serviceInstancesClient = new ServiceInstancesClient();\n\n","import robotcloudApi from \"robotCloudApi\";\n\nimport { RobotCloudDescribedItem } from \"../../../types/RobotCloudClient\";\n\nclass SubsystemsClient {\n getProjectSubsystems = (prjId: string) => {\n return robotcloudApi.get<RobotCloudDescribedItem>(\n `projects/${prjId}/subsystems`\n );\n };\n getProjectSubsystem = (prjId: string, subsysId: string) => {\n return robotcloudApi.get<RobotCloudDescribedItem>(\n `projects/${prjId}/subsystems/${subsysId}`\n );\n };\n}\nexport const subsystemsClient = new SubsystemsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n ProjectTag,\n ProjectTagDetails,\n} from \"../../../types/ProjectTag\";\nimport { ProjectTagRequestParams } from \"../../../types/request-params\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nexport class TagsClient {\n 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 getTag = (\n prjId: string,\n tagId: string\n ): Promise<AxiosResponse<ProjectTagDetails>> => {\n logger.info(`Get project ${prjId} tag ${tagId}`);\n return robotcloudApi.get<ProjectTagDetails>(`tags/${tagId}`);\n };\n}\n\nexport const tagsClient = new TagsClient();\n","import robotcloudApi from \"@/robotCloudApi\";\r\nimport { AxiosInstance, AxiosResponse } from \"axios\";\r\nimport {\r\n RobotCloudNamedItem,\r\n RobotCloudUserSimple,\r\n} from \"../../types/RobotCloudClient\";\r\nimport { AlertAggregatedLogsRequestParams, AlertLogsListRequestParams } from \"../../types/request-params\";\r\nimport { useLogger } from \"utils/logger\";\r\n\r\nexport interface AlertsLogsStats {\r\n total: number;\r\n active: number;\r\n noack: number;\r\n active_noack: number;\r\n}\r\n\r\nexport interface AlertLogLine {\r\n id: string;\r\n service: string;\r\n instance: string;\r\n location: RobotCloudNamedItem;\r\n classifier: RobotCloudNamedItem;\r\n alert_name: string;\r\n acknowledged: boolean;\r\n ack_time: string;\r\n ack_user: RobotCloudUserSimple;\r\n active: boolean;\r\n active_time: string;\r\n deactive_time: string;\r\n}\r\n\r\ninterface AlertsLogsList {\r\n total_size: number;\r\n initial_index: number;\r\n alerts: AlertLogLine[];\r\n}\r\n\r\ninterface AlertsLogsAggregatedAlertRecord {\r\n periode_start: string,\r\n periode_end: string,\r\n activation_count: number,\r\n active_seconds: number\r\n}\r\n\r\ninterface AlertsLogsAggregatedAlert {\r\n service: string;\r\n alert_name: string;\r\n aggregates: AlertsLogsAggregatedAlertRecord[];\r\n}\r\n\r\nexport interface AlertsLogsAggregated {\r\n alerts: AlertsLogsAggregatedAlert[];\r\n}\r\n\r\ninterface AlertLogAckItem {\r\n id: string;\r\n acknowledged: boolean;\r\n}\r\n\r\ninterface AlertLogAckAlerts {\r\n alerts: AlertLogAckItem[];\r\n}\r\n\r\nexport interface AlertsClient {\r\n getProjectStats(projectId: string): Promise<AxiosResponse<AlertsLogsStats>>;\r\n\r\n getProjectLog(\r\n projectId: string,\r\n params: AlertLogsListRequestParams\r\n ): Promise<AxiosResponse<AlertsLogsList>>;\r\n\r\n acknowledge(\r\n projectId: string,\r\n data: AlertLogAckAlerts\r\n ): Promise<AxiosResponse<AlertsLogsList>>;\r\n\r\n getAggregatedLogs(\r\n projectId: string,\r\n params: AlertAggregatedLogsRequestParams\r\n ): Promise<AxiosResponse<AlertsLogsAggregated>>;\r\n}\r\n\r\nclass AlertsClientImpl implements AlertsClient {\r\n private robotcloudApi: AxiosInstance;\r\n private logger = useLogger('AlertsClientImpl')\r\n\r\n constructor(robotcloudApi: AxiosInstance) {\r\n this.robotcloudApi = robotcloudApi;\r\n }\r\n\r\n getProjectStats(projectId: string): Promise<AxiosResponse<AlertsLogsStats>> {\r\n return this.robotcloudApi.get<AlertsLogsStats>(\r\n `projects/${projectId}/alerts/stats`\r\n );\r\n }\r\n\r\n getProjectLog(\r\n projectId: string,\r\n params: AlertLogsListRequestParams\r\n ): Promise<AxiosResponse<AlertsLogsList>> {\r\n return this.robotcloudApi.get<AlertsLogsList>(\r\n `projects/${projectId}/alerts/log`,\r\n {\r\n params,\r\n }\r\n );\r\n }\r\n\r\n acknowledge(\r\n projectId: string,\r\n data: AlertLogAckAlerts\r\n ): Promise<AxiosResponse<AlertsLogsList>> {\r\n this.logger.debug(\"Sending put data: \", data);\r\n return this.robotcloudApi.put<AlertsLogsList, AxiosResponse<AlertsLogsList, AlertLogAckAlerts>, AlertLogAckAlerts>(\r\n `projects/${projectId}/alerts/log`,\r\n data\r\n );\r\n }\r\n\r\n getAggregatedLogs(\r\n projectId: string,\r\n params: AlertAggregatedLogsRequestParams\r\n ): Promise<AxiosResponse<AlertsLogsAggregated>> {\r\n return this.robotcloudApi.get<AlertsLogsAggregated>(\r\n `projects/${projectId}/alerts/aggregate`,\r\n { params }\r\n );\r\n }\r\n}\r\n\r\nexport const alertsClient: AlertsClient = new AlertsClientImpl(robotcloudApi);\r\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudOrganizationDetails,\n RobotCloudProject,\n} from \"../../types/RobotCloudClient\";\n\nclass OrganizationsClient {\n getOrganization = (\n organizationId: string\n ): Promise<AxiosResponse<RobotCloudOrganizationDetails>> => {\n return robotcloudApi.get<RobotCloudOrganizationDetails>(\n `organizations/${organizationId}`\n );\n };\n\n getOrganizationProjects = (\n organizationId: string\n ): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\n `organizations/${organizationId}/projects`\n );\n };\n}\n\nexport const organizationsClient = new OrganizationsClient();\n","import type { AxiosResponse } from \"axios\";\n\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n RobotCloudUserDetails, \n RobotCloudUserProject, \n} from \"../../types/RobotCloudClient\";\n\nclass UsersClient {\n getUser = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserDetails>> => {\n return robotcloudApi.get<RobotCloudUserDetails>(`users/${username}`);\n };\n\n getUserProjects = (\n username: string\n ): Promise<AxiosResponse<RobotCloudUserProject[]>> => {\n return robotcloudApi.get<RobotCloudUserProject[]>(\n `users/${username}/projects`\n );\n };\n}\n\nexport const usersClient = new UsersClient();\n","import { useLogger } from \"utils/logger\";;\nimport { TagsClient } from '../client/projects/tags';\nimport {\n ProjectTagTreeNode,\n ProjectTagsTree,\n} from \"../../types/ProjectTag\";\nimport { ProjectTagRequestParams } from \"../../types/request-params\";\n\nconst logger = useLogger(\"tags-helper\");\n\nexport class TagsHelper {\n private tagsClient: TagsClient;\n\n constructor(tagsClient: TagsClient) {\n this.tagsClient = tagsClient;\n }\n\n public 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 this.getTagsChildren(\n prjId,\n 0,\n undefined,\n undefined,\n maxDepth\n );\n return { root: tags } as ProjectTagsTree;\n };\n\n public 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 this.tagsClient.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 this.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","import { projectsClient } from \"client/projects\";\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 projectsClient.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()","import { tagsClient } from \"client/projects\";\nimport { TagsHelper } from \"helpers/tags\";\n\n\nconst tagsHelper = new TagsHelper(tagsClient)\n\nexport {\n tagsHelper\n}\nexport { robotCloudPermissionsHelper } from \"helpers/robotCloudPermissionsHelper\";\nexport type * from \"../../types/helpers\";"],"mappings":"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","names":["axios","import_axios","logger","axios","logger","logger","logger","logger","robotcloudApi","logger","tagsClient","i"]}
package/dist/index.mjs CHANGED
@@ -456,6 +456,9 @@ var classifiersClient = new ClassifiersClient();
456
456
  var logger4 = useLogger("devices-client");
457
457
  var DevicesClient = class {
458
458
  constructor() {
459
+ this.getProjectDevices = (projectId) => {
460
+ return robotCloudApi_default.get(`projects/${projectId}/devices`);
461
+ };
459
462
  this.getDeviceDetails = (deviceId) => {
460
463
  return robotCloudApi_default.get(`devices/${deviceId}`);
461
464
  };
@@ -534,6 +537,9 @@ var ServiceInstancesClient = class {
534
537
  `projects/${prjId}/services/${service_type}/instances/${service_id}`
535
538
  );
536
539
  };
540
+ this.getServiceInstanceDevicesInfo = (prjId, service_type, service_id) => {
541
+ return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${service_id}/deviceconf`);
542
+ };
537
543
  }
538
544
  };
539
545
  var serviceInstancesClient = new ServiceInstancesClient();
@@ -541,6 +547,11 @@ var serviceInstancesClient = new ServiceInstancesClient();
541
547
  // src/client/projects/subsystems.ts
542
548
  var SubsystemsClient = class {
543
549
  constructor() {
550
+ this.getProjectSubsystems = (prjId) => {
551
+ return robotCloudApi_default.get(
552
+ `projects/${prjId}/subsystems`
553
+ );
554
+ };
544
555
  this.getProjectSubsystem = (prjId, subsysId) => {
545
556
  return robotCloudApi_default.get(
546
557
  `projects/${prjId}/subsystems/${subsysId}`
@@ -560,6 +571,10 @@ var TagsClient = class {
560
571
  params
561
572
  });
562
573
  };
574
+ this.getTag = (prjId, tagId) => {
575
+ logger6.info(`Get project ${prjId} tag ${tagId}`);
576
+ return robotCloudApi_default.get(`tags/${tagId}`);
577
+ };
563
578
  }
564
579
  };
565
580
  var tagsClient = new TagsClient();