@3dverse/api 0.0.4 → 0.1.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/index.cjs.js CHANGED
@@ -17,38 +17,17 @@ var axios = require('axios');
17
17
  * Do not edit this file class manually.
18
18
  */
19
19
  //--------------------------------------------------------------------------
20
- const axiosInstance = createAxiosInstance();
21
- //------------------------------------------------------------------------------
22
- function createAxiosInstance() {
23
- const axiosInstance = axios.create({
24
- baseURL: "https://api.3dverse.com/v1"
25
- });
26
- axiosInstance.interceptors.response.use(successFulResponse => {
27
- if (successFulResponse.config.responseType === 'stream') {
28
- successFulResponse.data.pause();
29
- }
30
- return successFulResponse;
31
- }, axiosError => {
32
- if (!axiosError.response) {
33
- return Promise.reject(axiosError);
34
- }
35
- const errorData = axiosError.response.data;
36
- const error = {
37
- errorCode: errorData.errorCode,
38
- message: errorData.message,
39
- status: axiosError.response.status,
40
- error: errorData.error || errorData,
41
- };
42
- return Promise.reject(error);
43
- });
44
- return axiosInstance;
45
- }
20
+ const axiosInstance = axios.create({
21
+ baseURL: "https://api.3dverse.com/app/v1",
22
+ operationId: "3dverse"
23
+ });
46
24
  //------------------------------------------------------------------------------
47
25
  function setBaseURL(baseURL) {
48
26
  axiosInstance.defaults.baseURL = baseURL;
49
27
  }
