@xen-orchestra/rest-api 0.19.0 → 0.20.0

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.
@@ -8,6 +8,9 @@ const log = createLogger('xo:rest-api:authentication');
8
8
  // for now only support "xoa-admin"
9
9
  // TSOA spec require this function to be async
10
10
  export async function expressAuthentication(req, securityName) {
11
+ if (securityName === 'none') {
12
+ return undefined;
13
+ }
11
14
  const restApi = iocContainer.get(RestApi);
12
15
  const user = restApi.getCurrentUser();
13
16
  const authType = req.res.locals.authType;
@@ -0,0 +1,4 @@
1
+ export const guiRoutes = {
2
+ xo5: '/',
3
+ xo6: '/v6',
4
+ };
@@ -0,0 +1,4 @@
1
+ export const pingResponse = {
2
+ result: 'pong',
3
+ timestamp: 1760955186850,
4
+ };
@@ -96,6 +96,16 @@ const models = {
96
96
  "type": { "dataType": "nestedObjectLiteral", "nestedProperties": { "poolsStatus": { "dataType": "nestedObjectLiteral", "nestedProperties": { "unknown": { "dataType": "double", "required": true }, "unreachable": { "dataType": "double", "required": true }, "connected": { "dataType": "double", "required": true } }, "required": true }, "resourcesOverview": { "dataType": "nestedObjectLiteral", "nestedProperties": { "srSize": { "dataType": "double", "required": true }, "memorySize": { "dataType": "double", "required": true }, "nCpus": { "dataType": "double", "required": true } }, "required": true }, "backups": { "dataType": "union", "subSchemas": [{ "ref": "DashboardBackupsInfo" }, { "ref": "PromiseWriteInStreamError" }] }, "storageRepositories": { "dataType": "union", "subSchemas": [{ "dataType": "nestedObjectLiteral", "nestedProperties": { "size": { "dataType": "nestedObjectLiteral", "nestedProperties": { "used": { "dataType": "double", "required": true }, "total": { "dataType": "double", "required": true }, "replicated": { "dataType": "double", "required": true }, "other": { "dataType": "double", "required": true }, "available": { "dataType": "double", "required": true } }, "required": true } } }, { "ref": "PromiseWriteInStreamError" }], "required": true }, "backupRepositories": { "dataType": "union", "subSchemas": [{ "ref": "DashboardBackupRepositoriesSizeInfo" }, { "ref": "PromiseWriteInStreamError" }] }, "missingPatches": { "dataType": "union", "subSchemas": [{ "dataType": "nestedObjectLiteral", "nestedProperties": { "hasAuthorization": { "dataType": "enum", "enums": [false], "required": true } } }, { "dataType": "nestedObjectLiteral", "nestedProperties": { "nHostsFailed": { "dataType": "double", "required": true }, "nPoolsWithMissingPatches": { "dataType": "double", "required": true }, "nHostsWithMissingPatches": { "dataType": "double", "required": true }, "hasAuthorization": { "dataType": "enum", "enums": [true], "required": true } } }], "required": true }, "vmsStatus": { "dataType": "nestedObjectLiteral", "nestedProperties": { "total": { "dataType": "double", "required": true }, "unknown": { "dataType": "double", "required": true }, "inactive": { "dataType": "double", "required": true }, "active": { "dataType": "double", "required": true } }, "required": true }, "hostsStatus": { "dataType": "nestedObjectLiteral", "nestedProperties": { "total": { "dataType": "double", "required": true }, "unknown": { "dataType": "double", "required": true }, "halted": { "dataType": "double", "required": true }, "running": { "dataType": "double", "required": true } }, "required": true }, "nHostsEol": { "dataType": "union", "subSchemas": [{ "dataType": "double" }, { "ref": "PromiseWriteInStreamError" }] }, "nHosts": { "dataType": "double", "required": true }, "nPools": { "dataType": "double", "required": true } }, "validators": {} },
97
97
  },
98
98
  // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
99
+ "PingResponse": {
100
+ "dataType": "refAlias",
101
+ "type": { "dataType": "nestedObjectLiteral", "nestedProperties": { "timestamp": { "dataType": "double", "required": true }, "result": { "dataType": "enum", "enums": ["pong"], "required": true } }, "validators": {} },
102
+ },
103
+ // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
104
+ "XoGuiRoutes": {
105
+ "dataType": "refAlias",
106
+ "type": { "dataType": "nestedObjectLiteral", "nestedProperties": { "xo6": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }], "required": true }, "xo5": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }], "required": true } }, "validators": {} },
107
+ },
108
+ // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
99
109
  "Record_string.string_": {
100
110
  "dataType": "refAlias",
101
111
  "type": { "dataType": "nestedObjectLiteral", "nestedProperties": {}, "validators": {} },
@@ -695,7 +705,7 @@ const models = {
695
705
  // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
696
706
  "Unbrand_CreateVmBody_": {
697
707
  "dataType": "refAlias",
698
- "type": { "dataType": "nestedObjectLiteral", "nestedProperties": { "memory": { "dataType": "union", "subSchemas": [{ "dataType": "double" }, { "dataType": "undefined" }] }, "name_description": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "name_label": { "dataType": "string", "required": true }, "clone": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] }, "gpuGroup": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "vgpuType": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "autoPoweron": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] }, "vifs": { "dataType": "union", "subSchemas": [{ "dataType": "array", "array": { "dataType": "union", "subSchemas": [{ "dataType": "nestedObjectLiteral", "nestedProperties": { "network": { "dataType": "string", "required": true }, "mtu": { "dataType": "union", "subSchemas": [{ "dataType": "double" }, { "dataType": "undefined" }] }, "mac": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "ipv6_allowed": { "dataType": "union", "subSchemas": [{ "dataType": "array", "array": { "dataType": "string" } }, { "dataType": "undefined" }] }, "ipv4_allowed": { "dataType": "union", "subSchemas": [{ "dataType": "array", "array": { "dataType": "string" } }, { "dataType": "undefined" }] }, "device": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] } } }, { "dataType": "nestedObjectLiteral", "nestedProperties": { "device": { "dataType": "string", "required": true }, "destroy": { "dataType": "enum", "enums": [true], "required": true } } }] } }, { "dataType": "undefined" }] }, "copyHostBiosStrings": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] }, "template": { "dataType": "string", "required": true }, "affinity": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "vdis": { "dataType": "union", "subSchemas": [{ "dataType": "array", "array": { "dataType": "union", "subSchemas": [{ "dataType": "nestedObjectLiteral", "nestedProperties": { "name_description": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "sr": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "size": { "dataType": "double", "required": true }, "name_label": { "dataType": "string", "required": true } } }, { "dataType": "nestedObjectLiteral", "nestedProperties": { "name_description": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "sr": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "size": { "dataType": "union", "subSchemas": [{ "dataType": "double" }, { "dataType": "undefined" }] }, "name_label": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "userdevice": { "dataType": "string", "required": true } } }, { "dataType": "nestedObjectLiteral", "nestedProperties": { "userdervice": { "dataType": "string", "required": true }, "destroy": { "dataType": "enum", "enums": [true], "required": true } } }] } }, { "dataType": "undefined" }] }, "install": { "dataType": "union", "subSchemas": [{ "dataType": "nestedObjectLiteral", "nestedProperties": { "repository": { "dataType": "string", "required": true }, "method": { "dataType": "union", "subSchemas": [{ "dataType": "enum", "enums": ["network"] }, { "dataType": "enum", "enums": ["cdrom"] }], "required": true } } }, { "dataType": "undefined" }] }, "cloud_config": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "network_config": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "boot": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] }, "destroy_cloud_config_vdi": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] } }, "validators": {} },
708
+ "type": { "dataType": "nestedObjectLiteral", "nestedProperties": { "memory": { "dataType": "union", "subSchemas": [{ "dataType": "double" }, { "dataType": "undefined" }] }, "name_description": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "name_label": { "dataType": "string", "required": true }, "clone": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] }, "gpuGroup": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "vgpuType": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "autoPoweron": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] }, "vifs": { "dataType": "union", "subSchemas": [{ "dataType": "array", "array": { "dataType": "union", "subSchemas": [{ "dataType": "nestedObjectLiteral", "nestedProperties": { "network": { "dataType": "string", "required": true }, "mtu": { "dataType": "union", "subSchemas": [{ "dataType": "double" }, { "dataType": "undefined" }] }, "mac": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "ipv6_allowed": { "dataType": "union", "subSchemas": [{ "dataType": "array", "array": { "dataType": "string" } }, { "dataType": "undefined" }] }, "ipv4_allowed": { "dataType": "union", "subSchemas": [{ "dataType": "array", "array": { "dataType": "string" } }, { "dataType": "undefined" }] }, "device": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] } } }, { "dataType": "nestedObjectLiteral", "nestedProperties": { "device": { "dataType": "string", "required": true }, "destroy": { "dataType": "enum", "enums": [true], "required": true } } }] } }, { "dataType": "undefined" }] }, "copyHostBiosStrings": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] }, "hvmBootFirmware": { "dataType": "union", "subSchemas": [{ "dataType": "enum", "enums": ["uefi"] }, { "dataType": "enum", "enums": ["bios"] }, { "dataType": "undefined" }] }, "template": { "dataType": "string", "required": true }, "affinity": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "vdis": { "dataType": "union", "subSchemas": [{ "dataType": "array", "array": { "dataType": "union", "subSchemas": [{ "dataType": "nestedObjectLiteral", "nestedProperties": { "name_description": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "sr": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "size": { "dataType": "double", "required": true }, "name_label": { "dataType": "string", "required": true } } }, { "dataType": "nestedObjectLiteral", "nestedProperties": { "name_description": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "sr": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "size": { "dataType": "union", "subSchemas": [{ "dataType": "double" }, { "dataType": "undefined" }] }, "name_label": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "userdevice": { "dataType": "string", "required": true } } }, { "dataType": "nestedObjectLiteral", "nestedProperties": { "userdervice": { "dataType": "string", "required": true }, "destroy": { "dataType": "enum", "enums": [true], "required": true } } }] } }, { "dataType": "undefined" }] }, "install": { "dataType": "union", "subSchemas": [{ "dataType": "nestedObjectLiteral", "nestedProperties": { "repository": { "dataType": "string", "required": true }, "method": { "dataType": "union", "subSchemas": [{ "dataType": "enum", "enums": ["network"] }, { "dataType": "enum", "enums": ["cdrom"] }], "required": true } } }, { "dataType": "undefined" }] }, "cloud_config": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "network_config": { "dataType": "union", "subSchemas": [{ "dataType": "string" }, { "dataType": "undefined" }] }, "boot": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] }, "destroy_cloud_config_vdi": { "dataType": "union", "subSchemas": [{ "dataType": "boolean" }, { "dataType": "undefined" }] } }, "validators": {} },
699
709
  },
