@api-client/core 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/build/browser.d.ts +5 -2
  2. package/build/browser.js +7 -2
  3. package/build/browser.js.map +1 -1
  4. package/build/index.d.ts +6 -4
  5. package/build/index.js +4 -3
  6. package/build/index.js.map +1 -1
  7. package/build/src/models/HttpHistory.d.ts +29 -0
  8. package/build/src/models/HttpHistory.js.map +1 -1
  9. package/build/src/models/RequestLog.d.ts +8 -0
  10. package/build/src/models/RequestLog.js +14 -1
  11. package/build/src/models/RequestLog.js.map +1 -1
  12. package/build/src/runtime/node/InteropInterfaces.d.ts +115 -0
  13. package/build/src/runtime/node/InteropInterfaces.js +2 -0
  14. package/build/src/runtime/node/InteropInterfaces.js.map +1 -0
  15. package/build/src/runtime/node/ProjectParallelRunner.d.ts +2 -7
  16. package/build/src/runtime/node/ProjectParallelRunner.js.map +1 -1
  17. package/build/src/runtime/node/ProjectRequestRunner.d.ts +17 -49
  18. package/build/src/runtime/node/ProjectRequestRunner.js +39 -10
  19. package/build/src/runtime/node/ProjectRequestRunner.js.map +1 -1
  20. package/build/src/runtime/node/ProjectRunner.d.ts +1 -59
  21. package/build/src/runtime/node/ProjectRunner.js.map +1 -1
  22. package/build/src/runtime/node/ProjectRunnerWorker.js.map +1 -1
  23. package/build/src/runtime/store/AuthSdk.d.ts +28 -0
  24. package/build/src/runtime/store/AuthSdk.js +123 -0
  25. package/build/src/runtime/store/AuthSdk.js.map +1 -0
  26. package/build/src/runtime/store/BackendSdk.d.ts +8 -0
  27. package/build/src/runtime/store/BackendSdk.js +25 -0
  28. package/build/src/runtime/store/BackendSdk.js.map +1 -0
  29. package/build/src/runtime/store/HistorySdk.d.ts +48 -0
  30. package/build/src/runtime/store/HistorySdk.js +142 -0
  31. package/build/src/runtime/store/HistorySdk.js.map +1 -0
  32. package/build/src/runtime/store/Http.d.ts +14 -0
  33. package/build/src/runtime/store/Http.js +4 -0
  34. package/build/src/runtime/store/Http.js.map +1 -0
  35. package/build/src/runtime/store/HttpNode.d.ts +16 -0
  36. package/build/src/runtime/store/HttpNode.js +95 -0
  37. package/build/src/runtime/store/HttpNode.js.map +1 -0
  38. package/build/src/runtime/store/HttpWeb.d.ts +15 -0
  39. package/build/src/runtime/store/HttpWeb.js +83 -0
  40. package/build/src/runtime/store/HttpWeb.js.map +1 -0
  41. package/build/src/runtime/store/ProjectsSdk.d.ts +43 -0
  42. package/build/src/runtime/store/ProjectsSdk.js +144 -0
  43. package/build/src/runtime/store/ProjectsSdk.js.map +1 -0
  44. package/build/src/runtime/store/RouteBuilder.d.ts +42 -0
  45. package/build/src/runtime/store/RouteBuilder.js +75 -0
  46. package/build/src/runtime/store/RouteBuilder.js.map +1 -0
  47. package/build/src/runtime/store/Sdk.d.ts +79 -0
  48. package/build/src/runtime/store/Sdk.js +117 -0
  49. package/build/src/runtime/store/Sdk.js.map +1 -0
  50. package/build/src/runtime/store/SdkBase.d.ts +45 -0
  51. package/build/src/runtime/store/SdkBase.js +40 -0
  52. package/build/src/runtime/store/SdkBase.js.map +1 -0
  53. package/build/src/runtime/store/SpacesSdk.d.ts +50 -0
  54. package/build/src/runtime/store/SpacesSdk.js +185 -0
  55. package/build/src/runtime/store/SpacesSdk.js.map +1 -0
  56. package/build/src/runtime/store/StoreSdkNode.d.ts +10 -0
  57. package/build/src/runtime/store/StoreSdkNode.js +11 -0
  58. package/build/src/runtime/store/StoreSdkNode.js.map +1 -0
  59. package/build/src/runtime/store/StoreSdkWeb.d.ts +10 -0
  60. package/build/src/runtime/store/StoreSdkWeb.js +11 -0
  61. package/build/src/runtime/store/StoreSdkWeb.js.map +1 -0
  62. package/build/src/runtime/store/UsersSdk.d.ts +18 -0
  63. package/build/src/runtime/store/UsersSdk.js +88 -0
  64. package/build/src/runtime/store/UsersSdk.js.map +1 -0
  65. package/build/src/runtime/store/WsClient.d.ts +24 -0
  66. package/build/src/runtime/store/WsClient.js +4 -0
  67. package/build/src/runtime/store/WsClient.js.map +1 -0
  68. package/build/src/runtime/store/WsClientNode.d.ts +24 -0
  69. package/build/src/runtime/store/WsClientNode.js +66 -0
  70. package/build/src/runtime/store/WsClientNode.js.map +1 -0
  71. package/build/src/runtime/store/WsClientWeb.d.ts +23 -0
  72. package/build/src/runtime/store/WsClientWeb.js +73 -0
  73. package/build/src/runtime/store/WsClientWeb.js.map +1 -0
  74. package/package.json +4 -6
  75. package/src/models/HttpHistory.ts +30 -0
  76. package/src/models/RequestLog.ts +17 -1
  77. package/src/runtime/node/InteropInterfaces.ts +121 -0
  78. package/src/runtime/node/ProjectParallelRunner.ts +2 -9
  79. package/src/runtime/node/ProjectRequestRunner.ts +42 -61
  80. package/src/runtime/node/ProjectRunner.ts +1 -60
  81. package/src/runtime/node/ProjectRunnerWorker.ts +2 -1
  82. package/src/runtime/store/AuthSdk.ts +126 -0
  83. package/src/runtime/store/BackendSdk.ts +25 -0
  84. package/src/runtime/store/HistorySdk.ts +157 -0
  85. package/src/runtime/store/Http.ts +18 -0
  86. package/src/runtime/store/HttpNode.ts +100 -0
  87. package/src/runtime/store/HttpWeb.ts +89 -0
  88. package/src/runtime/store/ProjectsSdk.ts +147 -0
  89. package/src/runtime/store/RouteBuilder.ts +89 -0
  90. package/src/runtime/store/Sdk.ts +131 -0
  91. package/src/runtime/store/SdkBase.ts +72 -0
  92. package/src/runtime/store/SpacesSdk.ts +190 -0
  93. package/src/runtime/store/StoreSdkNode.ts +13 -0
  94. package/src/runtime/store/StoreSdkWeb.ts +13 -0
  95. package/src/runtime/store/UsersSdk.ts +89 -0
  96. package/src/runtime/store/WsClient.ts +28 -0
  97. package/src/runtime/store/WsClientNode.ts +68 -0
  98. package/src/runtime/store/WsClientWeb.ts +75 -0
  99. package/build/src/models/HistoryIndex.d.ts +0 -45
  100. package/build/src/models/HistoryIndex.js +0 -56
  101. package/build/src/models/HistoryIndex.js.map +0 -1
  102. package/build/src/runtime/store/StoreSdk.d.ts +0 -279
  103. package/build/src/runtime/store/StoreSdk.js +0 -842
  104. package/build/src/runtime/store/StoreSdk.js.map +0 -1
  105. package/src/models/HistoryIndex.ts +0 -81
  106. package/src/runtime/store/StoreSdk.ts +0 -895