50
28
  function listUsers({ offset = 0, limit = 10 }) {
51
29
  return axiosInstance({
30
+ operationId: "listUsers",
52
31
  method: "get",
53
32
  url: "/users",
54
33
  params: {
@@ -59,6 +38,7 @@ function listUsers({ offset = 0, limit = 10 }) {
59
38
  }
60
39
  function registerUser({ username }) {
61
40
  return axiosInstance({
41
+ operationId: "registerUser",
62
42
  method: "post",
63
43
  url: "/users",
64
44
  data: {
@@ -68,6 +48,7 @@ function registerUser({ username }) {
68
48
  }
69
49
  function getUser({ user_id }) {
70
50
  return axiosInstance({
51
+ operationId: "getUser",
71
52
  method: "get",
72
53
  url: "/users/" + user_id + ""
73
54
  });
@@ -76,6 +57,7 @@ function getUser({ user_id }) {
76
57
  // Updates the details of the target user.
77
58
  function updateUser({ user_id, username }) {
78
59
  return axiosInstance({
60
+ operationId: "updateUser",
79
61
  method: "patch",
80
62
  url: "/users/" + user_id + "",
81
63
  data: {
@@ -85,12 +67,14 @@ function updateUser({ user_id, username }) {
85
67
  }
86
68
  function deleteUser({ user_id }) {
87
69
  return axiosInstance({
70
+ operationId: "deleteUser",
88
71
  method: "delete",
89
72
  url: "/users/" + user_id + ""
90
73
  });
91
74
  }
92
75
  function generateUserToken({ user_id, scope, ttl = '1h' }) {
93
76
  return axiosInstance({
77
+ operationId: "generateUserToken",
94
78
  method: "post",
95
79
  url: "/users/" + user_id + "/tokens",
96
80
  data: {
@@ -101,12 +85,14 @@ function generateUserToken({ user_id, scope, ttl = '1h' }) {
101
85
  }
102
86
  function getUserGroups({ user_id }) {
103
87
  return axiosInstance({
88
+ operationId: "getUserGroups",
104
89
  method: "get",
105
90
  url: "/users/" + user_id + "/groups"
106
91
  });
107
92
  }
108
93
  function getUserUploadTasks({ user_id, offset = 0, limit = 10 }) {
109
94
  return axiosInstance({
95
+ operationId: "getUserUploadTasks",
110
96
  method: "get",
111
97
  url: "/users/" + user_id + "/upload-tasks",
112
98
  params: {
@@ -117,6 +103,7 @@ function getUserUploadTasks({ user_id, offset = 0, limit = 10 }) {
117
103
  }
118
104
  function createGroup({ group_name, group_description, members }) {
119
105
  return axiosInstance({
106
+ operationId: "createGroup",
120
107
  method: "post",
121
108
  url: "/groups",
122
109
  data: {
@@ -128,6 +115,7 @@ function createGroup({ group_name, group_description, members }) {
128
115
  }
129
116
  function getGroup({ group_id }) {
130
117
  return axiosInstance({
118
+ operationId: "getGroup",
131
119
  method: "get",
132
120
  url: "/groups/" + group_id + ""
133
121
  });
@@ -136,6 +124,7 @@ function getGroup({ group_id }) {
136
124
  // Updates a group details.
137
125
  function updateGroupDescription({ group_id, group_name, group_description }) {
138
126
  return axiosInstance({
127
+ operationId: "updateGroupDescription",
139
128
  method: "patch",
140
129
  url: "/groups/" + group_id + "",
141
130
  data: {
@@ -148,6 +137,7 @@ function updateGroupDescription({ group_id, group_name, group_description }) {
148
137
  // Deletes a group and all its access rights.
149
138
  function deleteGroup({ group_id }) {
150
139
  return axiosInstance({
140
+ operationId: "deleteGroup",
151
141
  method: "delete",
152
142
  url: "/groups/" + group_id + ""
153
143
  });
@@ -156,6 +146,7 @@ function deleteGroup({ group_id }) {
156
146
  // Grants member access to the group.
157
147
  function grantMemberAccessToGroup({ group_id, member_type, member_id, group_access, folder_access }) {
158
148
  return axiosInstance({
149
+ operationId: "grantMemberAccessToGroup",
159
150
  method: "put",
160
151
  url: "/groups/" + group_id + "/members/" + member_type + "/" + member_id + "",
161
152
  data: {
@@ -168,12 +159,14 @@ function grantMemberAccessToGroup({ group_id, member_type, member_id, group_acce
168
159
  // Revoke requested user access to group.
169
160
  function revokeMemberAccessToGroup({ group_id, member_type, member_id }) {
170
161
  return axiosInstance({
162
+ operationId: "revokeMemberAccessToGroup",
171
163
  method: "delete",
172
164
  url: "/groups/" + group_id + "/members/" + member_type + "/" + member_id + ""
173
165
  });
174
166
  }
175
167
  function listFolders({ offset = 0, limit = 10 }) {
176
168
  return axiosInstance({
169
+ operationId: "listFolders",
177
170
  method: "get",
178
171
  url: "/folders",
179
172
  params: {
@@ -184,6 +177,7 @@ function listFolders({ offset = 0, limit = 10 }) {
184
177
  }
185
178
  function createFolder({ folder_name, subfolders }) {
186
179
  return axiosInstance({
180
+ operationId: "createFolder",
187
181
  method: "post",
188
182
  url: "/folders",
189
183
  data: {
@@ -194,23 +188,26 @@ function createFolder({ folder_name, subfolders }) {
194
188
  }
195
189
  function getFolderInfo({ folder_id }) {
196
190
  return axiosInstance({
191
+ operationId: "getFolderInfo",
197
192
  method: "get",
198
193
  url: "/folders/" + folder_id + ""
199
194
  });
200
195
  }
201
196
  //--------------------------------------------------------------------------
202
197
  // Move folders inside the specified folder.
203
- function moveFolders({ folder_id, folder_ids }) {
198
+ function moveFolders({ folder_id, folderIds }) {
204
199
  return axiosInstance({
200
+ operationId: "moveFolders",
205
201
  method: "put",
206
202
  url: "/folders/" + folder_id + "",
207
- data: folder_ids
203
+ data: folderIds
208
204
  });
209
205
  }
210
206
  //--------------------------------------------------------------------------
211
207
  // Updates the folder details.
212
208
  function updateFolder({ folder_id, folder_name }) {
213
209
  return axiosInstance({
210
+ operationId: "updateFolder",
214
211
  method: "patch",
215
212
  url: "/folders/" + folder_id + "",
216
213
  data: {
@@ -222,12 +219,14 @@ function updateFolder({ folder_id, folder_name }) {
222
219
  // Deletes the requested folder. The target folder must be empty.
223
220
  function deleteFolder({ folder_id }) {
224
221
  return axiosInstance({
222
+ operationId: "deleteFolder",
225
223
  method: "delete",
226
224
  url: "/folders/" + folder_id + ""
227
225
  });
228
226
  }
229
227
  function listFolderAccesses({ folder_id }) {
230
228
  return axiosInstance({
229
+ operationId: "listFolderAccesses",
231
230
  method: "get",
232
231
  url: "/folders/" + folder_id + "/access"
233
232
  });
@@ -236,6 +235,7 @@ function listFolderAccesses({ folder_id }) {
236
235
  // Grants member access to the targeted folder.
237
236
  function grantMemberAccessToFolder({ folder_id, member_type, member_id, access }) {
238
237
  return axiosInstance({
238
+ operationId: "grantMemberAccessToFolder",
239
239
  method: "put",
240
240
  url: "/folders/" + folder_id + "/access/" + member_type + "/" + member_id + "",
241
241
  data: {
@@ -247,12 +247,14 @@ function grantMemberAccessToFolder({ folder_id, member_type, member_id, access }
247
247
  // Revokes member access to a target folder.
248
248
  function revokeMemberAccessToFolder({ folder_id, member_type, member_id }) {
249
249
  return axiosInstance({
250
+ operationId: "revokeMemberAccessToFolder",
250
251
  method: "delete",
251
252
  url: "/folders/" + folder_id + "/access/" + member_type + "/" + member_id + ""
252
253
  });
253
254
  }
254
255
  function createSubfolder({ folder_id, folder_name, subfolders }) {
255
256
  return axiosInstance({
257
+ operationId: "createSubfolder",
256
258
  method: "post",
257
259
  url: "/folders/" + folder_id + "/folders",
258
260
  data: {
@@ -263,6 +265,7 @@ function createSubfolder({ folder_id, folder_name, subfolders }) {
263
265
  }
264
266
  function listFolderSubFolders({ folder_id, depth = 0 }) {
265
267
  return axiosInstance({
268
+ operationId: "listFolderSubFolders",
266
269
  method: "get",
267
270
  url: "/folders/" + folder_id + "/folders",
268
271
  params: {
@@ -272,6 +275,7 @@ function listFolderSubFolders({ folder_id, depth = 0 }) {
272
275
  }
273
276
  function uploadSourceFiles({ folder_id, body }) {
274
277
  return axiosInstance({
278
+ operationId: "uploadSourceFiles",
275
279
  method: "post",
276
280
  url: "/folders/" + folder_id + "/source-files",
277
281
  headers: {
@@ -282,6 +286,7 @@ function uploadSourceFiles({ folder_id, body }) {
282
286
  }
283
287
  function getSourceFilesInFolder({ folder_id, offset = 0, limit = 10 }) {
284
288
  return axiosInstance({
289
+ operationId: "getSourceFilesInFolder",
285
290
  method: "get",
286
291
  url: "/folders/" + folder_id + "/source-files",
287
292
  params: {
@@ -292,15 +297,17 @@ function getSourceFilesInFolder({ folder_id, offset = 0, limit = 10 }) {
292
297
  }
293
298
  //--------------------------------------------------------------------------
294
299
  // Move source files inside the specified folder.
295
- function moveSourceFiles({ folder_id, source_file_ids }) {
300
+ function moveSourceFiles({ folder_id, sourceFileIds }) {
296
301
  return axiosInstance({
302
+ operationId: "moveSourceFiles",
297
303
  method: "put",
298
304
  url: "/folders/" + folder_id + "/source-files",
299
- data: source_file_ids
305
+ data: sourceFileIds
300
306
  });
301
307
  }
302
308
  function getUploadTasksInFolder({ folder_id, offset = 0, limit = 10 }) {
303
309
  return axiosInstance({
310
+ operationId: "getUploadTasksInFolder",
304
311
  method: "get",
305
312
  url: "/folders/" + folder_id + "/upload-tasks",
306
313
  params: {
@@ -309,36 +316,45 @@ function getUploadTasksInFolder({ folder_id, offset = 0, limit = 10 }) {
309
316
  }
310
317
  });
311
318
  }
312
- function getFolderAssets({ folder_id }) {
319
+ function getFolderAssets({ folder_id, offset = 0, limit = 10 }) {
313
320
  return axiosInstance({
321
+ operationId: "getFolderAssets",
314
322
  method: "get",
315
- url: "/folders/" + folder_id + "/assets"
323
+ url: "/folders/" + folder_id + "/assets",
324
+ params: {
325
+ offset: offset,
326
+ limit: limit
327
+ }
316
328
  });
317
329
  }
318
330
  //--------------------------------------------------------------------------
319
331
  // Move assets inside the specified folder.
320
- function moveAssets({ folder_id, asset_ids }) {
332
+ function moveAssets({ folder_id, assetIds }) {
321
333
  return axiosInstance({
334
+ operationId: "moveAssets",
322
335
  method: "put",
323
336
  url: "/folders/" + folder_id + "/assets",
324
- data: asset_ids
337
+ data: assetIds
325
338
  });
326
339
  }
327
- function createAsset({ folder_id, asset_container_creatable, body }) {
340
+ function createAsset({ folder_id, asset_container_creatable, assetCreationOptions }) {
328
341
  return axiosInstance({
342
+ operationId: "createAsset",
329
343
  method: "post",
330
344
  url: "/folders/" + folder_id + "/assets/" + asset_container_creatable + "",
331
- data: body
345
+ data: assetCreationOptions
332
346
  });
333
347
  }
334
348
  function getSessionsInFolder({ folder_id }) {
335
349
  return axiosInstance({
350
+ operationId: "getSessionsInFolder",
336
351
  method: "get",
337
352
  url: "/folders/" + folder_id + "/sessions"
338
353
  });
339
354
  }
340
355
  function listSourceFiles({ offset = 0, limit = 10 }) {
341
356
  return axiosInstance({
357
+ operationId: "listSourceFiles",
342
358
  method: "get",
343
359
  url: "/source-files",
344
360
  params: {
@@ -349,17 +365,19 @@ function listSourceFiles({ offset = 0, limit = 10 }) {
349
365
  }
350
366
  //--------------------------------------------------------------------------
351
367
  // Deletes the target source files. Deleting a source file is permanent.
352
- function deleteSourceFiles({ source_file_ids }) {
368
+ function deleteSourceFiles({ sourceFileIds }) {
353
369
  return axiosInstance({
370
+ operationId: "deleteSourceFiles",
354
371
  method: "delete",
355
372
  url: "/source-files",
356
- data: source_file_ids
373
+ data: sourceFileIds
357
374
  });
358
375
  }
359
376
  //--------------------------------------------------------------------------
360
377
  // Downloads the target source file.
361
378
  function downloadSourceFile({ source_file_id }) {
362
379
  return axiosInstance({
380
+ operationId: "downloadSourceFile",
363
381
  method: "get",
364
382
  url: "/source-files/" + source_file_id + "",
365
383
  responseType: "arraybuffer"
@@ -367,6 +385,7 @@ function downloadSourceFile({ source_file_id }) {
367
385
  }
368
386
  function getSourceFileDetails({ source_file_id }) {
369
387
  return axiosInstance({
388
+ operationId: "getSourceFileDetails",
370
389
  method: "get",
371
390
  url: "/source-files/" + source_file_id + "/details"
372
391
  });
@@ -375,6 +394,7 @@ function getSourceFileDetails({ source_file_id }) {
375
394
  // Updates details for a specific source file.
376
395
  function updateSourceFileDetails({ source_file_id, source_file_name }) {
377
396
  return axiosInstance({
397
+ operationId: "updateSourceFileDetails",
378
398
  method: "patch",
379
399
  url: "/source-files/" + source_file_id + "/details",
380
400
  data: {
@@ -384,18 +404,21 @@ function updateSourceFileDetails({ source_file_id, source_file_name }) {
384
404
  }
385
405
  function getSourceFileAssets({ source_file_id }) {
386
406
  return axiosInstance({
407
+ operationId: "getSourceFileAssets",
387
408
  method: "get",
388
409
  url: "/source-files/" + source_file_id + "/assets"
389
410
  });
390
411
  }
391
412
  function getUploadTask({ upload_task_id }) {
392
413
  return axiosInstance({
414
+ operationId: "getUploadTask",
393
415
  method: "get",
394
416
  url: "/upload-tasks/" + upload_task_id + ""
395
417
  });
396
418
  }
397
419
  function listAssets({ offset = 0, limit = 10 }) {
398
420
  return axiosInstance({
421
+ operationId: "listAssets",
399
422
  method: "get",
400
423
  url: "/assets",
401
424
  params: {
@@ -406,41 +429,47 @@ function listAssets({ offset = 0, limit = 10 }) {
406
429
  }
407
430
  //--------------------------------------------------------------------------
408
431
  // Batch delete assets. You **MUST NOT** reference assets.
409
- function deleteAssets({ asset_ids }) {
432
+ function deleteAssets({ assetIds }) {
410
433
  return axiosInstance({
434
+ operationId: "deleteAssets",
411
435
  method: "delete",
412
436
  url: "/assets",
413
- data: asset_ids
437
+ data: assetIds
414
438
  });
415
439
  }
416
440
  //--------------------------------------------------------------------------
417
441
  // Deletes the asset.
418
442
  function deleteAsset({ asset_container, asset_id }) {
419
443
  return axiosInstance({
444
+ operationId: "deleteAsset",
420
445
  method: "delete",
421
446
  url: "/assets/" + asset_container + "/" + asset_id + ""
422
447
  });
423
448
  }
424
449
  function getAssetSourceFile({ asset_container, asset_id }) {
425
450
  return axiosInstance({
451
+ operationId: "getAssetSourceFile",
426
452
  method: "get",
427
453
  url: "/assets/" + asset_container + "/" + asset_id + "/source-file"
428
454
  });
429
455
  }
430
456
  function getAssetDetails({ asset_container, asset_id }) {
431
457
  return axiosInstance({
458
+ operationId: "getAssetDetails",
432
459
  method: "get",
433
460
  url: "/assets/" + asset_container + "/" + asset_id + "/details"
434
461
  });
435
462
  }
436
463
  function getAssetFolder({ asset_container, asset_id }) {
437
464
  return axiosInstance({
465
+ operationId: "getAssetFolder",
438
466
  method: "get",
439
467
  url: "/assets/" + asset_container + "/" + asset_id + "/folder"
440
468
  });
441
469
  }
442
470
  function getAssetDependencies({ asset_container, asset_id, format = 'flat', depth = 'all', filter }) {
443
471
  return axiosInstance({
472
+ operationId: "getAssetDependencies",
444
473
  method: "get",
445
474
  url: "/assets/" + asset_container + "/" + asset_id + "/dependencies",
446
475
  params: {
@@ -452,31 +481,31 @@ function getAssetDependencies({ asset_container, asset_id, format = 'flat', dept
452
481
  }
453
482
  function getAssetReferences({ asset_container, asset_id }) {
454
483
  return axiosInstance({
484
+ operationId: "getAssetReferences",
455
485
  method: "get",
456
486
  url: "/assets/" + asset_container + "/" + asset_id + "/references"
457
487
  });
458
488
  }
459
489
  function getAssetDescription({ asset_container, asset_id }) {
460
490
  return axiosInstance({
491
+ operationId: "getAssetDescription",
461
492
  method: "get",
462
493
  url: "/assets/" + asset_container + "/" + asset_id + "/description"
463
494
  });
464
495
  }
465
- //--------------------------------------------------------------------------
466
- // Updates asset description. Supports only updating name.
467
- function updateAssetDescription({ asset_container, asset_id, name }) {
496
+ function updateAssetDescription({ asset_container, asset_id, assetDescription }) {
468
497
  return axiosInstance({
498
+ operationId: "updateAssetDescription",
469
499
  method: "patch",
470
500
  url: "/assets/" + asset_container + "/" + asset_id + "/description",
471
- data: {
472
- name: name
473
- }
501
+ data: assetDescription
474
502
  });
475
503
  }
476
504
  //--------------------------------------------------------------------------
477
505
  // Gets the asset payload from the specified asset.
478
506
  function getAssetPayload({ asset_container_with_payload, asset_id }) {
479
507
  return axiosInstance({
508
+ operationId: "getAssetPayload",
480
509
  method: "get",
481
510
  url: "/assets/" + asset_container_with_payload + "/" + asset_id + "/payload",
482
511
  responseType: "arraybuffer"
@@ -484,12 +513,14 @@ function getAssetPayload({ asset_container_with_payload, asset_id }) {
484
513
  }
485
514
  function getAssetHistory({ asset_container, asset_id }) {
486
515
  return axiosInstance({
516
+ operationId: "getAssetHistory",
487
517
  method: "get",
488
518
  url: "/assets/" + asset_container + "/" + asset_id + "/history"
489
519
  });
490
520
  }
491
521
  function getAssetMeta({ asset_container, asset_id }) {
492
522
  return axiosInstance({
523
+ operationId: "getAssetMeta",
493
524
  method: "get",
494
525
  url: "/assets/" + asset_container + "/" + asset_id + "/meta"
495
526
  });
@@ -498,6 +529,7 @@ function getAssetMeta({ asset_container, asset_id }) {
498
529
  // Gets the code of the specified asset.
499
530
  function getAssetCode({ asset_container_with_code, asset_id }) {
500
531
  return axiosInstance({
532
+ operationId: "getAssetCode",
501
533
  method: "get",
502
534
  url: "/assets/" + asset_container_with_code + "/" + asset_id + "/code"
503
535
  });
@@ -506,6 +538,7 @@ function getAssetCode({ asset_container_with_code, asset_id }) {
506
538
  // Gets the asset thumbnail from the specified asset.
507
539
  function getAssetThumbnail({ asset_container, asset_id, size, default_url }) {
508
540
  return axiosInstance({
541
+ operationId: "getAssetThumbnail",
509
542
  method: "get",
510
543
  url: "/assets/" + asset_container + "/" + asset_id + "/thumbnail",
511
544
  params: {
@@ -518,6 +551,7 @@ function getAssetThumbnail({ asset_container, asset_id, size, default_url }) {
518
551
  // Assigns a thumbnail to the specified asset.
519
552
  function setAssetThumbnail({ asset_container, asset_id, body }, contentType) {
520
553
  return axiosInstance({
554
+ operationId: "setAssetThumbnail",
521
555
  method: "put",
522
556
  url: "/assets/" + asset_container + "/" + asset_id + "/thumbnail",
523
557
  headers: {
@@ -528,6 +562,7 @@ function setAssetThumbnail({ asset_container, asset_id, body }, contentType) {
528
562
  }
529
563
  function getAssetCustomTypes({ asset_container_with_custom_types, asset_id }) {
530
564
  return axiosInstance({
565
+ operationId: "getAssetCustomTypes",
531
566
  method: "get",
532
567
  url: "/assets/" + asset_container_with_custom_types + "/" + asset_id + "/custom-types"
533
568
  });
@@ -536,6 +571,7 @@ function getAssetCustomTypes({ asset_container_with_custom_types, asset_id }) {
536
571
  // Packages and downloads the target asset.
537
572
  function packageAsset({ asset_container, asset_id }) {
538
573
  return axiosInstance({
574
+ operationId: "packageAsset",
539
575
  method: "get",
540
576
  url: "/assets/" + asset_container + "/" + asset_id + "/package",
541
577
  responseType: "arraybuffer"
@@ -545,6 +581,7 @@ function packageAsset({ asset_container, asset_id }) {
545
581
  // Downloads an asset payload in a given format. Only mesh is supported for the moment. This endpoint requires special export permission.
546
582
  function exportAsset({ asset_container_exportable, asset_id, format, scale = 1 }) {
547
583
  return axiosInstance({
584
+ operationId: "exportAsset",
548
585
  method: "get",
549
586
  url: "/assets/" + asset_container_exportable + "/" + asset_id + "/exports/" + format + "",
550
587
  responseType: "arraybuffer",
@@ -555,18 +592,21 @@ function exportAsset({ asset_container_exportable, asset_id, format, scale = 1 }
555
592
  }
556
593
  function getSceneSessions({ scene_id }) {
557
594
  return axiosInstance({
595
+ operationId: "getSceneSessions",
558
596
  method: "get",
559
597
  url: "/assets/scenes/" + scene_id + "/sessions"
560
598
  });
561
599
  }
562
600
  function getSceneAABB({ scene_id }) {
563
601
  return axiosInstance({
602
+ operationId: "getSceneAABB",
564
603
  method: "get",
565
604
  url: "/assets/scenes/" + scene_id + "/aabb"
566
605
  });
567
606
  }
568
607
  function getEntity({ scene_id, entity_id, compute_global_transform = false }) {
569
608
  return axiosInstance({
609
+ operationId: "getEntity",
570
610
  method: "get",
571
611
  url: "/assets/scenes/" + scene_id + "/entities/" + entity_id + "",
572
612
  params: {
@@ -574,8 +614,26 @@ function getEntity({ scene_id, entity_id, compute_global_transform = false }) {
574
614
  }
575
615
  });
576
616
  }
617
+ function updateEntity({ scene_id, entity_id, entity }) {
618
+ return axiosInstance({
619
+ operationId: "updateEntity",
620
+ method: "patch",
621
+ url: "/assets/scenes/" + scene_id + "/entities/" + entity_id + "",
622
+ data: entity
623
+ });
624
+ }
625
+ //--------------------------------------------------------------------------
626
+ // Delete a specific entity from a scene
627
+ function deleteEntity({ scene_id, entity_id }) {
628
+ return axiosInstance({
629
+ operationId: "deleteEntity",
630
+ method: "delete",
631
+ url: "/assets/scenes/" + scene_id + "/entities/" + entity_id + ""
632
+ });
633
+ }
577
634
  function createSession({ scene_id }) {
578
635
  return axiosInstance({
636
+ operationId: "createSession",
579
637
  method: "post",
580
638
  url: "/sessions",
581
639
  data: {
@@ -585,6 +643,7 @@ function createSession({ scene_id }) {
585
643
  }
586
644
  function getSession({ session_id }) {
587
645
  return axiosInstance({
646
+ operationId: "getSession",
588
647
  method: "get",
589
648
  url: "/sessions/" + session_id + ""
590
649
  });
@@ -593,12 +652,14 @@ function getSession({ session_id }) {
593
652
  // Forcefully terminates a session.
594
653
  function killSession({ session_id }) {
595
654
  return axiosInstance({
655
+ operationId: "killSession",
596
656
  method: "delete",
597
657
  url: "/sessions/" + session_id + ""
598
658
  });
599
659
  }
600
660
  function joinSession({ session_id }) {
601
661
  return axiosInstance({
662
+ operationId: "joinSession",
602
663
  method: "post",
603
664
  url: "/sessions/" + session_id + "/clients"
604
665
  });
@@ -607,12 +668,26 @@ function joinSession({ session_id }) {
607
668
  // Kick a client from a running session.
608
669
  function kickClientFromSession({ session_id, client_id }) {
609
670
  return axiosInstance({
671
+ operationId: "kickClientFromSession",
610
672
  method: "delete",
611
673
  url: "/sessions/" + session_id + "/clients/" + client_id + ""
612
674
  });
613
675
  }
676
+ function joinSessionAsGuest() {
677
+ return axiosInstance({
678
+ operationId: "joinSessionAsGuest",
679
+ method: "post",
680
+ url: "/sessions/guests"
681
+ });
682
+ }
683
+ function generateGuestToken({ session_id }) {
684
+ return axiosInstance({
685
+ operationId: "generateGuestToken",
686
+ method: "post",
687
+ url: "/sessions/" + session_id + "/guests"
688
+ });
689
+ }
614
690
 
615
- //--------------------------------------------------------------------------
616
691
  //------------------------------------------------------------------------------
617
692
  function setApiKey(apiKey) {
618
693
  axiosInstance.defaults.headers.common['api_key'] = apiKey;
@@ -623,10 +698,73 @@ function setUserToken(userToken) {
623
698
  axiosInstance.defaults.headers.common['user_token'] = userToken;
624
699
  delete axiosInstance.defaults.headers.common['api_key'];
625
700
  }
701
+ //------------------------------------------------------------------------------
626
702
  function setBaseUrl(url) {
627
703
  axiosInstance.defaults.baseURL = url;
628
704
  }
705
+ //------------------------------------------------------------------------------
706
+ class ServiceError extends Error {
707
+ errorCode;
708
+ httpCode;
709
+ message;
710
+ //--------------------------------------------------------------------------
711
+ constructor(errorCode, httpCode, message) {
712
+ super();
713
+ this.errorCode = errorCode;
714
+ this.httpCode = httpCode;
715
+ this.message = message;
716
+ }
717
+ }
718
+ //------------------------------------------------------------------------------
719
+ class ApiError extends ServiceError {
720
+ serviceError;
721
+ constructor(errorCode, status, message, serviceError) {
722
+ super(errorCode, status, message);
723
+ this.serviceError = serviceError;
724
+ }
725
+ }
726
+ //------------------------------------------------------------------------------
727
+ class UnexpectedServiceError extends ServiceError {
728
+ unexpectedError;
729
+ constructor(status, unexpectedError) {
730
+ super(0, status, 'Unexpected service error error');
731
+ this.unexpectedError = unexpectedError;
732
+ }
733
+ }
734
+ //------------------------------------------------------------------------------
735
+ function installInterceptors() {
736
+ const CLIENT_ERROR = 400;
737
+ const INTERNAL_SERVER_ERROR = 500;
738
+ axiosInstance.interceptors.response.use(successFulResponse => {
739
+ if (successFulResponse.config.responseType === 'stream') {
740
+ successFulResponse.data.pause();
741
+ }
742
+ return successFulResponse;
743
+ }, error => {
744
+ if (!error.response) {
745
+ return Promise.reject(error);
746
+ }
747
+ const axiosError = error;
748
+ const status = axiosError.response?.status || INTERNAL_SERVER_ERROR;
749
+ const errorData = axiosError.response?.data;
750
+ if (!errorData &&
751
+ axiosError.request.method === 'HEAD' &&
752
+ status >= CLIENT_ERROR &&
753
+ status < INTERNAL_SERVER_ERROR) {
754
+ return axiosError.response;
755
+ }
756
+ if (!errorData || !('error' in errorData)) {
757
+ return Promise.reject(new UnexpectedServiceError(status, errorData));
758
+ }
759
+ const serviceError = errorData.error;
760
+ return Promise.reject(new ApiError(serviceError.errorCode, status, serviceError.message, serviceError));
761
+ });
762
+ }
763
+ //------------------------------------------------------------------------------
764
+ installInterceptors();
629
765
 
766
+ exports.ApiError = ApiError;
767
+ exports.UnexpectedServiceError = UnexpectedServiceError;
630
768
  exports.axiosInstance = axiosInstance;
631
769
  exports.createAsset = createAsset;
632
770
  exports.createFolder = createFolder;
@@ -635,12 +773,14 @@ exports.createSession = createSession;
635
773
  exports.createSubfolder = createSubfolder;
636
774
  exports.deleteAsset = deleteAsset;
637
775
  exports.deleteAssets = deleteAssets;
776
+ exports.deleteEntity = deleteEntity;
638
777
  exports.deleteFolder = deleteFolder;
639
778
  exports.deleteGroup = deleteGroup;
640
779
  exports.deleteSourceFiles = deleteSourceFiles;
641
780
  exports.deleteUser = deleteUser;
642
781
  exports.downloadSourceFile = downloadSourceFile;
643
782
  exports.exportAsset = exportAsset;
783
+ exports.generateGuestToken = generateGuestToken;
644
784
  exports.generateUserToken = generateUserToken;
645
785
  exports.getAssetCode = getAssetCode;
646
786
  exports.getAssetCustomTypes = getAssetCustomTypes;
@@ -673,6 +813,7 @@ exports.getUserUploadTasks = getUserUploadTasks;
673
813
  exports.grantMemberAccessToFolder = grantMemberAccessToFolder;
674
814
  exports.grantMemberAccessToGroup = grantMemberAccessToGroup;
675
815
  exports.joinSession = joinSession;
816
+ exports.joinSessionAsGuest = joinSessionAsGuest;
676
817
  exports.kickClientFromSession = kickClientFromSession;
677
818
  exports.killSession = killSession;
678
819
  exports.listAssets = listAssets;
@@ -694,6 +835,7 @@ exports.setBaseURL = setBaseURL;
694
835
  exports.setBaseUrl = setBaseUrl;
695
836
  exports.setUserToken = setUserToken;
696
837
  exports.updateAssetDescription = updateAssetDescription;
838
+ exports.updateEntity = updateEntity;
697
839
  exports.updateFolder = updateFolder;
698
840
  exports.updateGroupDescription = updateGroupDescription;
699
841
  exports.updateSourceFileDetails = updateSourceFileDetails;