@robotbas/robotcloud-client 0.2.22 → 0.3.1

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.
@@ -1,2 +1,2 @@
1
- export { J as RobotCloudPermissionsHelper, I as robotCloudPermissionsHelper, G as tagsHelper } from '../index-BQ8vrXpV.mjs';
1
+ export { a7 as RobotCloudPermissionsHelper, a6 as robotCloudPermissionsHelper, a5 as tagsHelper } from '../index-9RfDay_a.mjs';
2
2
  import 'axios';
@@ -1,2 +1,2 @@
1
- export { J as RobotCloudPermissionsHelper, I as robotCloudPermissionsHelper, G as tagsHelper } from '../index-BQ8vrXpV.js';
1
+ export { a7 as RobotCloudPermissionsHelper, a6 as robotCloudPermissionsHelper, a5 as tagsHelper } from '../index-9RfDay_a.js';
2
2
  import 'axios';
@@ -109,7 +109,28 @@ var ClassifiersClient = class {
109
109
  });
110
110
  };
111
111
  this.getClassifier = (classifierId) => {
112
- return robotCloudApi_default.get(`classifiers/${classifierId}`);
112
+ return robotCloudApi_default.get(
113
+ `classifiers/${classifierId}`,
114
+ {}
115
+ );
116
+ };
117
+ this.putClassifier = (classifierId) => {
118
+ return robotCloudApi_default.put(
119
+ `classifiers/${classifierId}`,
120
+ {}
121
+ );
122
+ };
123
+ this.postClassifier = (classifierId) => {
124
+ return robotCloudApi_default.post(
125
+ `classifiers/${classifierId}`,
126
+ {}
127
+ );
128
+ };
129
+ this.deleteClassifier = (classifierId) => {
130
+ return robotCloudApi_default.delete(
131
+ `classifiers/${classifierId}`,
132
+ {}
133
+ );
113
134
  };
114
135
  }
115
136
  };
@@ -122,9 +143,24 @@ var DevicesClient = class {
122
143
  this.getProjectDevices = (projectId) => {
123
144
  return robotCloudApi_default.get(`projects/${projectId}/devices`);
124
145
  };
146
+ this.getProjectDevicesLocation = (locationId) => {
147
+ return robotCloudApi_default.get(`locations/${locationId}/devices`);
148
+ };
149
+ this.postProjectDeviceLocation = (locationId) => {
150
+ return robotCloudApi_default.post(`locations/${locationId}/devices`);
151
+ };
125
152
  this.getDeviceDetails = (deviceId) => {
126
153
  return robotCloudApi_default.get(`devices/${deviceId}`);
127
154
  };
155
+ this.putDeviceDetails = (deviceId) => {
156
+ return robotCloudApi_default.put(`devices/${deviceId}`);
157
+ };
158
+ this.deleteDevice = (deviceId) => {
159
+ return robotCloudApi_default.delete(`devices/${deviceId}`);
160
+ };
161
+ this.getDeviceConfiguration = (deviceId) => {
162
+ return robotCloudApi_default.get(`devices/${deviceId}/compatibleconfigurationtypes`);
163
+ };
128
164
  }
129
165
  };
130
166
  var devicesClient = new DevicesClient();
@@ -132,16 +168,16 @@ var devicesClient = new DevicesClient();
132
168
  // src/client/projects/locations.ts
