@rlvt/entity-manager-openapi-client 0.0.0-3023eab → 0.0.0-365a49c

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/build/api.js CHANGED
@@ -1,1403 +1,191 @@
1
1
  "use strict";
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
- /**
5
- * entity-manager
6
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
- *
8
- * The version of the OpenAPI document: 3023eabd0801f8668b51d7511243580ef56af993
9
- *
10
- *
11
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
- * https://openapi-generator.tech
13
- * Do not edit the class manually.
14
- */
15
4
  var __importDefault = (this && this.__importDefault) || function (mod) {
16
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
17
6
  };
18
7
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.UserApi = exports.UserApiFactory = exports.UserApiFp = exports.UserApiAxiosParamCreator = exports.RoleApi = exports.RoleApiFactory = exports.RoleApiFp = exports.RoleApiAxiosParamCreator = exports.ResourceGroupApi = exports.ResourceGroupApiFactory = exports.ResourceGroupApiFp = exports.ResourceGroupApiAxiosParamCreator = exports.CompanyApi = exports.CompanyApiFactory = exports.CompanyApiFp = exports.CompanyApiAxiosParamCreator = exports.InlineResponse2007StatusEnum = exports.InlineResponse2006StatusEnum = exports.InlineResponse2005StatusEnum = exports.InlineResponse2004StatusEnum = exports.InlineResponse2003StatusEnum = exports.InlineResponse2002StatusEnum = exports.InlineResponse2001StatusEnum = exports.InlineResponse200StatusEnum = void 0;
20
8
  const axios_1 = __importDefault(require("axios"));