700
710
  // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
701
711
  "XapiHostStatsRaw": {
@@ -1167,6 +1177,56 @@ export function RegisterRoutes(app) {
1167
1177
  }
1168
1178
  });
1169
1179
  // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
1180
+ const argsXoaController_ping = {};
1181
+ app.get('/rest/v0/ping', authenticateMiddleware([{ "none": [] }]), ...(fetchMiddlewares(XoaController)), ...(fetchMiddlewares(XoaController.prototype.ping)), async function XoaController_ping(request, response, next) {
1182
+ // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
1183
+ let validatedArgs = [];
1184
+ try {
1185
+ validatedArgs = templateService.getValidatedArgs({ args: argsXoaController_ping, request, response });
1186
+ const container = typeof iocContainer === 'function' ? iocContainer(request) : iocContainer;
1187
+ const controller = await container.get(XoaController);
1188
+ if (typeof controller['setStatus'] === 'function') {
1189
+ controller.setStatus(undefined);
1190
+ }
1191
+ await templateService.apiHandler({
1192
+ methodName: 'ping',
1193
+ controller,
1194
+ response,
1195
+ next,
1196
+ validatedArgs,
1197
+ successStatus: undefined,
1198
+ });
1199
+ }
1200
+ catch (err) {
1201
+ return next(err);
1202
+ }
1203
+ });
1204
+ // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
1205
+ const argsXoaController_getGuiRoutes = {};
1206
+ app.get('/rest/v0/gui-routes', authenticateMiddleware([{ "none": [] }]), ...(fetchMiddlewares(XoaController)), ...(fetchMiddlewares(XoaController.prototype.getGuiRoutes)), async function XoaController_getGuiRoutes(request, response, next) {
1207
+ // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
1208
+ let validatedArgs = [];
1209
+ try {
1210
+ validatedArgs = templateService.getValidatedArgs({ args: argsXoaController_getGuiRoutes, request, response });
1211
+ const container = typeof iocContainer === 'function' ? iocContainer(request) : iocContainer;
1212
+ const controller = await container.get(XoaController);
1213
+ if (typeof controller['setStatus'] === 'function') {
1214
+ controller.setStatus(undefined);
1215
+ }
1216
+ await templateService.apiHandler({
1217
+ methodName: 'getGuiRoutes',
1218
+ controller,
1219
+ response,
1220
+ next,
1221
+ validatedArgs,
1222
+ successStatus: undefined,
1223
+ });
1224
+ }
1225
+ catch (err) {
1226
+ return next(err);
1227
+ }
1228
+ });
1229
+ // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
1170
1230
  const argsVmController_getVms = {
1171
1231
  req: { "in": "request", "name": "req", "required": true, "dataType": "object" },
1172
1232
  fields: { "in": "query", "name": "fields", "dataType": "string" },
@@ -11,6 +11,8 @@ import { Controller, Example, Get, Query, Request, Response, Route, Security, Ta
11
11
  import { inject } from 'inversify';
12
12
  import { PassThrough } from 'node:stream';
13
13
  import { provide } from 'inversify-binding-decorators';
14
+ import { guiRoutes } from '../open-api/oa-examples/gui-routes.oa-example.mjs';
15
+ import { pingResponse } from '../open-api/oa-examples/ping.oa-example.mjs';
14
16
  import { badRequestResp, unauthorizedResp } from '../open-api/common/response.common.mjs';
15
17
  import { xoaDashboard } from '../open-api/oa-examples/xoa.oa-example.mjs';
16
18
  import { XoaService } from './xoa.service.mjs';
@@ -37,18 +39,37 @@ let XoaController = class XoaController extends Controller {
37
39
  return dashboard;
38
40
  }
39
41
  }
42
+ ping() {
43
+ return {
44
+ result: 'pong',
45
+ timestamp: Date.now(),
46
+ };
47
+ }
48
+ getGuiRoutes() {
49
+ return this.#xoaService.getGuiRoutes();
50
+ }
40
51
  };