133
169
  var LocationsClient = class {
134
170
  constructor() {
135
- this.getLocationServiceInstances = (prjId, locId, service_type, params) => {
171
+ this.getLocations = (prjId, params) => {
136
172
  return robotCloudApi_default.get(
137
- `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,
173
+ `projects/${prjId}/locations`,
138
174
  {
139
175
  params
140
176
  }
141
177
  );
142
178
  };
143
- this.getLocations = (prjId, params) => {
144
- return robotCloudApi_default.get(
179
+ this.postLocations = (prjId, params) => {
180
+ return robotCloudApi_default.post(
145
181
  `projects/${prjId}/locations`,
146
182
  {
147
183
  params
@@ -154,6 +190,18 @@ var LocationsClient = class {
154
190
  {}
155
191
  );
156
192
  };
193
+ this.putLocation = (locationId) => {
194
+ return robotCloudApi_default.put(
195
+ `locations/${locationId}`,
196
+ {}
197
+ );
198
+ };
199
+ this.deleteLocation = (locationId) => {
200
+ return robotCloudApi_default.delete(
201
+ `locations/${locationId}`,
202
+ {}
203
+ );
204
+ };
157
205
  }
158
206
  };
159
207
  var locationsClient = new LocationsClient();
@@ -161,6 +209,16 @@ var locationsClient = new LocationsClient();
161
209
  // src/client/projects/projects.ts
162
210
  var ProjectsClient = class {
163
211
  constructor() {
212
+ this.getOrganizationProjects = (organizationId) => {
213
+ return robotCloudApi_default.get(
214
+ `organizations/${organizationId}/projects`
215
+ );
216
+ };
217
+ this.postOrganizationProjects = (organizationId) => {
218
+ return robotCloudApi_default.post(
219
+ `organizations/${organizationId}/projects`
220
+ );
221
+ };
164
222
  this.getProjects = (params) => {
165
223
  return robotCloudApi_default.get("projects", {
166
224
  params
@@ -171,12 +229,36 @@ var ProjectsClient = class {
171
229
  params
172
230
  });
173
231
  };
174
- this.getProjectServiceTypes = (prjId, params) => {
232
+ this.putProjectDetails = (prjId, params) => {
233
+ return robotCloudApi_default.put(`projects/${prjId}`, {
234
+ params
235
+ });
236
+ };
237
+ this.deleteProject = (prjId, params) => {
238
+ return robotCloudApi_default.delete(`projects/${prjId}`, {
239
+ params
240
+ });
241
+ };
242
+ this.getProjectUsers = (prjId, params) => {
243
+ return robotCloudApi_default.get(`projects/${prjId}/users`, {
244
+ params
245
+ });
246
+ };
247
+ this.getProjectApplications = (prjId, params) => {
248
+ return robotCloudApi_default.get(`projects/${prjId}/applications`, {
249
+ params
250
+ });
251
+ };
252
+ this.getProjectApplication = (prjId, appId) => {
175
253
  return robotCloudApi_default.get(
176
- `projects/${prjId}/services`,
177
- {
178
- params
179
- }
254
+ `projects/${prjId}/applications/${appId}`,
255
+ {}
256
+ );
257
+ };
258
+ this.putProjectApplication = (prjId, appId) => {
259
+ return robotCloudApi_default.put(
260
+ `projects/${prjId}/applications/${appId}`,
261
+ {}
180
262
  );
181
263
  };
182
264
  }
@@ -203,67 +285,174 @@ var ServiceInstancesClient = class {
203
285
  }
204
286
  );
205
287
  };
206
- this.getServiceInstance = (prjId, service_type, service_id) => {
288
+ this.getProjectServiceTypes = (prjId, params) => {
207
289
  return robotCloudApi_default.get(
208
- `projects/${prjId}/services/${service_type}/instances/${service_id}`
290
+ `projects/${prjId}/services`,
291
+ {
292
+ params
293
+ }
209
294
  );
210
295
  };
211
- this.getServiceInstanceDevicesInfo = (prjId, service_type, service_id) => {
212
- return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${service_id}/deviceconf`);
296
+ this.getLocationServiceInstances = (prjId, locId, service_type, params) => {
297
+ return robotCloudApi_default.get(
298
+ `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,
299
+ {
300
+ params
301
+ }
302
+ );
303
+ };
304
+ this.postLocationServiceInstances = (prjId, locId, service_type, params) => {
305
+ return robotCloudApi_default.post(
306
+ `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,
307
+ {
308
+ params
309
+ }
310
+ );
311
+ };
312
+ this.getServiceInstance = (prjId, service_type, instance_id) => {
313
+ return robotCloudApi_default.get(
314
+ `projects/${prjId}/services/${service_type}/instances/${instance_id}`
315
+ );
316
+ };
317
+ this.putServiceInstance = (prjId, service_type, instance_id) => {
318
+ return robotCloudApi_default.put(
319
+ `projects/${prjId}/services/${service_type}/instances/${instance_id}`
320
+ );
321
+ };
322
+ this.deleteServiceInstance = (prjId, service_type, instance_id) => {
323
+ return robotCloudApi_default.delete(
324
+ `projects/${prjId}/services/${service_type}/instances/${instance_id}`
325
+ );
326
+ };
327
+ this.getServiceInstanceDevicesInfo = (prjId, service_type, instance_id) => {
328
+ return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${instance_id}/deviceconf`);
329
+ };
330
+ this.putServiceInstanceDevicesInfo = (prjId, service_type, instance_id) => {
331
+ return robotCloudApi_default.put(`projects/${prjId}/services/${service_type}/instances/${instance_id}/deviceconf`);
213
332
  };
214
333
  }
215
334
  getServiceAllInstancesData(prjId, service_type) {
216
335
  return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/data`);
217
336
  }
337
+ getServiceInstancesData(prjId, service_type, instance_id) {
338
+ return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${instance_id}/data`);
339
+ }
218
340
  getServiceAllInstancesAlerts(prjId, service_type) {
219
341
  return robotCloudApi_default.get(
220
342
  `projects/${prjId}/services/${service_type}/alert`
221
343
  );
222
344
  }
345
+ getServiceInstancesAlerts(prjId, service_type, instance_id) {
346
+ return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${instance_id}/alert`);
347
+ }
348
+ getServiceInstancesConfiguration(prjId, service_type, instance_id) {
349
+ return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${instance_id}/configuration`);
350
+ }
351
+ putServiceInstancesConfiguration(prjId, service_type, instance_id) {
352
+ return robotCloudApi_default.put(`projects/${prjId}/services/${service_type}/instances/${instance_id}/configuration`);
353
+ }
354
+ getServiceInstancesHistoricData(prjId, service_type, instance_id) {
355
+ return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${instance_id}/historic/data`);
356
+ }
357
+ getServiceInstancesHistoricDataAggregate(prjId, service_type, instance_id) {
358
+ return robotCloudApi_default.get(`projects/${prjId}/services/${service_type}/instances/${instance_id}/historic/data/aggregate`);
359
+ }
360
+ getServiceLocation(prjId, locationId) {
361
+ return robotCloudApi_default.get(
362
+ `projects/${prjId}/locations/${locationId}/services`
363
+ );
364
+ }
365
+ getSizeProjectInstances(prjId) {
366
+ return robotCloudApi_default.get(
367
+ `size/projects/${prjId}/instances`
368
+ );
369
+ }
370
+ getSizeProjectServicesInstances(prjId, service_type) {
371
+ return robotCloudApi_default.get(
372
+ `size/projects/${prjId}/services/${service_type}/instances`
373
+ );
374
+ }
223
375
  };
