@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.
- package/dist/helpers/index.d.mts +1 -1
- package/dist/helpers/index.d.ts +1 -1
- package/dist/helpers/index.js +209 -20
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/index.mjs +209 -20
- package/dist/helpers/index.mjs.map +1 -1
- package/dist/{index-BQ8vrXpV.d.mts → index-9RfDay_a.d.mts} +295 -99
- package/dist/{index-BQ8vrXpV.d.ts → index-9RfDay_a.d.ts} +295 -99
- package/dist/index.d.mts +351 -164
- package/dist/index.d.ts +351 -164
- package/dist/index.js +545 -178
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +539 -178
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ProjectClassifer.d.ts +11 -1
- package/types/ProjectLocation.d.ts +24 -0
- package/types/ProjectSubsystem.d.ts +4 -0
- package/types/ProjectTag.d.ts +8 -1
- package/types/RobotCloudClient.d.ts +195 -9
- package/types/ServiceInstance.d.ts +27 -5
- package/types/Token.d.ts +15 -7
- package/types/alerts.d.ts +88 -0
- package/types/services-configuration.d.ts +35 -26
- package/types/services-data.d.ts +38 -38
package/dist/helpers/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { a7 as RobotCloudPermissionsHelper, a6 as robotCloudPermissionsHelper, a5 as tagsHelper } from '../index-9RfDay_a.mjs';
|
|
2
2
|
import 'axios';
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { a7 as RobotCloudPermissionsHelper, a6 as robotCloudPermissionsHelper, a5 as tagsHelper } from '../index-9RfDay_a.js';
|
|
2
2
|
import 'axios';
|
package/dist/helpers/index.js
CHANGED
|
@@ -109,7 +109,28 @@ var ClassifiersClient = class {
|
|
|
109
109
|
});
|
|
110
110
|
};
|
|
111
111
|
this.getClassifier = (classifierId) => {
|
|
112
|
-
return robotCloudApi_default.get(
|
|
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.
|
|
171
|
+
this.getLocations = (prjId, params) => {
|
|
136
172
|
return robotCloudApi_default.get(
|
|
137
|
-
`projects/${prjId}/locations
|
|
173
|
+
`projects/${prjId}/locations`,
|
|
138
174
|
{
|
|
139
175
|
params
|
|
140
176
|
}
|
|
141
177
|
);
|
|
142
178
|
};
|
|
143
|
-
this.
|
|
144
|
-
return robotCloudApi_default.
|
|
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.
|
|
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}/
|
|
177
|
-
{
|
|
178
|
-
|
|
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.
|
|
288
|
+
this.getProjectServiceTypes = (prjId, params) => {
|
|
207
289
|
return robotCloudApi_default.get(
|
|
208
|
-
`projects/${prjId}/services
|
|
290
|
+
`projects/${prjId}/services`,
|
|
291
|
+
{
|
|
292
|
+
params
|
|
293
|
+
}
|
|
209
294
|
);
|
|
210
295
|
};
|
|
211
|
-
this.
|
|
212
|
-
return robotCloudApi_default.get(
|
|
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
|
|
421
|
+
var logger6 = useLogger("service-instances-client");
|
|
245
422
|
var TagsClient = class {
|
|
246
423
|
constructor() {
|
|
247
424
|
this.getTags = (prjId, params) => {
|
|
248
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAA8B;AAGvB,SAAS,UAAW,KAAc,UAAmC,EAAE,OAAO,IAAK,GAAG;AACzF,SAAO,UAAM,8BAAc,OAAO,EAAE,QAAQ,GAAG,QAAI,8BAAc,OAAO;AAC5E;;;ACLA,mBAAkB;;;ACEX,IAAM,yBAAN,MAA6B;AAAA,EAA7B;AAEL,SAAQ,cAAc,YAA6B;AAAE,aAAO;AAAA,IAAG;AAE/D,SAAO,oCAA4C;AAAA;AAAA,EAGnD,IAAI,QAAQ,OAAe;AACzB,0BAAc,SAAS,UAAU;AACjC,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,IAAI,UAA8B;AAChC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,WAAW,KAA4B;AACzC,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,IAAI,aAAoC;AACtC,WAAO,KAAK;AAAA,EACd;AACF;AAEA,IAAM,eAAe,IAAI,uBAAuB;AAChD,IAAO,iBAAQ;;;ADxBf,IAAM,SAAS,UAAU,gBAAgB;AAEzC,IAAM,gBAAgB,aAAAA,QAAM,OAAO;AAEnC,IAAI,oBAAwD;AAC5D,IAAM,eAAe,MAAM,oBAAoB;AAE/C,eAAe,aAAa,YAA+C;AACvE,QAAM,eAAe,MAAM,WAAW;AACtC,SAAO;AACX;AAIA,cAAc,aAAa,QAAQ;AAAA,EAC/B,OAAM,WAAU;AACZ,WAAO,KAAK,+BAA+B,OAAO,GAAG;AACrD,QAAI,CAAC,mBAAmB;AACpB,0BAAoB,aAAa,eAAa,UAAU,EAAE,QAAQ,YAAY;AAAA,IAClF;AAGA,UAAM,QAAQ,MAAM;AACpB,QAAI,CAAC,OAAO;AACR,aAAO;AAAA,IACX;AAEA,WAAO,QAAQ,gBAAgB,UAAU,KAAK;AAC9C,WAAO;AAAA,EACX;AAAA,EACA,WAAS;AACL,WAAO,MAAM,KAAK;AAClB,YAAQ,OAAO,KAAK;AAAA,EAC1B;AAAC;AAEH,IAAO,wBAAQ;;;AExBf,IAAMC,UAAS,UAAU,oBAAoB;AAE7C,IAAM,oBAAN,MAAwB;AAAA,EAAxB;AACE,iCAAwB,CACtB,OACA,WACyC;AACzC,MAAAA,QAAO,KAAK,eAAe,KAAK,cAAc;AAC9C,aAAO,sBAAc,IAAkB,YAAY,KAAK,gBAAgB;AAAA,QACtE;AAAA,MACF,CAAC;AAAA,IACH;AAEA,yBAAgB,CACd,iBAC8C;AAC9C,aAAO,sBAAc;AAAA,QACnB,eAAe,YAAY;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,IACF;AAEA,yBAAgB,CACd,iBAC6C;AAC7C,aAAO,sBAAc;AAAA,QACnB,eAAe,YAAY;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,IACF;AAEA,0BAAiB,CACf,iBAC6C;AAC7C,aAAO,sBAAc;AAAA,QACnB,eAAe,YAAY;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,IACF;AAEA,4BAAmB,CACjB,iBAC6C;AAC7C,aAAO,sBAAc;AAAA,QACnB,eAAe,YAAY;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,IACF;AAAA;AACF;AAEO,IAAM,oBAAoB,IAAI,kBAAkB;;;ACpDvD,IAAMC,UAAS,UAAU,gBAAgB;AAEzC,IAAM,gBAAN,MAAoB;AAAA,EAApB;AACE,6BAAoB,CAClB,cACkD;AAClD,aAAO,sBAAc,IAA2B,YAAY,SAAS,UAAU;AAAA,IACjF;AAEA,qCAA4B,CAC1B,eACkD;AAClD,aAAO,sBAAc,IAA2B,aAAa,UAAU,UAAU;AAAA,IACnF;AAEA,qCAA4B,CAC1B,eAC6D;AAC7D,aAAO,sBAAc,KAAuC,aAAa,UAAU,UAAU;AAAA,IAC/F;AAEA,4BAAmB,CACjB,aACoD;AACpD,aAAO,sBAAc,IAA6B,WAAW,QAAQ,EAAE;AAAA,IACzE;AAEA,4BAAmB,CACjB,aAC6D;AAC7D,aAAO,sBAAc,IAAsC,WAAW,QAAQ,EAAE;AAAA,IAClF;AAEA,wBAAe,CACb,aAC6C;AAC7C,aAAO,sBAAc,OAAyB,WAAW,QAAQ,EAAE;AAAA,IACrE;AAEA,kCAAyB,CACvB,aAC0D;AAC1D,aAAO,sBAAc,IAAmC,WAAW,QAAQ,+BAA+B;AAAA,IAC5G;AAAA;AACF;AAEO,IAAM,gBAAgB,IAAI,cAAc;;;ACxC/C,IAAM,kBAAN,MAAsB;AAAA,EAAtB;AAEE,wBAAe,CACb,OACA,WACkD;AAClD,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK;AAAA,QACjB;AAAA,UACE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,yBAAgB,CACd,OACA,WACuD;AACvD,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK;AAAA,QACjB;AAAA,UACE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,uBAAc,CACZ,eACsD;AACtD,aAAO,sBAAc;AAAA,QACnB,aAAa,UAAU;AAAA,QACvB,CAAC;AAAA,MACH;AAAA,IACF;AAEA,uBAAc,CACZ,eACqD;AACrD,aAAO,sBAAc;AAAA,QACnB,aAAa,UAAU;AAAA,QACvB,CAAC;AAAA,MACH;AAAA,IACF;AAEA,0BAAiB,CACf,eAC6C;AAC7C,aAAO,sBAAc;AAAA,QACnB,aAAa,UAAU;AAAA,QACvB,CAAC;AAAA,MACH;AAAA,IACF;AAAA;AACF;AAEO,IAAM,kBAAkB,IAAI,gBAAgB;;;ACpDnD,IAAM,iBAAN,MAAqB;AAAA,EAArB;AAEE,mCAA0B,CACxB,mBACgD;AAChD,aAAO,sBAAc;AAAA,QACnB,iBAAiB,cAAc;AAAA,MACjC;AAAA,IACF;AAEA,oCAA2B,CACzB,mBACoD;AACpD,aAAO,sBAAc;AAAA,QACnB,iBAAiB,cAAc;AAAA,MACjC;AAAA,IACF;AAEA,uBAAc,CACZ,WACgD;AAChD,aAAO,sBAAc,IAAyB,YAAY;AAAA,QACxD;AAAA,MACF,CAAC;AAAA,IACH;AAEA,6BAAoB,CAClB,OACA,WACqD;AACrD,aAAO,sBAAc,IAA8B,YAAY,KAAK,IAAI;AAAA,QACtE;AAAA,MACF,CAAC;AAAA,IACH;AAEA,6BAAoB,CAClB,OACA,WACiD;AACjD,aAAO,sBAAc,IAA0B,YAAY,KAAK,IAAI;AAAA,QAClE;AAAA,MACF,CAAC;AAAA,IACH;AAEA,yBAAgB,CACd,OACA,WAC6C;AAC7C,aAAO,sBAAc,OAAyB,YAAY,KAAK,IAAI;AAAA,QACjE;AAAA,MACF,CAAC;AAAA,IACH;AAEA,2BAAkB,CAChB,OACA,WACmD;AACnD,aAAO,sBAAc,IAA4B,YAAY,KAAK,UAAU;AAAA,QAC1E;AAAA,MACF,CAAC;AAAA,IACH;AAEA,kCAAyB,CACvB,OACA,WAC4D;AAC5D,aAAO,sBAAc,IAAqC,YAAY,KAAK,iBAAiB;AAAA,QAC1F;AAAA,MACF,CAAC;AAAA,IACH;AAEA,iCAAwB,CACtB,OACA,UAC0D;AAC1D,aAAO,sBAAc;AAAA,QAAmC,YAAY,KAAK,iBAAiB,KAAK;AAAA,QAC7F,CAAC;AAAA,MACH;AAAA,IACF;AAEA,iCAAwB,CACtB,OACA,UACwD;AACxD,aAAO,sBAAc;AAAA,QAAiC,YAAY,KAAK,iBAAiB,KAAK;AAAA,QAC3F,CAAC;AAAA,MACH;AAAA,IACF;AAAA;AAEF;AACO,IAAM,iBAAiB,IAAI,eAAe;;;ACrFjD,IAAMC,UAAS,UAAU,0BAA0B;AAEnD,IAAM,yBAAN,MAA6B;AAAA,EAA7B;AAEE,kBAAS,CACP,OACA,WACwD;AACxD,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK;AAAA,QACjB;AAAA,UACE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,+BAAsB,CACpB,OACA,cACA,WACwD;AACxD,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK,aAAa,YAAY;AAAA,QAC1C;AAAA,UACE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,kCAAyB,CACvB,OACA,WAC2D;AAC3D,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK;AAAA,QACjB;AAAA,UACE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAGA,uCAA8B,CAC5B,OACA,OACA,cACA,WACwD;AACxD,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK,cAAc,KAAK,aAAa,YAAY;AAAA,QAC7D;AAAA,UACE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,wCAA+B,CAC7B,OACA,OACA,cACA,WACkD;AAClD,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK,cAAc,KAAK,aAAa,YAAY;AAAA,QAC7D;AAAA,UACE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAGA,8BAAqB,CACnB,OACA,cACA,gBACG;AACH,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW;AAAA,MACrE;AAAA,IACF;AAEA,8BAAqB,CACnB,OACA,cACA,gBACG;AACH,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW;AAAA,MACrE;AAAA,IACF;AAEA,iCAAwB,CACtB,OACA,cACA,gBACG;AACH,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW;AAAA,MACrE;AAAA,IACF;AAGA,yCAAgC,CAC9B,OACA,cACA,gBACG;AACH,aAAO,sBAAc,IAAgD,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW,aAAa;AAAA,IACvJ;AAEA,yCAAgC,CAC9B,OACA,cACA,gBACG;AACH,aAAO,sBAAc,IAAgD,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW,aAAa;AAAA,IACvJ;AAAA;AAAA,EAEA,2BACE,OACA,cACuD;AACvD,WAAO,sBAAc,IAAmC,YAAY,KAAK,aAAa,YAAY,OAAO;AAAA,EAC3G;AAAA,EAEA,wBACE,OACA,cACA,aACuD;AACvD,WAAO,sBAAc,IAAmC,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW,OAAO;AAAA,EACpI;AAAA,EAGA,6BACE,OACA,cACoD;AACpD,WAAO,sBAAc;AAAA,MACnB,YAAY,KAAK,aAAa,YAAY;AAAA,IAAQ;AAAA,EACtD;AAAA,EAEA,0BACE,OACA,cACA,aACuD;AACvD,WAAO,sBAAc,IAAmC,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW,QAAQ;AAAA,EACrI;AAAA,EAEA,iCACE,OACA,cACA,aACuD;AACvD,WAAO,sBAAc,IAAmC,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW,gBAAgB;AAAA,EAC7I;AAAA,EAEA,iCACE,OACA,cACA,aACuD;AACvD,WAAO,sBAAc,IAAmC,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW,gBAAgB;AAAA,EAC7I;AAAA,EAEA,gCACE,OACA,cACA,aACuD;AACvD,WAAO,sBAAc,IAAmC,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW,gBAAgB;AAAA,EAC7I;AAAA,EAEA,yCACE,OACA,cACA,aACuD;AACvD,WAAO,sBAAc,IAAmC,YAAY,KAAK,aAAa,YAAY,cAAc,WAAW,0BAA0B;AAAA,EACvJ;AAAA,EAEA,mBACE,OACA,YACwD;AACxD,WAAO,sBAAc;AAAA,MACnB,YAAY,KAAK,cAAc,UAAU;AAAA,IAAW;AAAA,EACxD;AAAA,EAEA,wBACE,OAC8C;AAC9C,WAAO,sBAAc;AAAA,MACnB,iBAAiB,KAAK;AAAA,IAAY;AAAA,EACtC;AAAA,EAEA,gCACE,OACA,cAC8C;AAC9C,WAAO,sBAAc;AAAA,MACnB,iBAAiB,KAAK,aAAa,YAAY;AAAA,IAAY;AAAA,EAC/D;AAEF;AAEO,IAAM,yBAAyB,IAAI,uBAAuB;;;AC7NjE,IAAMC,UAAS,UAAU,0BAA0B;AAEnD,IAAM,mBAAN,MAAuB;AAAA,EAAvB;AACE,gCAAuB,CACrB,UACsD;AACtD,MAAAA,QAAO,KAAK,eAAe,KAAK,aAAa;AAC7C,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK;AAAA,MACnB;AAAA,IACF;AAEA,+BAAsB,CACpB,OACA,aACoD;AACpD,MAAAA,QAAO,KAAK,iBAAiB,QAAQ,iBAAiB,KAAK,EAAE;AAC7D,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK,eAAe,QAAQ;AAAA,MAC1C;AAAA,IACF;AAEA,gCAAuB,CACrB,UACoD;AACpD,MAAAA,QAAO,KAAK,+BAA+B,KAAK,EAAE;AAClD,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK;AAAA,MACnB;AAAA,IACF;AAEA,+BAAsB,CACpB,OACA,aACgD;AAChD,MAAAA,QAAO,KAAK,oBAAoB,QAAQ,eAAe,KAAK,EAAE;AAC9D,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK,eAAe,QAAQ;AAAA,MAC1C;AAAA,IACF;AAEA,2BAAkB,CAChB,OACA,aAC6C;AAC7C,MAAAA,QAAO,KAAK,oBAAoB,QAAQ,eAAe,KAAK,EAAE;AAC9D,aAAO,sBAAc,OAAyB,YAAY,KAAK,eAAe,QAAQ,EAAE;AAAA,IAC1F;AAEA,wCAA+B,CAC7B,OACA,aAC6C;AAC7C,MAAAA,QAAO,KAAK,6BAA6B,QAAQ,eAAe,KAAK,EAAE;AACvE,aAAO,sBAAc;AAAA,QACnB,YAAY,KAAK,eAAe,QAAQ;AAAA,MAC1C;AAAA,IACF;AAAA;AAEF;AACO,IAAM,mBAAmB,IAAI,iBAAiB;;;AC1DrD,IAAMC,UAAS,UAAU,0BAA0B;AAE5C,IAAM,aAAN,MAAiB;AAAA,EAAjB;AACL,mBAAU,CACR,OACA,WACyC;AACzC,MAAAA,QAAO,KAAK,eAAe,KAAK,OAAO;AACvC,aAAO,sBAAc,IAAkB,YAAY,KAAK,SAAS;AAAA,QAC/D;AAAA,MACF,CAAC;AAAA,IACH;AAEA,kBAAS,CACP,OACA,UAC8C;AAC9C,MAAAA,QAAO,KAAK,eAAe,KAAK,QAAQ,KAAK,EAAE;AAC/C,aAAO,sBAAc,IAAuB,QAAQ,KAAK,EAAE;AAAA,IAC7D;AAEA,mBAAU,CACR,UACuC;AACvC,MAAAA,QAAO,KAAK,0BAA0B,KAAK,EAAE;AAC7C,aAAO,sBAAc,KAAiB,YAAY,KAAK,OAAO;AAAA,IAChE;AAEA,kBAAS,CACP,OACA,UAC6C;AAC7C,MAAAA,QAAO,KAAK,kBAAkB,KAAK,QAAQ,KAAK,EAAE;AAClD,aAAO,sBAAc,IAAsB,QAAQ,KAAK,EAAE;AAAA,IAC5D;AAEA,qBAAY,CACV,OACA,UAC6C;AAC7C,MAAAA,QAAO,KAAK,kBAAkB,KAAK,QAAQ,KAAK,EAAE;AAClD,aAAO,sBAAc,OAAyB,QAAQ,KAAK,EAAE;AAAA,IAC/D;AAAA;AAEF;AAEO,IAAM,aAAa,IAAI,WAAW;;;ACpDzC,IAAMC,UAAS,UAAU,aAAa;AAE/B,IAAM,aAAN,MAAiB;AAAA,EAGtB,YAAYC,aAAwB;AAIpC,SAAO,cAAc,OACnB,OACA,WAAmB,GACnB,WAC6B;AAC7B,MAAAD,QAAO,KAAK,eAAe,KAAK,YAAY;AAC5C,UAAI,CAAC,QAAQ;AACX,iBAAS,CAAC;AAAA,MACZ;AACA,aAAO,YAAY;AAEnB,YAAM,OAAO,MAAM,KAAK;AAAA,QACtB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,aAAO,EAAE,MAAM,KAAK;AAAA,IACtB;AAEA,SAAO,kBAAkB,OACvB,OACA,QAAgB,GAChB,WACA,QACA,aACkC;AAClC,MAAAA,QAAO,MAAM,eAAe,KAAK,mBAAmB,SAAS,EAAE;AAC/D,UAAI,CAAC,QAAQ;AACX,iBAAS,CAAC;AAAA,MACZ;AACA,aAAO,YAAY,CAAC;AACpB,aAAO,aAAa;AAEpB,YAAM,OAAO,MAAM,KAAK,WAAW,QAAQ,OAAO,MAAM;AACxD,UAAI,KAAK,KAAK,UAAU,GAAG;AACzB,eAAO,CAAC;AAAA,MACV;AAEA,YAAM,WAAiC,CAAC;AACxC,YAAM,WAAkB,CAAC;AACzB,eAASE,KAAI,GAAGA,KAAI,KAAK,KAAK,QAAQA,MAAK;AACzC,cAAM,UAAU,KAAK,KAAKA,EAAC;AAC3B,cAAM,OAAO;AAAA,UACX,KAAK;AAAA,QACP;AACA,iBAAS,KAAK,IAAI;AAClB,YAAI,YAAY,QAAQ,UAAU;AAChC,mBAAS;AAAA,YACP,KAAK,gBAAgB,OAAO,QAAQ,GAAG,QAAQ,IAAI,QAAQ,QAAQ;AAAA,UACrE;AAAA,QACF;AAAA,MACF;AAEA,YAAM,YAAY,MAAM,QAAQ,IAAI,QAAQ;AAC5C,UAAI,IAAI;AACR,gBAAU,QAAQ,CAAC,YAAY;AAC7B,iBAAS,CAAC,EAAE,WAAW;AACvB;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAlEE,SAAK,aAAaD;AAAA,EACpB;AAkEF;;;ACpEA,IAAM,kCAAN,MAA6E;AAAA,EAEzE,MAAa,mBAAmB,OAAe,yBAA+D;AAE1G,UAAM,EAAE,MAAM,QAAO,IAAI,MAAM,eAAe,kBAAkB,KAAK;AACrE,QAAI,QAAQ,gBAAgB,yBAAyB;AACjD,aAAO;AAAA,IACX;AAEA,WAAO,KAAK,eAAe,SAAS,uBAAuB;AAAA,EAC/D;AAAA,EAEO,eAAe,SAAmC,yBAA6C;AAElG,YAAQ,yBAAyB;AAAA,MAC7B,KAAK;AACD,eAAO,QAAQ,gBAAgB;AAAA,MACnC,KAAK;AACD,eAAO,QAAQ,gBAAgB,WAAW,QAAQ,gBAAgB;AAAA,MACtE,KAAK;AACD,eAAO,QAAQ,gBAAgB,gBAAgB,QAAQ,gBAAgB,WAC/D,QAAQ,gBAAgB;AAAA,MACpC,KAAK;AACD,eAAO;AAAA,MACX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AAAA,EAEO,kBAAkB,SAAmC,6BAAsD;AAC9G,YAAQ,6BAA6B;AAAA,MACjC,KAAK;AACD,eAAO,QAAQ,oBAAoB;AAAA,MACvC,KAAK;AACD,eAAO,QAAQ,oBAAoB,cAAc,QAAQ,oBAAoB;AAAA,MACjF,KAAK;AACD,eAAO,QAAQ,oBAAoB,cAAc,QAAQ,oBAAoB,cACrE,QAAQ,oBAAoB;AAAA,MACxC,KAAK;AACD,eAAO;AAAA,MACX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AACJ;AAEO,IAAM,8BAA2D,IAAI,gCAAgC;;;AZvD5G,IAAM,aAAa,IAAI,WAAW,UAAU;","names":["axios","logger","logger","logger","logger","logger","logger","tagsClient","i"]}
|