41
52
  __decorate([
42
53
  Example(xoaDashboard),
43
54
  Get('dashboard'),
55
+ Response(badRequestResp.status, badRequestResp.description),
56
+ Response(unauthorizedResp.status, unauthorizedResp.description),
44
57
  __param(0, Request()),
45
58
  __param(1, Query())
46
59
  ], XoaController.prototype, "getDashboard", null);
60
+ __decorate([
61
+ Security('none'),
62
+ Example(pingResponse),
63
+ Get('ping')
64
+ ], XoaController.prototype, "ping", null);
65
+ __decorate([
66
+ Security('none'),
67
+ Example(guiRoutes),
68
+ Get('gui-routes')
69
+ ], XoaController.prototype, "getGuiRoutes", null);
47
70
  XoaController = __decorate([
48
71
  Route(''),
49
72
  Security('*'),
50
- Response(badRequestResp.status, badRequestResp.description),
51
- Response(unauthorizedResp.status, unauthorizedResp.description),
52
73
  Tags('xoa'),
53
74
  provide(XoaController),
54
75
  __param(0, inject(XoaService))
@@ -481,4 +481,21 @@ export class XoaService {
481
481
  vmsStatus,
482
482
  };
483
483
  }
484
+ getGuiRoutes() {
485
+ const mounts = this.#restApi.xoApp.config.getOptional('http.mounts') ?? {};
486
+ let xo5Mount;
487
+ let xo6Mount;
488
+ for (const [key, value] of Object.entries(mounts)) {
489
+ if (value.includes('xo-web/dist')) {
490
+ xo5Mount = key;
491
+ }
492
+ else if (value.includes('@xen-orchestra/web/dist')) {
493
+ xo6Mount = key;
494
+ }
495
+ }
496
+ return {
497
+ xo5: xo5Mount,
498
+ xo6: xo6Mount,
499
+ };
500
+ }
484
501
  }