224
376
  var serviceInstancesClient = new ServiceInstancesClient();
225
377
 
226
378
  // src/client/projects/subsystems.ts
379
+ var logger5 = useLogger("service-instances-client");
227
380
  var SubsystemsClient = class {
228
381
  constructor() {
229
382
  this.getProjectSubsystems = (prjId) => {
383
+ logger5.info(`Get project ${prjId} subsystems`);
230
384
  return robotCloudApi_default.get(
231
385
  `projects/${prjId}/subsystems`
232
386
  );
233
387
  };
234
388
  this.getProjectSubsystem = (prjId, subsysId) => {
389
+ logger5.info(`Get subsystem ${subsysId} from project ${prjId}`);
235
390
  return robotCloudApi_default.get(
236
391
  `projects/${prjId}/subsystems/${subsysId}`
237
392
  );
238
393
  };
394
+ this.postProjectSubsystem = (prjId) => {
395
+ logger5.info(`Create subsystem in project ${prjId}`);
396
+ return robotCloudApi_default.post(
397
+ `projects/${prjId}/subsystems`
398
+ );
399
+ };
400
+ this.putProjectSubsystem = (prjId, subsysId) => {
401
+ logger5.info(`Update subsystem ${subsysId} in project ${prjId}`);
402
+ return robotCloudApi_default.put(
403
+ `projects/${prjId}/subsystems/${subsysId}`
404
+ );
405
+ };
406
+ this.deleteSubsystem = (prjId, subsysId) => {
407
+ logger5.info(`Delete subsystem ${subsysId} in project ${prjId}`);
408
+ return robotCloudApi_default.delete(`projects/${prjId}/subsystems/${subsysId}`);
409
+ };
410
+ this.getProjectSubsystemLocations = (prjId, subsysId) => {
411
+ logger5.info(`Get subsystems locations ${subsysId} in project ${prjId}`);
412
+ return robotCloudApi_default.get(
413
+ `projects/${prjId}/subsystems/${subsysId}/locations`
414
+ );
415
+ };
239
416
  }
240
417
  };