21
- // Some imports not used depending on template conditions
22
- // @ts-ignore
23
- const base_1 = require("./base");
24
- /**
25
- * @export
26
- * @enum {string}
27
- */
28
- var InlineResponse200StatusEnum;
29
- (function (InlineResponse200StatusEnum) {
30
- InlineResponse200StatusEnum["SUCCESS"] = "success";
31
- })(InlineResponse200StatusEnum = exports.InlineResponse200StatusEnum || (exports.InlineResponse200StatusEnum = {}));
32
- /**
33
- * @export
34
- * @enum {string}
35
- */
36
- var InlineResponse2001StatusEnum;
37
- (function (InlineResponse2001StatusEnum) {
38
- InlineResponse2001StatusEnum["SUCCESS"] = "success";
39
- })(InlineResponse2001StatusEnum = exports.InlineResponse2001StatusEnum || (exports.InlineResponse2001StatusEnum = {}));
40
- /**
41
- * @export
42
- * @enum {string}
43
- */
44
- var InlineResponse2002StatusEnum;
45
- (function (InlineResponse2002StatusEnum) {
46
- InlineResponse2002StatusEnum["SUCCESS"] = "success";
47
- })(InlineResponse2002StatusEnum = exports.InlineResponse2002StatusEnum || (exports.InlineResponse2002StatusEnum = {}));
48
- /**
49
- * @export
50
- * @enum {string}
51
- */
52
- var InlineResponse2003StatusEnum;
53
- (function (InlineResponse2003StatusEnum) {
54
- InlineResponse2003StatusEnum["SUCCESS"] = "success";
55
- })(InlineResponse2003StatusEnum = exports.InlineResponse2003StatusEnum || (exports.InlineResponse2003StatusEnum = {}));
56
- /**
57
- * @export
58
- * @enum {string}
59
- */
60
- var InlineResponse2004StatusEnum;
61
- (function (InlineResponse2004StatusEnum) {
62
- InlineResponse2004StatusEnum["SUCCESS"] = "success";
63
- })(InlineResponse2004StatusEnum = exports.InlineResponse2004StatusEnum || (exports.InlineResponse2004StatusEnum = {}));
64
- /**
65
- * @export
66
- * @enum {string}
67
- */
68
- var InlineResponse2005StatusEnum;
69
- (function (InlineResponse2005StatusEnum) {
70
- InlineResponse2005StatusEnum["SUCCESS"] = "success";
71
- })(InlineResponse2005StatusEnum = exports.InlineResponse2005StatusEnum || (exports.InlineResponse2005StatusEnum = {}));
72
- /**
73
- * @export
74
- * @enum {string}
75
- */
76
- var InlineResponse2006StatusEnum;
77
- (function (InlineResponse2006StatusEnum) {
78
- InlineResponse2006StatusEnum["SUCCESS"] = "success";
79
- })(InlineResponse2006StatusEnum = exports.InlineResponse2006StatusEnum || (exports.InlineResponse2006StatusEnum = {}));
80
- /**
81
- * @export
82
- * @enum {string}
83
- */
84
- var InlineResponse2007StatusEnum;
85
- (function (InlineResponse2007StatusEnum) {
86
- InlineResponse2007StatusEnum["SUCCESS"] = "success";
87
- })(InlineResponse2007StatusEnum = exports.InlineResponse2007StatusEnum || (exports.InlineResponse2007StatusEnum = {}));
88
- /**
89
- * CompanyApi - axios parameter creator
90
- * @export
91
- */
92
- exports.CompanyApiAxiosParamCreator = function (configuration) {
93
- return {
94
- /**
95
- *
96
- * @param {*} [options] Override http request option.
97
- * @throws {RequiredError}
98
- */
99
- getCompanyDefaults: async (options = {}) => {
100
- const localVarPath = `/companies/defaults`;
101
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
102
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
103
- let baseOptions;
104
- if (configuration) {
105
- baseOptions = configuration.baseOptions;
106
- }
107
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
108
- const localVarHeaderParameter = {};
109
- const localVarQueryParameter = {};
110
- // authentication company required
111
- if (configuration && configuration.apiKey) {
112
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
113
- ? await configuration.apiKey("x-companyid")
114
- : await configuration.apiKey;
115
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
116
- }
117
- // authentication groups required
118
- if (configuration && configuration.apiKey) {
119
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
120
- ? await configuration.apiKey("x-user-resource-groupid")
121
- : await configuration.apiKey;
122
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
123
- }
124
- // authentication role required
125
- if (configuration && configuration.apiKey) {
126
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
127
- ? await configuration.apiKey("x-user-roleid")
128
- : await configuration.apiKey;
129
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
130
- }
131
- // authentication user required
132
- if (configuration && configuration.apiKey) {
133
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
134
- ? await configuration.apiKey("x-userid")
135
- : await configuration.apiKey;
136
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
137
- }
138
- const query = new URLSearchParams(localVarUrlObj.search);
139
- for (const key in localVarQueryParameter) {
140
- query.set(key, localVarQueryParameter[key]);
141
- }
142
- for (const key in options.query) {
143
- query.set(key, options.query[key]);
144
- }
145
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
146
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
147
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
148
- return {
149
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
150
- options: localVarRequestOptions,
151
- };
152
- },
153
- /**
154
- *
155
- * @param {PartialRoleIdStringResourceGroupIdsStringArray} partialRoleIdStringResourceGroupIdsStringArray
156
- * @param {*} [options] Override http request option.
157
- * @throws {RequiredError}
158
- */
159
- setCompanyDefaults: async (partialRoleIdStringResourceGroupIdsStringArray, options = {}) => {
160
- // verify required parameter 'partialRoleIdStringResourceGroupIdsStringArray' is not null or undefined
161
- if (partialRoleIdStringResourceGroupIdsStringArray === null || partialRoleIdStringResourceGroupIdsStringArray === undefined) {
162
- throw new base_1.RequiredError('partialRoleIdStringResourceGroupIdsStringArray', 'Required parameter partialRoleIdStringResourceGroupIdsStringArray was null or undefined when calling setCompanyDefaults.');
163
- }
164
- const localVarPath = `/companies/defaults`;
165
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
166
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
167
- let baseOptions;
168
- if (configuration) {
169
- baseOptions = configuration.baseOptions;
170
- }
171
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
172
- const localVarHeaderParameter = {};
173
- const localVarQueryParameter = {};
174
- // authentication company required
175
- if (configuration && configuration.apiKey) {
176
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
177
- ? await configuration.apiKey("x-companyid")
178
- : await configuration.apiKey;
179
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
180
- }
181
- // authentication groups required
182
- if (configuration && configuration.apiKey) {
183
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
184
- ? await configuration.apiKey("x-user-resource-groupid")
185
- : await configuration.apiKey;
186
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
187
- }
188
- // authentication role required
189
- if (configuration && configuration.apiKey) {
190
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
191
- ? await configuration.apiKey("x-user-roleid")
192
- : await configuration.apiKey;
193
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
194
- }
195
- // authentication user required
196
- if (configuration && configuration.apiKey) {
197
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
198
- ? await configuration.apiKey("x-userid")
199
- : await configuration.apiKey;
200
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
201
- }
202
- localVarHeaderParameter['Content-Type'] = 'application/json';
203
- const query = new URLSearchParams(localVarUrlObj.search);
204
- for (const key in localVarQueryParameter) {
205
- query.set(key, localVarQueryParameter[key]);
206
- }
207
- for (const key in options.query) {
208
- query.set(key, options.query[key]);
209
- }
210
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
211
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
212
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
213
- const needsSerialization = (typeof partialRoleIdStringResourceGroupIdsStringArray !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
214
- localVarRequestOptions.data = needsSerialization ? JSON.stringify(partialRoleIdStringResourceGroupIdsStringArray !== undefined ? partialRoleIdStringResourceGroupIdsStringArray : {}) : (partialRoleIdStringResourceGroupIdsStringArray || "");
215
- return {
216
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
217
- options: localVarRequestOptions,
218
- };
219
- },
220
- };
221
- };
222
- /**
223
- * CompanyApi - functional programming interface
224
- * @export
225
- */
226
- exports.CompanyApiFp = function (configuration) {
227
- return {
228
- /**
229
- *
230
- * @param {*} [options] Override http request option.
231
- * @throws {RequiredError}
232
- */
233
- async getCompanyDefaults(options) {
234
- const localVarAxiosArgs = await exports.CompanyApiAxiosParamCreator(configuration).getCompanyDefaults(options);
235
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
236
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
237
- return axios.request(axiosRequestArgs);
238
- };
239
- },
240
- /**
241
- *
242
- * @param {PartialRoleIdStringResourceGroupIdsStringArray} partialRoleIdStringResourceGroupIdsStringArray
243
- * @param {*} [options] Override http request option.
244
- * @throws {RequiredError}
245
- */
246
- async setCompanyDefaults(partialRoleIdStringResourceGroupIdsStringArray, options) {
247
- const localVarAxiosArgs = await exports.CompanyApiAxiosParamCreator(configuration).setCompanyDefaults(partialRoleIdStringResourceGroupIdsStringArray, options);
248
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
249
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
250
- return axios.request(axiosRequestArgs);
251
- };
252
- },
253
- };
254
- };
255
- /**
256
- * CompanyApi - factory interface
257
- * @export
258
- */
259
- exports.CompanyApiFactory = function (configuration, basePath, axios) {
260
- return {
261
- /**
262
- *
263
- * @param {*} [options] Override http request option.
264
- * @throws {RequiredError}
265
- */
266
- getCompanyDefaults(options) {
267
- return exports.CompanyApiFp(configuration).getCompanyDefaults(options).then((request) => request(axios, basePath));
268
- },
269
- /**
270
- *
271
- * @param {PartialRoleIdStringResourceGroupIdsStringArray} partialRoleIdStringResourceGroupIdsStringArray
272
- * @param {*} [options] Override http request option.
273
- * @throws {RequiredError}
274
- */
275
- setCompanyDefaults(partialRoleIdStringResourceGroupIdsStringArray, options) {
276
- return exports.CompanyApiFp(configuration).setCompanyDefaults(partialRoleIdStringResourceGroupIdsStringArray, options).then((request) => request(axios, basePath));
277
- },
278
- };
279
- };
280
- /**
281
- * CompanyApi - object-oriented interface
282
- * @export
283
- * @class CompanyApi
284
- * @extends {BaseAPI}
285
- */
286
- class CompanyApi extends base_1.BaseAPI {
287
- /**
288
- *
289
- * @param {*} [options] Override http request option.
290
- * @throws {RequiredError}
291
- * @memberof CompanyApi
292
- */
293
- getCompanyDefaults(options) {
294
- return exports.CompanyApiFp(this.configuration).getCompanyDefaults(options).then((request) => request(this.axios, this.basePath));
9
+ class default_1 {
10
+ constructor(configOrInstance) {
11
+ this.axios = 'interceptors' in configOrInstance
12
+ ? configOrInstance
13
+ : axios_1.default.create(configOrInstance);
295
14
  }
296
- /**
297
- *
298
- * @param {CompanyApiSetCompanyDefaultsRequest} requestParameters Request parameters.
299
- * @param {*} [options] Override http request option.
300
- * @throws {RequiredError}
301
- * @memberof CompanyApi
302
- */
303
- setCompanyDefaults(requestParameters, options) {
304
- return exports.CompanyApiFp(this.configuration).setCompanyDefaults(requestParameters.partialRoleIdStringResourceGroupIdsStringArray, options).then((request) => request(this.axios, this.basePath));
15
+ oauthShopifyRedirect(params, options) {
16
+ return this.axios.get("/auth/oauth/shopify/redirect", Object.assign({}, {
17
+ params: pick(params, "shop"),
18
+ }, options));
305
19
  }
306
- }
307
- exports.CompanyApi = CompanyApi;
308
- /**
309
- * ResourceGroupApi - axios parameter creator
310
- * @export
311
- */
312
- exports.ResourceGroupApiAxiosParamCreator = function (configuration) {
313
- return {
314
- /**
315
- *
316
- * @param {SerializedResourceGroup} body
317
- * @param {*} [options] Override http request option.
318
- * @throws {RequiredError}
319
- */
320
- createResourceGroup: async (body, options = {}) => {
321
- // verify required parameter 'body' is not null or undefined
322
- if (body === null || body === undefined) {
323
- throw new base_1.RequiredError('body', 'Required parameter body was null or undefined when calling createResourceGroup.');
324
- }
325
- const localVarPath = `/resource-groups`;
326
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
327
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
328
- let baseOptions;
329
- if (configuration) {
330
- baseOptions = configuration.baseOptions;
331
- }
332
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
333
- const localVarHeaderParameter = {};
334
- const localVarQueryParameter = {};
335
- // authentication company required
336
- if (configuration && configuration.apiKey) {
337
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
338
- ? await configuration.apiKey("x-companyid")
339
- : await configuration.apiKey;
340
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
341
- }
342
- // authentication groups required
343
- if (configuration && configuration.apiKey) {
344
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
345
- ? await configuration.apiKey("x-user-resource-groupid")
346
- : await configuration.apiKey;
347
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
348
- }
349
- // authentication role required
350
- if (configuration && configuration.apiKey) {
351
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
352
- ? await configuration.apiKey("x-user-roleid")
353
- : await configuration.apiKey;
354
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
355
- }
356
- // authentication user required
357
- if (configuration && configuration.apiKey) {
358
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
359
- ? await configuration.apiKey("x-userid")
360
- : await configuration.apiKey;
361
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
362
- }
363
- localVarHeaderParameter['Content-Type'] = 'application/json';
364
- const query = new URLSearchParams(localVarUrlObj.search);
365
- for (const key in localVarQueryParameter) {
366
- query.set(key, localVarQueryParameter[key]);
367
- }
368
- for (const key in options.query) {
369
- query.set(key, options.query[key]);
370
- }
371
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
372
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
373
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
374
- const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
375
- localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
376
- return {
377
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
378
- options: localVarRequestOptions,
379
- };
380
- },
381
- /**
382
- *
383
- * @param {string} id
384
- * @param {*} [options] Override http request option.
385
- * @throws {RequiredError}
386
- */
387
- deleteResourceGroup: async (id, options = {}) => {
388
- // verify required parameter 'id' is not null or undefined
389
- if (id === null || id === undefined) {
390
- throw new base_1.RequiredError('id', 'Required parameter id was null or undefined when calling deleteResourceGroup.');
391
- }
392
- const localVarPath = `/resource-groups/{id}`
393
- .replace(`{${"id"}}`, encodeURIComponent(String(id)));
394
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
395
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
396
- let baseOptions;
397
- if (configuration) {
398
- baseOptions = configuration.baseOptions;
399
- }
400
- const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options };
401
- const localVarHeaderParameter = {};
402
- const localVarQueryParameter = {};
403
- // authentication company required
404
- if (configuration && configuration.apiKey) {
405
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
406
- ? await configuration.apiKey("x-companyid")
407
- : await configuration.apiKey;
408
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
409
- }
410
- // authentication groups required
411
- if (configuration && configuration.apiKey) {
412
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
413
- ? await configuration.apiKey("x-user-resource-groupid")
414
- : await configuration.apiKey;
415
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
416
- }
417
- // authentication role required
418
- if (configuration && configuration.apiKey) {
419
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
420
- ? await configuration.apiKey("x-user-roleid")
421
- : await configuration.apiKey;
422
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
423
- }
424
- // authentication user required
425
- if (configuration && configuration.apiKey) {
426
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
427
- ? await configuration.apiKey("x-userid")
428
- : await configuration.apiKey;
429
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
430
- }
431
- const query = new URLSearchParams(localVarUrlObj.search);
432
- for (const key in localVarQueryParameter) {
433
- query.set(key, localVarQueryParameter[key]);
434
- }
435
- for (const key in options.query) {
436
- query.set(key, options.query[key]);
437
- }
438
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
439
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
440
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
441
- return {
442
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
443
- options: localVarRequestOptions,
444
- };
445
- },
446
- /**
447
- *
448
- * @param {*} [options] Override http request option.
449
- * @throws {RequiredError}
450
- */
451
- getResourceGroups: async (options = {}) => {
452
- const localVarPath = `/resource-groups`;
453
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
454
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
455
- let baseOptions;
456
- if (configuration) {
457
- baseOptions = configuration.baseOptions;
458
- }
459
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
460
- const localVarHeaderParameter = {};
461
- const localVarQueryParameter = {};
462
- // authentication company required
463
- if (configuration && configuration.apiKey) {
464
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
465
- ? await configuration.apiKey("x-companyid")
466
- : await configuration.apiKey;
467
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
468
- }
469
- // authentication groups required
470
- if (configuration && configuration.apiKey) {
471
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
472
- ? await configuration.apiKey("x-user-resource-groupid")
473
- : await configuration.apiKey;
474
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
475
- }
476
- // authentication role required
477
- if (configuration && configuration.apiKey) {
478
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
479
- ? await configuration.apiKey("x-user-roleid")
480
- : await configuration.apiKey;
481
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
482
- }
483
- // authentication user required
484
- if (configuration && configuration.apiKey) {
485
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
486
- ? await configuration.apiKey("x-userid")
487
- : await configuration.apiKey;
488
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
489
- }
490
- const query = new URLSearchParams(localVarUrlObj.search);
491
- for (const key in localVarQueryParameter) {
492
- query.set(key, localVarQueryParameter[key]);
493
- }
494
- for (const key in options.query) {
495
- query.set(key, options.query[key]);
496
- }
497
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
498
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
499
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
500
- return {
501
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
502
- options: localVarRequestOptions,
503
- };
504
- },
505
- /**
506
- *
507
- * @param {string} id
508
- * @param {PartialPickPickResourceGroupNameOrColor} partialPickPickResourceGroupNameOrColor
509
- * @param {*} [options] Override http request option.
510
- * @throws {RequiredError}
511
- */
512
- updateResourceGroup: async (id, partialPickPickResourceGroupNameOrColor, options = {}) => {
513
- // verify required parameter 'id' is not null or undefined
514
- if (id === null || id === undefined) {
515
- throw new base_1.RequiredError('id', 'Required parameter id was null or undefined when calling updateResourceGroup.');
516
- }
517
- // verify required parameter 'partialPickPickResourceGroupNameOrColor' is not null or undefined
518
- if (partialPickPickResourceGroupNameOrColor === null || partialPickPickResourceGroupNameOrColor === undefined) {
519
- throw new base_1.RequiredError('partialPickPickResourceGroupNameOrColor', 'Required parameter partialPickPickResourceGroupNameOrColor was null or undefined when calling updateResourceGroup.');
520
- }
521
- const localVarPath = `/resource-groups/{id}`
522
- .replace(`{${"id"}}`, encodeURIComponent(String(id)));
523
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
524
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
525
- let baseOptions;
526
- if (configuration) {
527
- baseOptions = configuration.baseOptions;
528
- }
529
- const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options };
530
- const localVarHeaderParameter = {};
531
- const localVarQueryParameter = {};
532
- // authentication company required
533
- if (configuration && configuration.apiKey) {
534
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
535
- ? await configuration.apiKey("x-companyid")
536
- : await configuration.apiKey;
537
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
538
- }
539
- // authentication groups required
540
- if (configuration && configuration.apiKey) {
541
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
542
- ? await configuration.apiKey("x-user-resource-groupid")
543
- : await configuration.apiKey;
544
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
545
- }
546
- // authentication role required
547
- if (configuration && configuration.apiKey) {
548
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
549
- ? await configuration.apiKey("x-user-roleid")
550
- : await configuration.apiKey;
551
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
552
- }
553
- // authentication user required
554
- if (configuration && configuration.apiKey) {
555
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
556
- ? await configuration.apiKey("x-userid")
557
- : await configuration.apiKey;
558
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
559
- }
560
- localVarHeaderParameter['Content-Type'] = 'application/json';
561
- const query = new URLSearchParams(localVarUrlObj.search);
562
- for (const key in localVarQueryParameter) {
563
- query.set(key, localVarQueryParameter[key]);
564
- }
565
- for (const key in options.query) {
566
- query.set(key, options.query[key]);
567
- }
568
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
569
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
570
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
571
- const needsSerialization = (typeof partialPickPickResourceGroupNameOrColor !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
572
- localVarRequestOptions.data = needsSerialization ? JSON.stringify(partialPickPickResourceGroupNameOrColor !== undefined ? partialPickPickResourceGroupNameOrColor : {}) : (partialPickPickResourceGroupNameOrColor || "");
573
- return {
574
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
575
- options: localVarRequestOptions,
576
- };
577
- },
578
- };
579
- };
580
- /**
581
- * ResourceGroupApi - functional programming interface
582
- * @export
583
- */
584
- exports.ResourceGroupApiFp = function (configuration) {
585
- return {
586
- /**
587
- *
588
- * @param {SerializedResourceGroup} body
589
- * @param {*} [options] Override http request option.
590
- * @throws {RequiredError}
591
- */
592
- async createResourceGroup(body, options) {
593
- const localVarAxiosArgs = await exports.ResourceGroupApiAxiosParamCreator(configuration).createResourceGroup(body, options);
594
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
595
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
596
- return axios.request(axiosRequestArgs);
597
- };
598
- },
599
- /**
600
- *
601
- * @param {string} id
602
- * @param {*} [options] Override http request option.
603
- * @throws {RequiredError}
604
- */
605
- async deleteResourceGroup(id, options) {
606
- const localVarAxiosArgs = await exports.ResourceGroupApiAxiosParamCreator(configuration).deleteResourceGroup(id, options);
607
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
608
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
609
- return axios.request(axiosRequestArgs);
610
- };
611
- },
612
- /**
613
- *
614
- * @param {*} [options] Override http request option.
615
- * @throws {RequiredError}
616
- */
617
- async getResourceGroups(options) {
618
- const localVarAxiosArgs = await exports.ResourceGroupApiAxiosParamCreator(configuration).getResourceGroups(options);
619
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
620
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
621
- return axios.request(axiosRequestArgs);
622
- };
623
- },
624
- /**
625
- *
626
- * @param {string} id
627
- * @param {PartialPickPickResourceGroupNameOrColor} partialPickPickResourceGroupNameOrColor
628
- * @param {*} [options] Override http request option.
629
- * @throws {RequiredError}
630
- */
631
- async updateResourceGroup(id, partialPickPickResourceGroupNameOrColor, options) {
632
- const localVarAxiosArgs = await exports.ResourceGroupApiAxiosParamCreator(configuration).updateResourceGroup(id, partialPickPickResourceGroupNameOrColor, options);
633
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
634
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
635
- return axios.request(axiosRequestArgs);
636
- };
637
- },
638
- };
639
- };
640
- /**
641
- * ResourceGroupApi - factory interface
642
- * @export
643
- */
644
- exports.ResourceGroupApiFactory = function (configuration, basePath, axios) {
645
- return {
646
- /**
647
- *
648
- * @param {SerializedResourceGroup} body
649
- * @param {*} [options] Override http request option.
650
- * @throws {RequiredError}
651
- */
652
- createResourceGroup(body, options) {
653
- return exports.ResourceGroupApiFp(configuration).createResourceGroup(body, options).then((request) => request(axios, basePath));
654
- },
655
- /**
656
- *
657
- * @param {string} id
658
- * @param {*} [options] Override http request option.
659
- * @throws {RequiredError}
660
- */
661
- deleteResourceGroup(id, options) {
662
- return exports.ResourceGroupApiFp(configuration).deleteResourceGroup(id, options).then((request) => request(axios, basePath));
663
- },
664
- /**
665
- *
666
- * @param {*} [options] Override http request option.
667
- * @throws {RequiredError}
668
- */
669
- getResourceGroups(options) {
670
- return exports.ResourceGroupApiFp(configuration).getResourceGroups(options).then((request) => request(axios, basePath));
671
- },
672
- /**
673
- *
674
- * @param {string} id
675
- * @param {PartialPickPickResourceGroupNameOrColor} partialPickPickResourceGroupNameOrColor
676
- * @param {*} [options] Override http request option.
677
- * @throws {RequiredError}
678
- */
679
- updateResourceGroup(id, partialPickPickResourceGroupNameOrColor, options) {
680
- return exports.ResourceGroupApiFp(configuration).updateResourceGroup(id, partialPickPickResourceGroupNameOrColor, options).then((request) => request(axios, basePath));
681
- },
682
- };
683
- };
684
- /**
685
- * ResourceGroupApi - object-oriented interface
686
- * @export
687
- * @class ResourceGroupApi
688
- * @extends {BaseAPI}
689
- */
690
- class ResourceGroupApi extends base_1.BaseAPI {
691
- /**
692
- *
693
- * @param {ResourceGroupApiCreateResourceGroupRequest} requestParameters Request parameters.
694
- * @param {*} [options] Override http request option.
695
- * @throws {RequiredError}
696
- * @memberof ResourceGroupApi
697
- */
698
- createResourceGroup(requestParameters, options) {
699
- return exports.ResourceGroupApiFp(this.configuration).createResourceGroup(requestParameters.body, options).then((request) => request(this.axios, this.basePath));
20
+ oauthRedirect(params, options) {
21
+ return this.axios.get("/auth/oauth/:provider/redirect".replace(/{provider}/, String(params["provider"])), Object.assign({}, {
22
+ params: pick(params, "plan", "companyName"),
23
+ }, options));
700
24
  }
701
- /**
702
- *
703
- * @param {ResourceGroupApiDeleteResourceGroupRequest} requestParameters Request parameters.
704
- * @param {*} [options] Override http request option.
705
- * @throws {RequiredError}
706
- * @memberof ResourceGroupApi
707
- */
708
- deleteResourceGroup(requestParameters, options) {
709
- return exports.ResourceGroupApiFp(this.configuration).deleteResourceGroup(requestParameters.id, options).then((request) => request(this.axios, this.basePath));
25
+ oauthCallback(params, options) {
26
+ return this.axios.get("/auth/oauth/:provider/callback".replace(/{provider}/, String(params["provider"])), Object.assign({}, {
27
+ params: pick(params, "code", "state"),
28
+ }, options));
710
29
  }
711
- /**
712
- *
713
- * @param {*} [options] Override http request option.
714
- * @throws {RequiredError}
715
- * @memberof ResourceGroupApi
716
- */
717
- getResourceGroups(options) {
718
- return exports.ResourceGroupApiFp(this.configuration).getResourceGroups(options).then((request) => request(this.axios, this.basePath));
30
+ ssoRedirect(params, options) {
31
+ return this.axios.get("/auth/sso/redirect/{domain}".replace(/{domain}/, String(params["domain"])), options);
719
32
  }
720
- /**
721
- *
722
- * @param {ResourceGroupApiUpdateResourceGroupRequest} requestParameters Request parameters.
723
- * @param {*} [options] Override http request option.
724
- * @throws {RequiredError}
725
- * @memberof ResourceGroupApi
726
- */
727
- updateResourceGroup(requestParameters, options) {
728
- return exports.ResourceGroupApiFp(this.configuration).updateResourceGroup(requestParameters.id, requestParameters.partialPickPickResourceGroupNameOrColor, options).then((request) => request(this.axios, this.basePath));
33
+ ssoCallback(params, options) {
34
+ return this.axios.post("/auth/sso/callback/{company}".replace(/{company}/, String(params["company"])), {}, options);
729
35
  }
730
- }
731
- exports.ResourceGroupApi = ResourceGroupApi;
732
- /**
733
- * RoleApi - axios parameter creator
734
- * @export
735
- */
736
- exports.RoleApiAxiosParamCreator = function (configuration) {
737
- return {
738
- /**
739
- *
740
- * @param {SerializedRole} body
741
- * @param {*} [options] Override http request option.
742
- * @throws {RequiredError}
743
- */
744
- createRole: async (body, options = {}) => {
745
- // verify required parameter 'body' is not null or undefined
746
- if (body === null || body === undefined) {
747
- throw new base_1.RequiredError('body', 'Required parameter body was null or undefined when calling createRole.');
748
- }
749
- const localVarPath = `/roles`;
750
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
751
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
752
- let baseOptions;
753
- if (configuration) {
754
- baseOptions = configuration.baseOptions;
755
- }
756
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
757
- const localVarHeaderParameter = {};
758
- const localVarQueryParameter = {};
759
- // authentication company required
760
- if (configuration && configuration.apiKey) {
761
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
762
- ? await configuration.apiKey("x-companyid")
763
- : await configuration.apiKey;
764
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
765
- }
766
- // authentication groups required
767
- if (configuration && configuration.apiKey) {
768
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
769
- ? await configuration.apiKey("x-user-resource-groupid")
770
- : await configuration.apiKey;
771
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
772
- }
773
- // authentication role required
774
- if (configuration && configuration.apiKey) {
775
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
776
- ? await configuration.apiKey("x-user-roleid")
777
- : await configuration.apiKey;
778
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
779
- }
780
- // authentication user required
781
- if (configuration && configuration.apiKey) {
782
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
783
- ? await configuration.apiKey("x-userid")
784
- : await configuration.apiKey;
785
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
786
- }
787
- localVarHeaderParameter['Content-Type'] = 'application/json';
788
- const query = new URLSearchParams(localVarUrlObj.search);
789
- for (const key in localVarQueryParameter) {
790
- query.set(key, localVarQueryParameter[key]);
791
- }
792
- for (const key in options.query) {
793
- query.set(key, options.query[key]);
794
- }
795
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
796
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
797
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
798
- const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
799
- localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
800
- return {
801
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
802
- options: localVarRequestOptions,
803
- };
804
- },
805
- /**
806
- *
807
- * @param {string} id
808
- * @param {*} [options] Override http request option.
809
- * @throws {RequiredError}
810
- */
811
- deleteRole: async (id, options = {}) => {
812
- // verify required parameter 'id' is not null or undefined
813
- if (id === null || id === undefined) {
814
- throw new base_1.RequiredError('id', 'Required parameter id was null or undefined when calling deleteRole.');
815
- }
816
- const localVarPath = `/roles/{id}`
817
- .replace(`{${"id"}}`, encodeURIComponent(String(id)));
818
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
819
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
820
- let baseOptions;
821
- if (configuration) {
822
- baseOptions = configuration.baseOptions;
823
- }
824
- const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options };
825
- const localVarHeaderParameter = {};
826
- const localVarQueryParameter = {};
827
- // authentication company required
828
- if (configuration && configuration.apiKey) {
829
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
830
- ? await configuration.apiKey("x-companyid")
831
- : await configuration.apiKey;
832
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
833
- }
834
- // authentication groups required
835
- if (configuration && configuration.apiKey) {
836
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
837
- ? await configuration.apiKey("x-user-resource-groupid")
838
- : await configuration.apiKey;
839
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
840
- }
841
- // authentication role required
842
- if (configuration && configuration.apiKey) {
843
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
844
- ? await configuration.apiKey("x-user-roleid")
845
- : await configuration.apiKey;
846
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
847
- }
848
- // authentication user required
849
- if (configuration && configuration.apiKey) {
850
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
851
- ? await configuration.apiKey("x-userid")
852
- : await configuration.apiKey;
853
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
854
- }
855
- const query = new URLSearchParams(localVarUrlObj.search);
856
- for (const key in localVarQueryParameter) {
857
- query.set(key, localVarQueryParameter[key]);
858
- }
859
- for (const key in options.query) {
860
- query.set(key, options.query[key]);
861
- }
862
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
863
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
864
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
865
- return {
866
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
867
- options: localVarRequestOptions,
868
- };
869
- },
870
- /**
871
- *
872
- * @param {*} [options] Override http request option.
873
- * @throws {RequiredError}
874
- */
875
- getRoles: async (options = {}) => {
876
- const localVarPath = `/roles`;
877
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
878
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
879
- let baseOptions;
880
- if (configuration) {
881
- baseOptions = configuration.baseOptions;
882
- }
883
- const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
884
- const localVarHeaderParameter = {};
885
- const localVarQueryParameter = {};
886
- // authentication company required
887
- if (configuration && configuration.apiKey) {
888
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
889
- ? await configuration.apiKey("x-companyid")
890
- : await configuration.apiKey;
891
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
892
- }
893
- // authentication groups required
894
- if (configuration && configuration.apiKey) {
895
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
896
- ? await configuration.apiKey("x-user-resource-groupid")
897
- : await configuration.apiKey;
898
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
899
- }
900
- // authentication role required
901
- if (configuration && configuration.apiKey) {
902
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
903
- ? await configuration.apiKey("x-user-roleid")
904
- : await configuration.apiKey;
905
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
906
- }
907
- // authentication user required
908
- if (configuration && configuration.apiKey) {
909
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
910
- ? await configuration.apiKey("x-userid")
911
- : await configuration.apiKey;
912
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
913
- }
914
- const query = new URLSearchParams(localVarUrlObj.search);
915
- for (const key in localVarQueryParameter) {
916
- query.set(key, localVarQueryParameter[key]);
917
- }
918
- for (const key in options.query) {
919
- query.set(key, options.query[key]);
920
- }
921
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
922
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
923
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
924
- return {
925
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
926
- options: localVarRequestOptions,
927
- };
928
- },
929
- /**
930
- *
931
- * @param {string} id
932
- * @param {PartialPickPickRoleNameOrRulesOrUndefined} partialPickPickRoleNameOrRulesOrUndefined
933
- * @param {*} [options] Override http request option.
934
- * @throws {RequiredError}
935
- */
936
- updateRole: async (id, partialPickPickRoleNameOrRulesOrUndefined, options = {}) => {
937
- // verify required parameter 'id' is not null or undefined
938
- if (id === null || id === undefined) {
939
- throw new base_1.RequiredError('id', 'Required parameter id was null or undefined when calling updateRole.');
940
- }
941
- // verify required parameter 'partialPickPickRoleNameOrRulesOrUndefined' is not null or undefined
942
- if (partialPickPickRoleNameOrRulesOrUndefined === null || partialPickPickRoleNameOrRulesOrUndefined === undefined) {
943
- throw new base_1.RequiredError('partialPickPickRoleNameOrRulesOrUndefined', 'Required parameter partialPickPickRoleNameOrRulesOrUndefined was null or undefined when calling updateRole.');
944
- }
945
- const localVarPath = `/roles/{id}`
946
- .replace(`{${"id"}}`, encodeURIComponent(String(id)));
947
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
948
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
949
- let baseOptions;
950
- if (configuration) {
951
- baseOptions = configuration.baseOptions;
952
- }
953
- const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options };
954
- const localVarHeaderParameter = {};
955
- const localVarQueryParameter = {};
956
- // authentication company required
957
- if (configuration && configuration.apiKey) {
958
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
959
- ? await configuration.apiKey("x-companyid")
960
- : await configuration.apiKey;
961
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
962
- }
963
- // authentication groups required
964
- if (configuration && configuration.apiKey) {
965
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
966
- ? await configuration.apiKey("x-user-resource-groupid")
967
- : await configuration.apiKey;
968
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
969
- }
970
- // authentication role required
971
- if (configuration && configuration.apiKey) {
972
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
973
- ? await configuration.apiKey("x-user-roleid")
974
- : await configuration.apiKey;
975
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
976
- }
977
- // authentication user required
978
- if (configuration && configuration.apiKey) {
979
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
980
- ? await configuration.apiKey("x-userid")
981
- : await configuration.apiKey;
982
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
983
- }
984
- localVarHeaderParameter['Content-Type'] = 'application/json';
985
- const query = new URLSearchParams(localVarUrlObj.search);
986
- for (const key in localVarQueryParameter) {
987
- query.set(key, localVarQueryParameter[key]);
988
- }
989
- for (const key in options.query) {
990
- query.set(key, options.query[key]);
991
- }
992
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
993
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
994
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
995
- const needsSerialization = (typeof partialPickPickRoleNameOrRulesOrUndefined !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
996
- localVarRequestOptions.data = needsSerialization ? JSON.stringify(partialPickPickRoleNameOrRulesOrUndefined !== undefined ? partialPickPickRoleNameOrRulesOrUndefined : {}) : (partialPickPickRoleNameOrRulesOrUndefined || "");
997
- return {
998
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
999
- options: localVarRequestOptions,
1000
- };
1001
- },
1002
- };
1003
- };
1004
- /**
1005
- * RoleApi - functional programming interface
1006
- * @export
1007
- */
1008
- exports.RoleApiFp = function (configuration) {
1009
- return {
1010
- /**
1011
- *
1012
- * @param {SerializedRole} body
1013
- * @param {*} [options] Override http request option.
1014
- * @throws {RequiredError}
1015
- */
1016
- async createRole(body, options) {
1017
- const localVarAxiosArgs = await exports.RoleApiAxiosParamCreator(configuration).createRole(body, options);
1018
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
1019
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
1020
- return axios.request(axiosRequestArgs);
1021
- };
1022
- },
1023
- /**
1024
- *
1025
- * @param {string} id
1026
- * @param {*} [options] Override http request option.
1027
- * @throws {RequiredError}
1028
- */
1029
- async deleteRole(id, options) {
1030
- const localVarAxiosArgs = await exports.RoleApiAxiosParamCreator(configuration).deleteRole(id, options);
1031
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
1032
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
1033
- return axios.request(axiosRequestArgs);
1034
- };
1035
- },
1036
- /**
1037
- *
1038
- * @param {*} [options] Override http request option.
1039
- * @throws {RequiredError}
1040
- */
1041
- async getRoles(options) {
1042
- const localVarAxiosArgs = await exports.RoleApiAxiosParamCreator(configuration).getRoles(options);
1043
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
1044
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
1045
- return axios.request(axiosRequestArgs);
1046
- };
1047
- },
1048
- /**
1049
- *
1050
- * @param {string} id
1051
- * @param {PartialPickPickRoleNameOrRulesOrUndefined} partialPickPickRoleNameOrRulesOrUndefined
1052
- * @param {*} [options] Override http request option.
1053
- * @throws {RequiredError}
1054
- */
1055
- async updateRole(id, partialPickPickRoleNameOrRulesOrUndefined, options) {
1056
- const localVarAxiosArgs = await exports.RoleApiAxiosParamCreator(configuration).updateRole(id, partialPickPickRoleNameOrRulesOrUndefined, options);
1057
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
1058
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
1059
- return axios.request(axiosRequestArgs);
1060
- };
1061
- },
1062
- };
1063
- };
1064
- /**
1065
- * RoleApi - factory interface
1066
- * @export
1067
- */
1068
- exports.RoleApiFactory = function (configuration, basePath, axios) {
1069
- return {
1070
- /**
1071
- *
1072
- * @param {SerializedRole} body
1073
- * @param {*} [options] Override http request option.
1074
- * @throws {RequiredError}
1075
- */
1076
- createRole(body, options) {
1077
- return exports.RoleApiFp(configuration).createRole(body, options).then((request) => request(axios, basePath));
1078
- },
1079
- /**
1080
- *
1081
- * @param {string} id
1082
- * @param {*} [options] Override http request option.
1083
- * @throws {RequiredError}
1084
- */
1085
- deleteRole(id, options) {
1086
- return exports.RoleApiFp(configuration).deleteRole(id, options).then((request) => request(axios, basePath));
1087
- },
1088
- /**
1089
- *
1090
- * @param {*} [options] Override http request option.
1091
- * @throws {RequiredError}
1092
- */
1093
- getRoles(options) {
1094
- return exports.RoleApiFp(configuration).getRoles(options).then((request) => request(axios, basePath));
1095
- },
1096
- /**
1097
- *
1098
- * @param {string} id
1099
- * @param {PartialPickPickRoleNameOrRulesOrUndefined} partialPickPickRoleNameOrRulesOrUndefined
1100
- * @param {*} [options] Override http request option.
1101
- * @throws {RequiredError}
1102
- */
1103
- updateRole(id, partialPickPickRoleNameOrRulesOrUndefined, options) {
1104
- return exports.RoleApiFp(configuration).updateRole(id, partialPickPickRoleNameOrRulesOrUndefined, options).then((request) => request(axios, basePath));
1105
- },
1106
- };
1107
- };
1108
- /**
1109
- * RoleApi - object-oriented interface
1110
- * @export
1111
- * @class RoleApi
1112
- * @extends {BaseAPI}
1113
- */
1114
- class RoleApi extends base_1.BaseAPI {
1115
- /**
1116
- *
1117
- * @param {RoleApiCreateRoleRequest} requestParameters Request parameters.
1118
- * @param {*} [options] Override http request option.
1119
- * @throws {RequiredError}
1120
- * @memberof RoleApi
1121
- */
1122
- createRole(requestParameters, options) {
1123
- return exports.RoleApiFp(this.configuration).createRole(requestParameters.body, options).then((request) => request(this.axios, this.basePath));
36
+ ssoMetadata(params, options) {
37
+ return this.axios.get("/auth/sso/metadata/{company}".replace(/{company}/, String(params["company"])), options);
1124
38
  }
1125
- /**
1126
- *
1127
- * @param {RoleApiDeleteRoleRequest} requestParameters Request parameters.
1128
- * @param {*} [options] Override http request option.
1129
- * @throws {RequiredError}
1130
- * @memberof RoleApi
1131
- */
1132
- deleteRole(requestParameters, options) {
1133
- return exports.RoleApiFp(this.configuration).deleteRole(requestParameters.id, options).then((request) => request(this.axios, this.basePath));
39
+ getToken(data, options) {
40
+ return this.axios.post("/auth/token", data, options);
1134
41
  }
1135
- /**
1136
- *
1137
- * @param {*} [options] Override http request option.
1138
- * @throws {RequiredError}
1139
- * @memberof RoleApi
1140
- */
1141
- getRoles(options) {
1142
- return exports.RoleApiFp(this.configuration).getRoles(options).then((request) => request(this.axios, this.basePath));
42
+ describeToken(params, options) {
43
+ return this.axios.get("/auth/token/{token}".replace(/{token}/, String(params["token"])), options);
1143
44
  }
1144
- /**
1145
- *
1146
- * @param {RoleApiUpdateRoleRequest} requestParameters Request parameters.
1147
- * @param {*} [options] Override http request option.
1148
- * @throws {RequiredError}
1149
- * @memberof RoleApi
1150
- */
1151
- updateRole(requestParameters, options) {
1152
- return exports.RoleApiFp(this.configuration).updateRole(requestParameters.id, requestParameters.partialPickPickRoleNameOrRulesOrUndefined, options).then((request) => request(this.axios, this.basePath));
45
+ revokeToken(params, options) {
46
+ return this.axios.delete("/auth/token/{token}".replace(/{token}/, String(params["token"])), options);
1153
47
  }
1154
- }
1155
- exports.RoleApi = RoleApi;
1156
- /**
1157
- * UserApi - axios parameter creator
1158
- * @export
1159
- */
1160
- exports.UserApiAxiosParamCreator = function (configuration) {
1161
- return {
1162
- /**
1163
- *
1164
- * @param {string} id
1165
- * @param {InlineObject1} inlineObject1
1166
- * @param {*} [options] Override http request option.
1167
- * @throws {RequiredError}
1168
- */
1169
- setUserResourceGroups: async (id, inlineObject1, options = {}) => {
1170
- // verify required parameter 'id' is not null or undefined
1171
- if (id === null || id === undefined) {
1172
- throw new base_1.RequiredError('id', 'Required parameter id was null or undefined when calling setUserResourceGroups.');
1173
- }
1174
- // verify required parameter 'inlineObject1' is not null or undefined
1175
- if (inlineObject1 === null || inlineObject1 === undefined) {
1176
- throw new base_1.RequiredError('inlineObject1', 'Required parameter inlineObject1 was null or undefined when calling setUserResourceGroups.');
1177
- }
1178
- const localVarPath = `/users/{id}/resource-groups`
1179
- .replace(`{${"id"}}`, encodeURIComponent(String(id)));
1180
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
1181
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
1182
- let baseOptions;
1183
- if (configuration) {
1184
- baseOptions = configuration.baseOptions;
1185
- }
1186
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
1187
- const localVarHeaderParameter = {};
1188
- const localVarQueryParameter = {};
1189
- // authentication company required
1190
- if (configuration && configuration.apiKey) {
1191
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
1192
- ? await configuration.apiKey("x-companyid")
1193
- : await configuration.apiKey;
1194
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
1195
- }
1196
- // authentication groups required
1197
- if (configuration && configuration.apiKey) {
1198
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
1199
- ? await configuration.apiKey("x-user-resource-groupid")
1200
- : await configuration.apiKey;
1201
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
1202
- }
1203
- // authentication role required
1204
- if (configuration && configuration.apiKey) {
1205
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
1206
- ? await configuration.apiKey("x-user-roleid")
1207
- : await configuration.apiKey;
1208
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
1209
- }
1210
- // authentication user required
1211
- if (configuration && configuration.apiKey) {
1212
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
1213
- ? await configuration.apiKey("x-userid")
1214
- : await configuration.apiKey;
1215
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
1216
- }
1217
- localVarHeaderParameter['Content-Type'] = 'application/json';
1218
- const query = new URLSearchParams(localVarUrlObj.search);
1219
- for (const key in localVarQueryParameter) {
1220
- query.set(key, localVarQueryParameter[key]);
1221
- }
1222
- for (const key in options.query) {
1223
- query.set(key, options.query[key]);
1224
- }
1225
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
1226
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
1227
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
1228
- const needsSerialization = (typeof inlineObject1 !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
1229
- localVarRequestOptions.data = needsSerialization ? JSON.stringify(inlineObject1 !== undefined ? inlineObject1 : {}) : (inlineObject1 || "");
1230
- return {
1231
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
1232
- options: localVarRequestOptions,
1233
- };
1234
- },
1235
- /**
1236
- *
1237
- * @param {string} id
1238
- * @param {InlineObject} inlineObject
1239
- * @param {*} [options] Override http request option.
1240
- * @throws {RequiredError}
1241
- */
1242
- setUserRole: async (id, inlineObject, options = {}) => {
1243
- // verify required parameter 'id' is not null or undefined
1244
- if (id === null || id === undefined) {
1245
- throw new base_1.RequiredError('id', 'Required parameter id was null or undefined when calling setUserRole.');
1246
- }
1247
- // verify required parameter 'inlineObject' is not null or undefined
1248
- if (inlineObject === null || inlineObject === undefined) {
1249
- throw new base_1.RequiredError('inlineObject', 'Required parameter inlineObject was null or undefined when calling setUserRole.');
1250
- }
1251
- const localVarPath = `/users/{id}/role`
1252
- .replace(`{${"id"}}`, encodeURIComponent(String(id)));
1253
- // use dummy base URL string because the URL constructor only accepts absolute URLs.
1254
- const localVarUrlObj = new URL(localVarPath, 'https://example.com');
1255
- let baseOptions;
1256
- if (configuration) {
1257
- baseOptions = configuration.baseOptions;
1258
- }
1259
- const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
1260
- const localVarHeaderParameter = {};
1261
- const localVarQueryParameter = {};
1262
- // authentication company required
1263
- if (configuration && configuration.apiKey) {
1264
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
1265
- ? await configuration.apiKey("x-companyid")
1266
- : await configuration.apiKey;
1267
- localVarHeaderParameter["x-companyid"] = localVarApiKeyValue;
1268
- }
1269
- // authentication groups required
1270
- if (configuration && configuration.apiKey) {
1271
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
1272
- ? await configuration.apiKey("x-user-resource-groupid")
1273
- : await configuration.apiKey;
1274
- localVarHeaderParameter["x-user-resource-groupid"] = localVarApiKeyValue;
1275
- }
1276
- // authentication role required
1277
- if (configuration && configuration.apiKey) {
1278
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
1279
- ? await configuration.apiKey("x-user-roleid")
1280
- : await configuration.apiKey;
1281
- localVarHeaderParameter["x-user-roleid"] = localVarApiKeyValue;
1282
- }
1283
- // authentication user required
1284
- if (configuration && configuration.apiKey) {
1285
- const localVarApiKeyValue = typeof configuration.apiKey === 'function'
1286
- ? await configuration.apiKey("x-userid")
1287
- : await configuration.apiKey;
1288
- localVarHeaderParameter["x-userid"] = localVarApiKeyValue;
1289
- }
1290
- localVarHeaderParameter['Content-Type'] = 'application/json';
1291
- const query = new URLSearchParams(localVarUrlObj.search);
1292
- for (const key in localVarQueryParameter) {
1293
- query.set(key, localVarQueryParameter[key]);
1294
- }
1295
- for (const key in options.query) {
1296
- query.set(key, options.query[key]);
1297
- }
1298
- localVarUrlObj.search = (new URLSearchParams(query)).toString();
1299
- let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
1300
- localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
1301
- const needsSerialization = (typeof inlineObject !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
1302
- localVarRequestOptions.data = needsSerialization ? JSON.stringify(inlineObject !== undefined ? inlineObject : {}) : (inlineObject || "");
1303
- return {
1304
- url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
1305
- options: localVarRequestOptions,
1306
- };
1307
- },
1308
- };
1309
- };
1310
- /**
1311
- * UserApi - functional programming interface
1312
- * @export
1313
- */
1314
- exports.UserApiFp = function (configuration) {
1315
- return {
1316
- /**
1317
- *
1318
- * @param {string} id
1319
- * @param {InlineObject1} inlineObject1
1320
- * @param {*} [options] Override http request option.
1321
- * @throws {RequiredError}
1322
- */
1323
- async setUserResourceGroups(id, inlineObject1, options) {
1324
- const localVarAxiosArgs = await exports.UserApiAxiosParamCreator(configuration).setUserResourceGroups(id, inlineObject1, options);
1325
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
1326
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
1327
- return axios.request(axiosRequestArgs);
1328
- };
1329
- },
1330
- /**
1331
- *
1332
- * @param {string} id
1333
- * @param {InlineObject} inlineObject
1334
- * @param {*} [options] Override http request option.
1335
- * @throws {RequiredError}
1336
- */
1337
- async setUserRole(id, inlineObject, options) {
1338
- const localVarAxiosArgs = await exports.UserApiAxiosParamCreator(configuration).setUserRole(id, inlineObject, options);
1339
- return (axios = axios_1.default, basePath = base_1.BASE_PATH) => {
1340
- const axiosRequestArgs = { ...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url };
1341
- return axios.request(axiosRequestArgs);
1342
- };
1343
- },
1344
- };
1345
- };
1346
- /**
1347
- * UserApi - factory interface
1348
- * @export
1349
- */
1350
- exports.UserApiFactory = function (configuration, basePath, axios) {
1351
- return {
1352
- /**
1353
- *
1354
- * @param {string} id
1355
- * @param {InlineObject1} inlineObject1
1356
- * @param {*} [options] Override http request option.
1357
- * @throws {RequiredError}
1358
- */
1359
- setUserResourceGroups(id, inlineObject1, options) {
1360
- return exports.UserApiFp(configuration).setUserResourceGroups(id, inlineObject1, options).then((request) => request(axios, basePath));
1361
- },
1362
- /**
1363
- *
1364
- * @param {string} id
1365
- * @param {InlineObject} inlineObject
1366
- * @param {*} [options] Override http request option.
1367
- * @throws {RequiredError}
1368
- */
1369
- setUserRole(id, inlineObject, options) {
1370
- return exports.UserApiFp(configuration).setUserRole(id, inlineObject, options).then((request) => request(axios, basePath));
1371
- },
1372
- };
1373
- };
1374
- /**
1375
- * UserApi - object-oriented interface
1376
- * @export
1377
- * @class UserApi
1378
- * @extends {BaseAPI}
1379
- */
1380
- class UserApi extends base_1.BaseAPI {
1381
- /**
1382
- *
1383
- * @param {UserApiSetUserResourceGroupsRequest} requestParameters Request parameters.
1384
- * @param {*} [options] Override http request option.
1385
- * @throws {RequiredError}
1386
- * @memberof UserApi
1387
- */
1388
- setUserResourceGroups(requestParameters, options) {
1389
- return exports.UserApiFp(this.configuration).setUserResourceGroups(requestParameters.id, requestParameters.inlineObject1, options).then((request) => request(this.axios, this.basePath));
48
+ getDefaultsCompany(options) {
49
+ return this.axios.get("/companies/defaults", options);
50
+ }
51
+ setDefaultsCompany(data, options) {
52
+ return this.axios.post("/companies/defaults", data, options);
53
+ }
54
+ getCompany(params, options) {
55
+ return this.axios.get("/companies/{id}".replace(/{id}/, String(params["id"])), options);
56
+ }
57
+ listInvitation(params, options) {
58
+ return this.axios.get("/invitations", Object.assign({}, {
59
+ params: pick(params, "page", "perPage", "state"),
60
+ }, options));
61
+ }
62
+ createInvitation(data, options) {
63
+ return this.axios.post("/invitations", data, options);
64
+ }
65
+ useInvitation(params, options) {
66
+ return this.axios.get("/invitations/{id}".replace(/{id}/, String(params["id"])), options);
67
+ }
68
+ deleteInvitation(params, options) {
69
+ return this.axios.delete("/invitations/{id}".replace(/{id}/, String(params["id"])), options);
70
+ }
71
+ listResourceGroup(options) {
72
+ return this.axios.get("/resource-groups", options);
1390
73
  }
1391
- /**
1392
- *
1393
- * @param {UserApiSetUserRoleRequest} requestParameters Request parameters.
1394
- * @param {*} [options] Override http request option.
1395
- * @throws {RequiredError}
1396
- * @memberof UserApi
1397
- */
1398
- setUserRole(requestParameters, options) {
1399
- return exports.UserApiFp(this.configuration).setUserRole(requestParameters.id, requestParameters.inlineObject, options).then((request) => request(this.axios, this.basePath));
74
+ createResourceGroup(data, options) {
75
+ return this.axios.post("/resource-groups", data, options);
1400
76
  }
77
+ updateResourceGroup(params, data, options) {
78
+ return this.axios.patch("/resource-groups/{id}".replace(/{id}/, String(params["id"])), data, options);
79
+ }
80
+ deleteResourceGroup(params, options) {
81
+ return this.axios.delete("/resource-groups/{id}".replace(/{id}/, String(params["id"])), options);
82
+ }
83
+ listRole(options) {
84
+ return this.axios.get("/roles", options);
85
+ }
86
+ createRole(data, options) {
87
+ return this.axios.post("/roles", data, options);
88
+ }
89
+ updateRole(params, data, options) {
90
+ return this.axios.patch("/roles/{id}".replace(/{id}/, String(params["id"])), data, options);
91
+ }
92
+ deleteRole(params, options) {
93
+ return this.axios.delete("/roles/{id}".replace(/{id}/, String(params["id"])), options);
94
+ }
95
+ listUser(params, options) {
96
+ return this.axios.get("/users", Object.assign({}, {
97
+ params: pick(params, "page", "perPage"),
98
+ }, options));
99
+ }
100
+ createUser(data, options) {
101
+ return this.axios.post("/users", data, options);
102
+ }
103
+ updatePasswordUser(data, options) {
104
+ return this.axios.patch("/users/password", data, options);
105
+ }
106
+ resetPasswordUser(data, options) {
107
+ return this.axios.post("/users/password-reset", data, options);
108
+ }
109
+ updateUser(params, data, options) {
110
+ return this.axios.patch("/users/{id}".replace(/{id}/, String(params["id"])), data, options);
111
+ }
112
+ deleteUser(params, options) {
113
+ return this.axios.delete("/users/{id}".replace(/{id}/, String(params["id"])), options);
114
+ }
115
+ setRoleUser(params, data, options) {
116
+ return this.axios.post("/users/{id}/role".replace(/{id}/, String(params["id"])), data, options);
117
+ }
118
+ setResourceGroupsUser(params, data, options) {
119
+ return this.axios.post("/users/{id}/resource-groups".replace(/{id}/, String(params["id"])), data, options);
120
+ }
121
+ setOtpUser(params, data, options) {
122
+ return this.axios.post("/users/{id}/otp".replace(/{id}/, String(params["id"])), data, options);
123
+ }
124
+ get Authentification() {
125
+ return {
126
+ oauthShopifyRedirect: this.oauthShopifyRedirect.bind(this),
127
+ oauthRedirect: this.oauthRedirect.bind(this),
128
+ oauthCallback: this.oauthCallback.bind(this),
129
+ ssoRedirect: this.ssoRedirect.bind(this),
130
+ ssoCallback: this.ssoCallback.bind(this),
131
+ ssoMetadata: this.ssoMetadata.bind(this),
132
+ getToken: this.getToken.bind(this),
133
+ describeToken: this.describeToken.bind(this),
134
+ revokeToken: this.revokeToken.bind(this)
135
+ };
136
+ }
137
+ get Company() {
138
+ return {
139
+ getDefaults: this.getDefaultsCompany.bind(this),
140
+ setDefaults: this.setDefaultsCompany.bind(this),
141
+ get: this.getCompany.bind(this)
142
+ };
143
+ }
144
+ get Invitation() {
145
+ return {
146
+ list: this.listInvitation.bind(this),
147
+ create: this.createInvitation.bind(this),
148
+ use: this.useInvitation.bind(this),
149
+ delete: this.deleteInvitation.bind(this)
150
+ };
151
+ }
152
+ get ResourceGroup() {
153
+ return {
154
+ list: this.listResourceGroup.bind(this),
155
+ create: this.createResourceGroup.bind(this),
156
+ update: this.updateResourceGroup.bind(this),
157
+ delete: this.deleteResourceGroup.bind(this)
158
+ };
159
+ }
160
+ get Role() {
161
+ return {
162
+ list: this.listRole.bind(this),
163
+ create: this.createRole.bind(this),
164
+ update: this.updateRole.bind(this),
165
+ delete: this.deleteRole.bind(this)
166
+ };
167
+ }
168
+ get User() {
169
+ return {
170
+ list: this.listUser.bind(this),
171
+ create: this.createUser.bind(this),
172
+ updatePassword: this.updatePasswordUser.bind(this),
173
+ resetPassword: this.resetPasswordUser.bind(this),
174
+ update: this.updateUser.bind(this),
175
+ delete: this.deleteUser.bind(this),
176
+ setRole: this.setRoleUser.bind(this),
177
+ setResourceGroups: this.setResourceGroupsUser.bind(this),
178
+ setOtp: this.setOtpUser.bind(this)
179
+ };
180
+ }
181
+ }
182
+ exports.default = default_1;
183
+ function pick(obj, ...keys) {
184
+ const ret = {};
185
+ keys.forEach(key => {
186
+ if (obj && Object.keys(obj).includes(key))
187
+ ret[key] = obj[key];
188
+ });
189
+ return ret;
1401
190
  }
1402
- exports.UserApi = UserApi;
1403
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCOzs7Ozs7Ozs7O0dBVUc7Ozs7OztBQUlILGtEQUFpRTtBQUNqRSx5REFBeUQ7QUFDekQsYUFBYTtBQUNiLGlDQUE0RjtBQThFNUY7OztNQUdNO0FBQ04sSUFBWSwyQkFFWDtBQUZELFdBQVksMkJBQTJCO0lBQ25DLGtEQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFGVywyQkFBMkIsR0FBM0IsbUNBQTJCLEtBQTNCLG1DQUEyQixRQUV0QztBQW9ERDs7O01BR007QUFDTixJQUFZLDRCQUVYO0FBRkQsV0FBWSw0QkFBNEI7SUFDcEMsbURBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQUZXLDRCQUE0QixHQUE1QixvQ0FBNEIsS0FBNUIsb0NBQTRCLFFBRXZDO0FBb0REOzs7TUFHTTtBQUNOLElBQVksNEJBRVg7QUFGRCxXQUFZLDRCQUE0QjtJQUNwQyxtREFBbUIsQ0FBQTtBQUN2QixDQUFDLEVBRlcsNEJBQTRCLEdBQTVCLG9DQUE0QixLQUE1QixvQ0FBNEIsUUFFdkM7QUFvREQ7OztNQUdNO0FBQ04sSUFBWSw0QkFFWDtBQUZELFdBQVksNEJBQTRCO0lBQ3BDLG1EQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFGVyw0QkFBNEIsR0FBNUIsb0NBQTRCLEtBQTVCLG9DQUE0QixRQUV2QztBQW9ERDs7O01BR007QUFDTixJQUFZLDRCQUVYO0FBRkQsV0FBWSw0QkFBNEI7SUFDcEMsbURBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQUZXLDRCQUE0QixHQUE1QixvQ0FBNEIsS0FBNUIsb0NBQTRCLFFBRXZDO0FBb0REOzs7TUFHTTtBQUNOLElBQVksNEJBRVg7QUFGRCxXQUFZLDRCQUE0QjtJQUNwQyxtREFBbUIsQ0FBQTtBQUN2QixDQUFDLEVBRlcsNEJBQTRCLEdBQTVCLG9DQUE0QixLQUE1QixvQ0FBNEIs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
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsb0JBQW9COzs7OztBQUVwQixrREFBaUU7QUFvQmpFO0lBR0ksWUFBWSxnQkFBb0Q7UUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLElBQUksZ0JBQWdCO1lBQzNDLENBQUMsQ0FBQyxnQkFBZ0I7WUFDbEIsQ0FBQyxDQUFDLGVBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFFNUIsRUFBRSxPQUE0QjtRQUMzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQVNqQiw4QkFBOEIsRUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FDVCxFQUFFLEVBQ0Y7WUFDSSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7U0FDL0IsRUFDRCxPQUFPLENBQ1YsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUlyQixFQUFFLE9BQTRCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBU2pCLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQ2xGLE1BQU0sQ0FBQyxNQUFNLENBQ1QsRUFBRSxFQUNGO1lBQ0ksTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQztTQUM5QyxFQUNELE9BQU8sQ0FDVixDQUNKLENBQUM7SUFDTixDQUFDO0lBRU8sYUFBYSxDQUFDLE1BSXJCLEVBQUUsT0FBNEI7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FTakIsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFVB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