@@ -437,6 +437,37 @@
437
437
  ],
438
438
  "type": "object"
439
439
  },
440
+ "PingResponse": {
441
+ "properties": {
442
+ "timestamp": {
443
+ "type": "number",
444
+ "format": "double"
445
+ },
446
+ "result": {
447
+ "type": "string",
448
+ "enum": [
449
+ "pong"
450
+ ],
451
+ "nullable": false
452
+ }
453
+ },
454
+ "required": [
455
+ "timestamp",
456
+ "result"
457
+ ],
458
+ "type": "object"
459
+ },
460
+ "XoGuiRoutes": {
461
+ "properties": {
462
+ "xo6": {
463
+ "type": "string"
464
+ },
465
+ "xo5": {
466
+ "type": "string"
467
+ }
468
+ },
469
+ "type": "object"
470
+ },
440
471
  "Record_string.string_": {
441
472
  "properties": {},
442
473
  "type": "object",
@@ -7308,6 +7339,13 @@
7308
7339
  "copyHostBiosStrings": {
7309
7340
  "type": "boolean"
7310
7341
  },
7342
+ "hvmBootFirmware": {
7343
+ "type": "string",
7344
+ "enum": [
7345
+ "uefi",
7346
+ "bios"
7347
+ ]
7348
+ },
7311
7349
  "template": {
7312
7350
  "type": "string",
7313
7351
  "description": "template UUID"
@@ -11443,7 +11481,7 @@
11443
11481
  },
11444
11482
  "info": {
11445
11483
  "title": "@xen-orchestra/rest-api",
11446
- "version": "0.19.0",
11484
+ "version": "0.20.0",
11447
11485
  "description": "REST API to manage your XOA",
11448
11486
  "license": {
11449
11487
  "name": "AGPL-3.0-or-later"
@@ -11565,6 +11603,74 @@
11565
11603
  ]
11566
11604
  }
11567
11605
  },