241
418
  var subsystemsClient = new SubsystemsClient();
242
419
 
243
420
  // src/client/projects/tags.ts
244
- var logger5 = useLogger("service-instances-client");
421
+ var logger6 = useLogger("service-instances-client");
245
422
  var TagsClient = class {
246
423
  constructor() {
247
424
  this.getTags = (prjId, params) => {
248
- logger5.info(`Get project ${prjId} tags`);
425
+ logger6.info(`Get project ${prjId} tags`);
249
426
  return robotCloudApi_default.get(`projects/${prjId}/tags`, {
250
427
  params
251
428
  });
252
429
  };
253
430
  this.getTag = (prjId, tagId) => {
254
- logger5.info(`Get project ${prjId} tag ${tagId}`);
431
+ logger6.info(`Get project ${prjId} tag ${tagId}`);
255
432
  return robotCloudApi_default.get(`tags/${tagId}`);
256
433
  };
434
+ this.postTag = (prjId) => {
435
+ logger6.info(`Create tag for project ${prjId}`);
436
+ return robotCloudApi_default.post(`projects/${prjId}/tags`);
437
+ };
438
+ this.putTag = (prjId, tagId) => {
439
+ logger6.info(`Modify project ${prjId} tag ${tagId}`);
440
+ return robotCloudApi_default.put(`tags/${tagId}`);
441
+ };
442
+ this.deleteTag = (prjId, tagId) => {
443
+ logger6.info(`Delete project ${prjId} tag ${tagId}`);
444
+ return robotCloudApi_default.delete(`tags/${tagId}`);
445
+ };
257
446
  }
258
447
  };
259
448
  var tagsClient = new TagsClient();
260
449
 
261
450
  // src/helpers/tags.ts