@@ -0,0 +1,117 @@
1
+ import { AuthSdk } from './AuthSdk.js';
2
+ import { BackendSdk } from './BackendSdk.js';
3
+ import { SpacesSdk } from './SpacesSdk.js';
4
+ import { ProjectsSdk } from './ProjectsSdk.js';
5
+ import { UsersSdk } from './UsersSdk.js';
6
+ import { HistorySdk } from './HistorySdk.js';
7
+ const baseUriSymbol = Symbol('baseUri');
8
+ /**
9
+ * NodeJS API for API Client's net-store module.
10
+ */
11
+ export class Sdk {
12
+ basePath;
13
+ /**
14
+ * The token to use with requests. Can be overwritten with each API call.
15
+ */
16
+ token;
17
+ /**
18
+ * The user authentication features.
19
+ */
20
+ auth = new AuthSdk(this);
21
+ /**
22
+ * The store information features
23
+ */
24
+ store = new BackendSdk(this);
25
+ /**
26
+ * The user spaces features.
27
+ */
28
+ space = new SpacesSdk(this);
29
+ /**
30
+ * The user projects features.
31
+ */
32
+ project = new ProjectsSdk(this);
33
+ /**
34
+ * Reads user information.
35
+ */
36
+ user = new UsersSdk(this);
37
+ /**
38
+ * The history data.
39
+ */
40
+ history = new HistorySdk(this);
41
+ [baseUriSymbol] = '';
42
+ /**
43
+ * @returns The base URI to the store.
44
+ */
45
+ get baseUri() {
46
+ return this[baseUriSymbol];
47
+ }
48
+ /**
49
+ * @param value The base URI to the store.
50
+ */
51
+ set baseUri(value) {
52
+ if (!value) {
53
+ throw new Error(`Invalid value for the baseUri`);
54
+ }
55
+ let url;
56
+ try {
57
+ url = new URL(value);
58
+ }
59
+ catch (e) {
60
+ throw new Error(`Invalid baseUri: Not an URL`);
61
+ }
62
+ this[baseUriSymbol] = url.origin;
63
+ const { pathname } = url;
64
+ if (pathname && pathname !== '/') {
65
+ this.basePath = pathname;
66
+ }
67
+ else {
68
+ this.basePath = undefined;
69
+ }
70
+ }
71
+ /**
72
+ * @param baseUri The base URI to the store.
73
+ * @param basePath The base path (the router prefix) for the server.
74
+ */
75
+ constructor(baseUri, basePath) {
76
+ this.basePath = basePath;
77
+ this.baseUri = baseUri;
78
+ }
79
+ /**
80
+ * Creates a full URL for a path.
81
+ * This adds the server's base path and the passed path to the configured base URL.
82
+ * @param path The path to the endpoint, without the base path.
83
+ */
84
+ getUrl(path = '/') {
85
+ const { baseUri, basePath = '' } = this;
86
+ let userPath = path;
87
+ if (basePath && userPath.startsWith(basePath)) {
88
+ userPath = userPath.substring(basePath.length);
89
+ }
90
+ return new URL(`${basePath}${userPath}`, baseUri);
91
+ }
92
+ /**
93
+ * Appends list options to the query parameters.
94
+ * @param url The URL object to the API endpoint
95
+ * @param options The list options, if any
96
+ */
97
+ appendListOptions(url, options = {}) {
98
+ const { searchParams } = url;
99
+ if (options.cursor) {
100
+ searchParams.set('cursor', options.cursor);
101
+ }
102
+ else {
103
+ if (typeof options.limit === 'number') {
104
+ searchParams.set('limit', String(options.limit));
105
+ }
106
+ if (options.query) {
107
+ searchParams.set('query', options.query);
108
+ }
109
+ if (Array.isArray(options.queryField)) {
110
+ options.queryField.forEach((field) => {
111
+ searchParams.append('queryField', field);
112
+ });
113
+ }
114
+ }
115
+ }
116
+ }
117
+ //# sourceMappingURL=Sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sdk.js","sourceRoot":"","sources":["../../../../src/runtime/store/Sdk.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,OAAgB,GAAG;IA0Ea;IAzEpC;;OAEG;IACH,KAAK,CAAU;IACf;;OAEG;IACH,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB;;OAEG;IACH,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B;;OAEG;IACH,OAAO,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC;;OAEG;IACH,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAS1B;;OAEG;IACH,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAG/B,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IAErB;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,KAAa;QACvB,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QACD,IAAI,GAAQ,CAAC;QACb,IAAI;YACF,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QACzB,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC3B;IACH,CAAC;IAED;;;OAGG;IACH,YAAY,OAAe,EAAS,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,GAAC,GAAG;QACb,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAC,EAAE,EAAE,GAAG,IAAI,CAAC;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC7C,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,GAAQ,EAAE,UAAwB,EAAE;QACpD,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SAC5C;aAAM;YACL,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;gBACrC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aAClD;YACD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACjB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;aAC1C;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACrC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACnC,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ /// <reference types="node" />
2
+ import { Headers } from '../../lib/headers/Headers.js';
3
+ import { Sdk } from './Sdk.js';
4
+ export interface IStoreRequestOptions {
5
+ method?: 'GET' | 'POST' | 'PATCH' | 'DELETE';
6
+ headers?: Record<string, string>;
7
+ body?: string | Buffer;
8
+ /**
9
+ * Adds the token to the headers.
10
+ */
11
+ token?: string;
12
+ }
13
+ export interface IStoreResponse {
14
+ status: number;
15
+ headers: Headers;
16
+ body?: string;
17
+ }
18
+ export interface IStoreTokenInfo {
19
+ /**
20
+ * The token to use.
21
+ */
22
+ token: string;
23
+ /**
24
+ * The timestamp when the token expires.
25
+ * Note, clients may have a different date than the store.
26
+ *
27
+ * May not be set when the token does not expire.
28
+ */
29
+ expires?: number;
30
+ }
31
+ export declare const E_INVALID_JSON = "The response is not a valid JSON.";
32
+ export declare const E_RESPONSE_NO_VALUE = "The response has no value.";
33
+ export declare const E_RESPONSE_STATUS = "Invalid response status: ";
34
+ export declare const E_RESPONSE_UNKNOWN = "The response has unknown format.";
35
+ export declare const E_RESPONSE_LOCATION = "The response has no \"location\" header.";
36
+ export declare class SdkBase {
37
+ sdk: Sdk;
38
+ constructor(sdk: Sdk);
39
+ protected logInvalidResponse(response: IStoreResponse): void;
40
+ /**
41
+ * Throws unified message for a common error status codes.
42
+ * It handles 404, 403, and 401 status codes.
43
+ */
44
+ protected inspectCommonStatusCodes(status: number): void;
45
+ }
@@ -0,0 +1,40 @@
1
+ export const E_INVALID_JSON = 'The response is not a valid JSON.';
2
+ export const E_RESPONSE_NO_VALUE = 'The response has no value.';
3
+ export const E_RESPONSE_STATUS = 'Invalid response status: ';
4
+ export const E_RESPONSE_UNKNOWN = 'The response has unknown format.';
5
+ export const E_RESPONSE_LOCATION = 'The response has no "location" header.';
6
+ export class SdkBase {
7
+ sdk;
8
+ constructor(sdk) {
9
+ this.sdk = sdk;
10
+ }
11
+ logInvalidResponse(response) {
12
+ if (response.body) {
13
+ try {
14
+ const data = JSON.parse(response.body);
15
+ if (data.message) {
16
+ console.warn(`[Store message]: ${data.message}`);
17
+ }
18
+ }
19
+ catch (e) {
20
+ // .
21
+ }
22
+ }
23
+ }
24
+ /**
25
+ * Throws unified message for a common error status codes.
26
+ * It handles 404, 403, and 401 status codes.
27
+ */
28
+ inspectCommonStatusCodes(status) {
29
+ if (status === 404) {
30
+ throw new Error(`Not found.`);
31
+ }
32
+ if (status === 403) {
33
+ throw new Error(`You have no access to this resource.`);
34
+ }
35
+ if (status === 401) {
36
+ throw new Error(`Not authorized.`);
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=SdkBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SdkBase.js","sourceRoot":"","sources":["../../../../src/runtime/store/SdkBase.ts"],"names":[],"mappings":"AAiCA,MAAM,CAAC,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAClE,MAAM,CAAC,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,wCAAwC,CAAC;AAG5E,MAAM,OAAO,OAAO;IACC;IAAnB,YAAmB,GAAQ;QAAR,QAAG,GAAH,GAAG,CAAK;IAAG,CAAC;IAErB,kBAAkB,CAAC,QAAwB;QACnD,IAAI,QAAQ,CAAC,IAAI,EAAE;YACjB,IAAI;gBACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;iBAClD;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI;aACL;SACF;IACH,CAAC;IAED;;;OAGG;IACO,wBAAwB,CAAC,MAAc;QAC/C,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;SAC/B;QACD,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QACD,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACpC;IACH,CAAC;CACF"}
@@ -0,0 +1,50 @@
1
+ import { JsonPatch } from 'json8-patch';
2
+ import { SdkBase } from './SdkBase.js';
3
+ import { IListOptions, IListResponse } from '../../models/Backend.js';
4
+ import { IWorkspace, IUserWorkspace, Workspace } from '../../models/Workspace.js';
5
+ import { UserAccessOperation } from '../../models/User.js';
6
+ export declare class SpacesSdk extends SdkBase {
7
+ /**
8
+ * Lists spaces in the store.
9
+ * @param options Optional query options.
10
+ */
11
+ list(options?: IListOptions): Promise<IListResponse>;
12
+ /**
13
+ * Creates a workspace in the store.
14
+ * @param space The workspace definition.
15
+ * @returns The key of the creates space.
16
+ */
17
+ create(space: IWorkspace | Workspace): Promise<string>;
18
+ /**
19
+ * Reads a user space definition from the store.
20
+ * @param key The user space key
21
+ * @returns The definition of the user space.
22
+ */
23
+ read(key: string): Promise<IUserWorkspace>;
24
+ /**
25
+ * Patches a user space in the store.
26
+ * @param key The key of the user space to patch
27
+ * @param value The JSON patch to be processed.
28
+ * @returns The JSON patch to revert the change using the `json8-patch` library
29
+ */
30
+ patch(key: string, value: JsonPatch): Promise<JsonPatch>;
31
+ /**
32
+ * Deletes the space in the store.
33
+ *
34
+ * @param key The key of the space to delete.
35
+ */
36
+ delete(key: string): Promise<void>;
37
+ /**
38
+ * Updates the sharing options of the space.
39
+ *
40
+ * @param key The user space key
41
+ * @param value The patch operation on the space's ACL
42
+ */
43
+ patchUsers(key: string, value: UserAccessOperation[]): Promise<void>;
44
+ /**
45
+ * Lists uses having access to the user space.
46
+ *
47
+ * @param key The user space key
48
+ */
49
+ listUsers(key: string): Promise<IListResponse>;
50
+ }
@@ -0,0 +1,185 @@
1
+ import { SdkBase, E_RESPONSE_STATUS, E_RESPONSE_NO_VALUE, E_INVALID_JSON, E_RESPONSE_UNKNOWN, E_RESPONSE_LOCATION } from './SdkBase.js';
2
+ import { RouteBuilder } from './RouteBuilder.js';
3
+ import { Kind as WorkspaceKind } from '../../models/Workspace.js';
4
+ export class SpacesSdk extends SdkBase {
5
+ /**
6
+ * Lists spaces in the store.
7
+ * @param options Optional query options.
8
+ */
9
+ async list(options) {
10
+ const { token } = this.sdk;
11
+ const url = this.sdk.getUrl(RouteBuilder.spaces());
12
+ this.sdk.appendListOptions(url, options);
13
+ const result = await this.sdk.http.get(url.toString(), { token });
14
+ this.inspectCommonStatusCodes(result.status);
15
+ const E_PREFIX = 'Unable to list spaces. ';
16
+ if (result.status !== 200) {
17
+ this.logInvalidResponse(result);
18
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
19
+ }
20
+ if (!result.body) {
21
+ throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
22
+ }
23
+ let data;
24
+ try {
25
+ data = JSON.parse(result.body);
26
+ }
27
+ catch (e) {
28
+ throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
29
+ }
30
+ if (!Array.isArray(data.data)) {
31
+ throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
32
+ }
33
+ return data;
34
+ }
35
+ /**
36
+ * Creates a workspace in the store.
37
+ * @param space The workspace definition.
38
+ * @returns The key of the creates space.
39
+ */
40
+ async create(space) {
41
+ const { token } = this.sdk;
42
+ const url = this.sdk.getUrl(RouteBuilder.spaces());
43
+ const body = JSON.stringify(space);
44
+ const result = await this.sdk.http.post(url.toString(), { token, body });
45
+ this.inspectCommonStatusCodes(result.status);
46
+ const E_PREFIX = 'Unable to create a user space. ';
47
+ if (result.status !== 204) {
48
+ this.logInvalidResponse(result);
49
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
50
+ }
51
+ const location = result.headers.get('location');
52
+ if (!location) {
53
+ throw new Error(`${E_PREFIX}${E_RESPONSE_LOCATION}`);
54
+ }
55
+ const id = location.split('/').pop();
56
+ return id;
57
+ }
58
+ /**
59
+ * Reads a user space definition from the store.
60
+ * @param key The user space key
61
+ * @returns The definition of the user space.
62
+ */
63
+ async read(key) {
64
+ const { token } = this.sdk;
65
+ const url = this.sdk.getUrl(RouteBuilder.space(key));
66
+ const result = await this.sdk.http.get(url.toString(), { token });
67
+ this.inspectCommonStatusCodes(result.status);
68
+ const E_PREFIX = 'Unable to read a user space. ';
69
+ if (result.status !== 200) {
70
+ this.logInvalidResponse(result);
71
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
72
+ }
73
+ if (!result.body) {
74
+ throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
75
+ }
76
+ let data;
77
+ try {
78
+ data = JSON.parse(result.body);
79
+ }
80
+ catch (e) {
81
+ throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
82
+ }
83
+ if (data.kind !== WorkspaceKind) {
84
+ throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
85
+ }
86
+ return data;
87
+ }
88
+ /**
89
+ * Patches a user space in the store.
90
+ * @param key The key of the user space to patch
91
+ * @param value The JSON patch to be processed.
92
+ * @returns The JSON patch to revert the change using the `json8-patch` library
93
+ */
94
+ async patch(key, value) {
95
+ const { token } = this.sdk;
96
+ const url = this.sdk.getUrl(RouteBuilder.space(key));
97
+ const body = JSON.stringify(value);
98
+ const result = await this.sdk.http.patch(url.toString(), { token, body });
99
+ this.inspectCommonStatusCodes(result.status);
100
+ const E_PREFIX = 'Unable to patch a user space. ';
101
+ if (result.status !== 200) {
102
+ this.logInvalidResponse(result);
103
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
104
+ }
105
+ if (!result.body) {
106
+ throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
107
+ }
108
+ let data;
109
+ try {
110
+ data = JSON.parse(result.body);
111
+ }
112
+ catch (e) {
113
+ throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
114
+ }
115
+ if (!data.revert) {
116
+ throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
117
+ }
118
+ return data.revert;
119
+ }
120
+ /**
121
+ * Deletes the space in the store.
122
+ *
123
+ * @param key The key of the space to delete.
124
+ */
125
+ async delete(key) {
126
+ const { token } = this.sdk;
127
+ const url = this.sdk.getUrl(RouteBuilder.space(key));
128
+ const result = await this.sdk.http.delete(url.toString(), { token });
129
+ this.inspectCommonStatusCodes(result.status);
130
+ const E_PREFIX = 'Unable to delete a user space. ';
131
+ if (result.status !== 204) {
132
+ this.logInvalidResponse(result);
133
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
134
+ }
135
+ }
136
+ /**
137
+ * Updates the sharing options of the space.
138
+ *
139
+ * @param key The user space key
140
+ * @param value The patch operation on the space's ACL
141
+ */
142
+ async patchUsers(key, value) {
143
+ const { token } = this.sdk;
144
+ const url = this.sdk.getUrl(RouteBuilder.spaceUsers(key));
145
+ const body = JSON.stringify(value);
146
+ const result = await this.sdk.http.patch(url.toString(), { token, body });
147
+ this.inspectCommonStatusCodes(result.status);
148
+ const E_PREFIX = 'Unable to patch a user space. ';
149
+ if (result.status !== 204) {
150
+ this.logInvalidResponse(result);
151
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
152
+ }
153
+ }
154
+ /**
155
+ * Lists uses having access to the user space.
156
+ *
157
+ * @param key The user space key
158
+ */
159
+ async listUsers(key) {
160
+ const { token } = this.sdk;
161
+ const url = this.sdk.getUrl(RouteBuilder.spaceUsers(key));
162
+ const result = await this.sdk.http.get(url.toString(), { token });
163
+ this.inspectCommonStatusCodes(result.status);
164
+ const E_PREFIX = 'Unable to list users in the space. ';
165
+ if (result.status !== 200) {
166
+ this.logInvalidResponse(result);
167
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
168
+ }
169
+ if (!result.body) {
170
+ throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
171
+ }
172
+ let data;
173
+ try {
174
+ data = JSON.parse(result.body);
175
+ }
176
+ catch (e) {
177
+ throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
178
+ }
179
+ if (!Array.isArray(data.data)) {
180
+ throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
181
+ }
182
+ return data;
183
+ }
184
+ }
185
+ //# sourceMappingURL=SpacesSdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpacesSdk.js","sourceRoot":"","sources":["../../../../src/runtime/store/SpacesSdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Sdk } from './Sdk.js';
2
+ import { Http } from './Http.js';
3
+ import { WsClient } from './WsClient.js';
4
+ /**
5
+ * NodeJS API for API Client's net-store module.
6
+ */
7
+ export declare class StoreSdk extends Sdk {
8
+ http: Http;
9
+ ws: WsClient;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { HttpNode } from './HttpNode.js';
2
+ import { WsClientNode } from './WsClientNode.js';
3
+ import { Sdk } from './Sdk.js';
4
+ /**
5
+ * NodeJS API for API Client's net-store module.
6
+ */
7
+ export class StoreSdk extends Sdk {
8
+ http = new HttpNode(this);
9
+ ws = new WsClientNode(this);
10
+ }
11
+ //# sourceMappingURL=StoreSdkNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreSdkNode.js","sourceRoot":"","sources":["../../../../src/runtime/store/StoreSdkNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,GAAG;IAC/B,IAAI,GAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,EAAE,GAAa,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;CACvC"}
@@ -0,0 +1,10 @@
1
+ import { Sdk } from './Sdk.js';
2
+ import { Http } from './Http.js';
3
+ import { WsClient } from './WsClient.js';
4
+ /**
5
+ * NodeJS API for API Client's net-store module.
6
+ */
7
+ export declare class StoreSdk extends Sdk {
8
+ http: Http;
9
+ ws: WsClient;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { HttpWeb } from './HttpWeb.js';
2
+ import { WsClientWeb } from './WsClientWeb.js';
3
+ import { Sdk } from './Sdk.js';
4
+ /**
5
+ * NodeJS API for API Client's net-store module.
6
+ */
7
+ export class StoreSdk extends Sdk {
8
+ http = new HttpWeb(this);
9
+ ws = new WsClientWeb(this);
10
+ }
11
+ //# sourceMappingURL=StoreSdkWeb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreSdkWeb.js","sourceRoot":"","sources":["../../../../src/runtime/store/StoreSdkWeb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,GAAG;IAC/B,IAAI,GAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,EAAE,GAAa,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;CACtC"}
@@ -0,0 +1,18 @@
1
+ import { SdkBase } from './SdkBase.js';
2
+ import { IListOptions, IListResponse } from '../../models/Backend.js';
3
+ import { IUser } from '../../models/User.js';
4
+ export declare class UsersSdk extends SdkBase {
5
+ me(): Promise<IUser>;
6
+ /**
7
+ * Lists users in the store
8
+ *
9
+ * @param options Optional query options.
10
+ */
11
+ list(options?: IListOptions): Promise<IListResponse>;
12
+ /**
13
+ * Reads a user information from the store.
14
+ * @param key The user key.
15
+ * @returns The user object
16
+ */
17
+ read(key: string): Promise<IUser>;
18
+ }
@@ -0,0 +1,88 @@
1
+ import { SdkBase, E_RESPONSE_STATUS, E_RESPONSE_NO_VALUE, E_INVALID_JSON, E_RESPONSE_UNKNOWN } from './SdkBase.js';
2
+ import { RouteBuilder } from './RouteBuilder.js';
3
+ export class UsersSdk extends SdkBase {
4
+ async me() {
5
+ const { token } = this.sdk;
6
+ const url = this.sdk.getUrl(RouteBuilder.usersMe());
7
+ const result = await this.sdk.http.get(url.toString(), { token });
8
+ this.inspectCommonStatusCodes(result.status);
9
+ const E_PREFIX = 'Unable to read a user. ';
10
+ if (result.status !== 200) {
11
+ this.logInvalidResponse(result);
12
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
13
+ }
14
+ if (!result.body) {
15
+ throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
16
+ }
17
+ let data;
18
+ try {
19
+ data = JSON.parse(result.body);
20
+ }
21
+ catch (e) {
22
+ throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
23
+ }
24
+ if (!data.key) {
25
+ throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
26
+ }
27
+ return data;
28
+ }
29
+ /**
30
+ * Lists users in the store
31
+ *
32
+ * @param options Optional query options.
33
+ */
34
+ async list(options) {
35
+ const { token } = this.sdk;
36
+ const url = this.sdk.getUrl(RouteBuilder.users());
37
+ this.sdk.appendListOptions(url, options);
38
+ const result = await this.sdk.http.get(url.toString(), { token });
39
+ this.inspectCommonStatusCodes(result.status);
40
+ const E_PREFIX = 'Unable to list projects. ';
41
+ if (result.status !== 200) {
42
+ this.logInvalidResponse(result);
43
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
44
+ }
45
+ if (!result.body) {
46
+ throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
47
+ }
48
+ let data;
49
+ try {
50
+ data = JSON.parse(result.body);
51
+ }
52
+ catch (e) {
53
+ throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
54
+ }
55
+ if (!Array.isArray(data.data)) {
56
+ throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
57
+ }
58
+ return data;
59
+ }
60
+ /**
61
+ * Reads a user information from the store.
62
+ * @param key The user key.
63
+ * @returns The user object
64
+ */
65
+ async read(key) {
66
+ const { token } = this.sdk;
67
+ const url = this.sdk.getUrl(RouteBuilder.user(key));
68
+ const result = await this.sdk.http.get(url.toString(), { token });
69
+ this.inspectCommonStatusCodes(result.status);
70
+ const E_PREFIX = 'Unable to read the user info. ';
71
+ if (result.status !== 200) {
72
+ this.logInvalidResponse(result);
73
+ throw new Error(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`);
74
+ }
75
+ if (!result.body) {
76
+ throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
77
+ }
78
+ let data;
79
+ try {
80
+ data = JSON.parse(result.body);
81
+ }
82
+ catch (e) {
83
+ throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
84
+ }
85
+ return data;
86
+ }
87
+ }
88
+ //# sourceMappingURL=UsersSdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsersSdk.js","sourceRoot":"","sources":["../../../../src/runtime/store/UsersSdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import WebSocketNode from 'ws';
2
+ import { SdkBase } from './SdkBase.js';
3
+ export declare abstract class WsClient extends SdkBase {
4
+ /**
5
+ * Creates a WS client with optional token
6
+ * @param addr The ws:// address
7
+ * @param token Optional token to add.
8
+ */
9
+ abstract getClient(addr: string, token?: string): WebSocket | WebSocketNode;
10
+ /**
11
+ * Connect to the WS server
12
+ *
13
+ * @param client The client to wait for connection.
14
+ */
15
+ abstract connect(client: WebSocket | WebSocketNode): Promise<void>;
16
+ /**
17
+ * Disconnects from the WS server.
18
+ */
19
+ abstract disconnect(client: WebSocket | WebSocketNode): Promise<void>;
20
+ /**
21
+ * The combination of `getClient()` and `connect()`.
22
+ */
23
+ abstract createAndConnect(addr: string, token?: string): Promise<WebSocket | WebSocketNode>;
24
+ }
@@ -0,0 +1,4 @@
1
+ import { SdkBase } from './SdkBase.js';
2
+ export class WsClient extends SdkBase {
3
+ }
4
+ //# sourceMappingURL=WsClient.js.map