11606
+ "/ping": {
11607
+ "get": {
11608
+ "operationId": "Ping",
11609
+ "responses": {
11610
+ "200": {
11611
+ "description": "Ok",
11612
+ "content": {
11613
+ "application/json": {
11614
+ "schema": {
11615
+ "$ref": "#/components/schemas/PingResponse"
11616
+ },
11617
+ "examples": {
11618
+ "Example 1": {
11619
+ "value": {
11620
+ "result": "pong",
11621
+ "timestamp": 1760955186850
11622
+ }
11623
+ }
11624
+ }
11625
+ }
11626
+ }
11627
+ }
11628
+ },
11629
+ "tags": [
11630
+ "xoa"
11631
+ ],
11632
+ "security": [
11633
+ {
11634
+ "none": []
11635
+ }
11636
+ ],
11637
+ "parameters": []
11638
+ }
11639
+ },
11640
+ "/gui-routes": {
11641
+ "get": {
11642
+ "operationId": "GetGuiRoutes",
11643
+ "responses": {
11644
+ "200": {
11645
+ "description": "Ok",
11646
+ "content": {
11647
+ "application/json": {
11648
+ "schema": {
11649
+ "$ref": "#/components/schemas/XoGuiRoutes"
11650
+ },
11651
+ "examples": {
11652
+ "Example 1": {
11653
+ "value": {
11654
+ "xo5": "/",
11655
+ "xo6": "/v6"
11656
+ }
11657
+ }
11658
+ }
11659
+ }
11660
+ }
11661
+ }
11662
+ },
11663
+ "tags": [
11664
+ "xoa"
11665
+ ],
11666
+ "security": [
11667
+ {
11668
+ "none": []
11669
+ }
11670
+ ],
11671
+ "parameters": []
11672
+ }
11673
+ },
11568
11674
  "/vms": {
11569
11675
  "get": {
11570
11676
  "operationId": "GetVms",
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "main": "./dist/index.mjs",
7
7
  "name": "@xen-orchestra/rest-api",
8
8
  "homepage": "https://github.com/vatesfr/xen-orchestra/tree/master/@xen-orchestra/rest-api",
9
- "version": "0.19.0",
9
+ "version": "0.20.0",
10
10
  "description": "REST API to manage your XOA",
11
11
  "license": "AGPL-3.0-or-later",
12
12
  "private": false,
@@ -35,8 +35,8 @@
35
35
  "dependencies": {
36
36
  "@vates/async-each": "^1.0.1",
37
37
  "@vates/task": "^0.6.1",
38
- "@vates/types": "^1.13.0",
39
- "@xen-orchestra/backups": "^0.65.0",
38
+ "@vates/types": "^1.14.0",
39
+ "@xen-orchestra/backups": "^0.66.0",
40
40
  "@xen-orchestra/log": "^0.7.1",
41
41
  "complex-matcher": "^1.0.0",
42
42
  "golike-defer": "^0.5.1",