262
- var logger6 = useLogger("tags-helper");
451
+ var logger7 = useLogger("tags-helper");
263
452
  var TagsHelper = class {
264
453
  constructor(tagsClient2) {
265
454
  this.getTagsTree = async (prjId, maxDepth = 2, params) => {
266
- logger6.info(`Get project ${prjId} tags tree`);
455
+ logger7.info(`Get project ${prjId} tags tree`);
267
456
  if (!params) {
268
457
  params = {};
269
458
  }
@@ -278,7 +467,7 @@ var TagsHelper = class {
278
467
  return { root: tags };
279
468
  };
280
469
  this.getTagsChildren = async (prjId, level = 0, parent_id, params, maxDepth) => {
281
- logger6.debug(`Get project ${prjId} tags children: ${parent_id}`);
470
+ logger7.debug(`Get project ${prjId} tags children: ${parent_id}`);
282
471
  if (!params) {
283
472
  params = {};
284
473
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/index.ts","../../src/utils/logger.ts","../../src/robotCloudApi.ts","../../src/config.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/helpers/tags.ts","../../src/helpers/robotCloudPermissionsHelper.ts"],"sourcesContent":["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\";","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 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 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\";\nimport { ServiceDataMeasurement } from \"../../../types/services\";\nimport { ServiceInstanceRead } from \"../../../types/ServiceInstanceRead\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nclass ServiceInstancesClient {\n getAll = (\n prjId: string,\n params?: ServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/instances`,\n {\n params,\n }\n );\n };\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 getServiceAllInstancesData(\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/data`);\n };\n\n getServiceAllInstancesAlerts(\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ServiceInstanceRead<any>[]>> {\n return robotcloudApi.get<ServiceInstanceRead<any>[]>(\n `projects/${prjId}/services/${service_type}/alert`);\n };\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 { 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()"],"mappings":"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","names":["axios","logger","logger","logger","logger","logger","tagsClient","i"]}
1
+ {"version":3,"sources":["../../src/helpers/index.ts","../../src/utils/logger.ts","../../src/robotCloudApi.ts","../../src/config.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/helpers/tags.ts","../../src/helpers/robotCloudPermissionsHelper.ts"],"sourcesContent":["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\";","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 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 type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n Classifier,\n ClassifierDetails,\n ClassifierCreate,\n ClassifierModify\n} from \"../../../types/ProjectClassifer\";\nimport {\n RobotCloudDelete\n} from \"../../../types/RobotCloudClient\";\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 = (\n classifierId: string\n ): Promise<AxiosResponse<ClassifierDetails>> => {\n return robotcloudApi.get<ClassifierDetails>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n\n putClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<ClassifierModify>> => {\n return robotcloudApi.put<ClassifierModify>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n\n postClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<ClassifierCreate>> => {\n return robotcloudApi.post<ClassifierCreate>(\n `classifiers/${classifierId}`,\n {}\n );\n };\n\n deleteClassifier = (\n classifierId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(\n `classifiers/${classifierId}`,\n {}\n );\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 { \n RobotCloudDeviceDetails, \n RobotCloudNamedItem,\n RobotCloudRobotCloudDeviceCreate,\n RobotCloudRobotCloudDeviceModify,\n RobotCloudDelete,\n RobotCloudDeviceConfiguration\n} 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\n getProjectDevicesLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudNamedItem[]>> => {\n return robotcloudApi.get<RobotCloudNamedItem[]>(`locations/${locationId}/devices`);\n };\n\n postProjectDeviceLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudRobotCloudDeviceCreate>> => {\n return robotcloudApi.post<RobotCloudRobotCloudDeviceCreate>(`locations/${locationId}/devices`);\n };\n\n getDeviceDetails = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDeviceDetails>> => {\n return robotcloudApi.get<RobotCloudDeviceDetails>(`devices/${deviceId}`);\n };\n\n putDeviceDetails = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudRobotCloudDeviceModify>> => {\n return robotcloudApi.put<RobotCloudRobotCloudDeviceModify>(`devices/${deviceId}`);\n };\n\n deleteDevice = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(`devices/${deviceId}`);\n };\n\n getDeviceConfiguration = (\n deviceId: string\n ): Promise<AxiosResponse<RobotCloudDeviceConfiguration>> => {\n return robotcloudApi.get<RobotCloudDeviceConfiguration>(`devices/${deviceId}/compatibleconfigurationtypes`);\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 RobotCloudDelete\n} from \"../../../types/RobotCloudClient\";\nimport {\n RobotCloudServiceInstance,\n CreateServiceInstance\n} from \"../../../types/ServiceInstance\";\nimport {\n RobotCloudLocationDetails,\n RobotCloudLocationModify,\n RobotCloudLocationCreate\n} from \"../../../types/ProjectLocation\";\nimport { LocationServiceInstancesRequestParams, ProjectLocationsRequestParams } from \"../../../types/request-params\";\n\nclass LocationsClient {\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 postLocations = (\n prjId: string,\n params?: ProjectLocationsRequestParams\n ): Promise<AxiosResponse<RobotCloudLocationCreate[]>> => {\n return robotcloudApi.post<RobotCloudLocationCreate[]>(\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 putLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudLocationModify>> => {\n return robotcloudApi.put<RobotCloudLocationModify>(\n `locations/${locationId}`,\n {}\n );\n };\n\n deleteLocation = (\n locationId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(\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 RobotCloudPutProject,\n RobotCloudProjectDetails,\n RobotCloudServiceTypeDetails,\n RobotCloudDelete,\n RobotCloudProjectUsers,\n RobotCloudProjectInstances,\n RobotCloudProjectApplications,\n RobotCloudApplicationEnable,\n RobotCloudCreateProject\n} from \"../../../types/RobotCloudClient\";\nimport {\n ProjectDetailsRequestParams,\n ProjectsRequestParams,\n SubsystemRequestParams,\n} from \"../../../types/request-params\";\n\nclass ProjectsClient {\n\n getOrganizationProjects = (\n organizationId: string\n ): Promise<AxiosResponse<RobotCloudProject[]>> => {\n return robotcloudApi.get<RobotCloudProject[]>(\n `organizations/${organizationId}/projects`\n );\n };\n \n postOrganizationProjects = (\n organizationId: string\n ): Promise<AxiosResponse<RobotCloudCreateProject>> => {\n return robotcloudApi.post<RobotCloudCreateProject>(\n `organizations/${organizationId}/projects`\n );\n };\n\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 putProjectDetails = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudPutProject>> => {\n return robotcloudApi.put<RobotCloudPutProject>(`projects/${prjId}`, {\n params,\n });\n };\n\n deleteProject = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n return robotcloudApi.delete<RobotCloudDelete>(`projects/${prjId}`, {\n params,\n });\n };\n\n getProjectUsers = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectUsers>> => {\n return robotcloudApi.get<RobotCloudProjectUsers>(`projects/${prjId}/users`, {\n params,\n });\n };\n\n getProjectApplications = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudProjectApplications[]>> => {\n return robotcloudApi.get<RobotCloudProjectApplications[]>(`projects/${prjId}/applications`, {\n params,\n });\n };\n\n getProjectApplication = (\n prjId: string,\n appId: string\n ): Promise<AxiosResponse<RobotCloudProjectApplications>> => {\n return robotcloudApi.get<RobotCloudProjectApplications>(`projects/${prjId}/applications/${appId}`, \n {}\n );\n };\n\n putProjectApplication = (\n prjId: string,\n appId: string\n ): Promise<AxiosResponse<RobotCloudApplicationEnable>> => {\n return robotcloudApi.put<RobotCloudApplicationEnable>(`projects/${prjId}/applications/${appId}`, \n {}\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 CreateServiceInstance,\n RobotCloudServiceInstance,\n ServiceInstanceDetails,\n ModifyServiceInstanceDetails,\n ServiceInstanceDevicesInfo,\n ProjectSizeInstances\n} from \"../../../types/ServiceInstance\";\nimport {\n RobotCloudServiceTypeDetails,\n RobotCloudDelete\n} from \"../../../types/RobotCloudClient\";\nimport { ServiceInstancesRequestParams } from \"../../../types/request-params\";\nimport { ServiceDataMeasurement } from \"../../../types/services\";\nimport { ServiceInstanceRead } from \"../../../types/ServiceInstanceRead\";\nimport { LocationServiceInstancesRequestParams, ProjectLocationsRequestParams } from \"../../../types/request-params\";\nimport {\n ProjectDetailsRequestParams,\n ProjectsRequestParams,\n SubsystemRequestParams,\n} from \"../../../types/request-params\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nclass ServiceInstancesClient {\n\n getAll = (\n prjId: string,\n params?: ServiceInstancesRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceInstance[]>> => {\n return robotcloudApi.get<RobotCloudServiceInstance[]>(\n `projects/${prjId}/instances`,\n {\n params,\n }\n );\n };\n\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 getProjectServiceTypes = (\n prjId: string,\n params?: ProjectDetailsRequestParams\n ): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> => {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(\n `projects/${prjId}/services`,\n {\n params,\n }\n );\n };\n\n\n getLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: string,\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 postLocationServiceInstances = (\n prjId: string,\n locId: string,\n service_type: string,\n params?: LocationServiceInstancesRequestParams\n ): Promise<AxiosResponse<CreateServiceInstance>> => {\n return robotcloudApi.post<CreateServiceInstance>(\n `projects/${prjId}/locations/${locId}/services/${service_type}/instances`,\n {\n params,\n }\n );\n };\n\n\n getServiceInstance = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.get<ServiceInstanceDetails>(\n `projects/${prjId}/services/${service_type}/instances/${instance_id}`\n );\n };\n\n putServiceInstance = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.put<ModifyServiceInstanceDetails>(\n `projects/${prjId}/services/${service_type}/instances/${instance_id}`\n );\n };\n\n deleteServiceInstance = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.delete<RobotCloudDelete>(\n `projects/${prjId}/services/${service_type}/instances/${instance_id}`\n );\n };\n\n\n getServiceInstanceDevicesInfo = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.get<Record<string, ServiceInstanceDevicesInfo>>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/deviceconf`);\n };\n\n putServiceInstanceDevicesInfo = (\n prjId: string,\n service_type: string,\n instance_id: string\n ) => {\n return robotcloudApi.put<Record<string, ServiceInstanceDevicesInfo>>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/deviceconf`);\n };\n\n getServiceAllInstancesData(\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/data`);\n };\n\n getServiceInstancesData(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/data`);\n };\n \n\n getServiceAllInstancesAlerts(\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ServiceInstanceRead<any>[]>> {\n return robotcloudApi.get<ServiceInstanceRead<any>[]>(\n `projects/${prjId}/services/${service_type}/alert`);\n };\n\n getServiceInstancesAlerts(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/alert`);\n };\n\n getServiceInstancesConfiguration(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/configuration`);\n };\n\n putServiceInstancesConfiguration(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.put<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/configuration`);\n };\n\n getServiceInstancesHistoricData(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/historic/data`);\n };\n\n getServiceInstancesHistoricDataAggregate(\n prjId: string,\n service_type: string,\n instance_id: string\n ): Promise<AxiosResponse<ServiceDataMeasurement<any>[]>> {\n return robotcloudApi.get<ServiceDataMeasurement<any>[]>(`projects/${prjId}/services/${service_type}/instances/${instance_id}/historic/data/aggregate`);\n };\n\n getServiceLocation (\n prjId: string,\n locationId: string\n ): Promise<AxiosResponse<RobotCloudServiceTypeDetails[]>> {\n return robotcloudApi.get<RobotCloudServiceTypeDetails[]>(\n `projects/${prjId}/locations/${locationId}/services`);\n };\n\n getSizeProjectInstances (\n prjId: string\n ): Promise<AxiosResponse<ProjectSizeInstances>> {\n return robotcloudApi.get<ProjectSizeInstances>(\n `size/projects/${prjId}/instances`);\n };\n\n getSizeProjectServicesInstances (\n prjId: string,\n service_type: string\n ): Promise<AxiosResponse<ProjectSizeInstances>> {\n return robotcloudApi.get<ProjectSizeInstances>(\n `size/projects/${prjId}/services/${service_type}/instances`);\n };\n\n}\n\nexport const serviceInstancesClient = new ServiceInstancesClient();\n\n","import type { AxiosResponse } from \"axios\";\n\nimport { useLogger } from \"utils/logger\";\nimport robotcloudApi from \"robotCloudApi\";\nimport {\n putProjectSubsystem\n} from \"../../../types/ProjectSubsystem\";\nimport {\n ProjectLocations\n} from \"../../../types/ProjectLocation\";\nimport { RobotCloudDescribedItem, RobotCloudDelete } from \"../../../types/RobotCloudClient\";\n\nconst logger = useLogger(\"service-instances-client\");\n\nclass SubsystemsClient {\n getProjectSubsystems = (\n prjId: string,\n ): Promise<AxiosResponse<RobotCloudDescribedItem[]>> => {\n logger.info(`Get project ${prjId} subsystems`);\n return robotcloudApi.get<RobotCloudDescribedItem[]>(\n `projects/${prjId}/subsystems`\n );\n };\n\n getProjectSubsystem = (\n prjId: string,\n subsysId: string\n ): Promise<AxiosResponse<RobotCloudDescribedItem>> => {\n logger.info(`Get subsystem ${subsysId} from project ${prjId}`);\n return robotcloudApi.get<RobotCloudDescribedItem>(\n `projects/${prjId}/subsystems/${subsysId}`\n );\n };\n\n postProjectSubsystem = (\n prjId: string,\n ): Promise<AxiosResponse<RobotCloudDescribedItem>> => {\n logger.info(`Create subsystem in project ${prjId}`);\n return robotcloudApi.post<RobotCloudDescribedItem>(\n `projects/${prjId}/subsystems`\n );\n };\n\n putProjectSubsystem = (\n prjId: string,\n subsysId: string,\n ): Promise<AxiosResponse<putProjectSubsystem>> => {\n logger.info(`Update subsystem ${subsysId} in project ${prjId}`);\n return robotcloudApi.put<putProjectSubsystem>(\n `projects/${prjId}/subsystems/${subsysId}`\n );\n };\n\n deleteSubsystem = (\n prjId: string,\n subsysId: string,\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n logger.info(`Delete subsystem ${subsysId} in project ${prjId}`);\n return robotcloudApi.delete<RobotCloudDelete>(`projects/${prjId}/subsystems/${subsysId}`);\n };\n\n getProjectSubsystemLocations = (\n prjId: string,\n subsysId: string,\n ): Promise<AxiosResponse<ProjectLocations>> => {\n logger.info(`Get subsystems locations ${subsysId} in project ${prjId}`);\n return robotcloudApi.get<ProjectLocations>(\n `projects/${prjId}/subsystems/${subsysId}/locations`\n );\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 ProjectModifyTag,\n} from \"../../../types/ProjectTag\";\nimport {\n RobotCloudDelete,\n} from \"../../../types/RobotCloudClient\";\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 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 postTag = (\n prjId: string,\n ): Promise<AxiosResponse<ProjectTag>> => {\n logger.info(`Create tag for project ${prjId}`);\n return robotcloudApi.post<ProjectTag>(`projects/${prjId}/tags`);\n };\n\n putTag = (\n prjId: string,\n tagId: string\n ): Promise<AxiosResponse<ProjectModifyTag>> => {\n logger.info(`Modify project ${prjId} tag ${tagId}`);\n return robotcloudApi.put<ProjectModifyTag>(`tags/${tagId}`);\n };\n\n deleteTag = (\n prjId: string,\n tagId: string\n ): Promise<AxiosResponse<RobotCloudDelete>> => {\n logger.info(`Delete project ${prjId} tag ${tagId}`);\n return robotcloudApi.delete<RobotCloudDelete>(`tags/${tagId}`);\n };\n\n}\n\nexport const tagsClient = new TagsClient();\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()"],"mappings":"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","names":["axios","logger","logger","logger","logger","logger","logger","tagsClient","i"]}