@api-client/core 0.8.21 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/build/browser.d.ts +12 -5
  2. package/build/browser.js +2 -3
  3. package/build/browser.js.map +1 -1
  4. package/build/index.d.ts +12 -5
  5. package/build/index.js +2 -4
  6. package/build/index.js.map +1 -1
  7. package/build/src/events/BaseEvents.d.ts +125 -18
  8. package/build/src/events/BaseEvents.js.map +1 -1
  9. package/build/src/events/EventTypes.d.ts +0 -14
  10. package/build/src/events/EventTypes.js +0 -2
  11. package/build/src/events/EventTypes.js.map +1 -1
  12. package/build/src/events/Events.d.ts +1 -5
  13. package/build/src/events/Events.js +0 -2
  14. package/build/src/events/Events.js.map +1 -1
  15. package/build/src/events/transport/TransportEventTypes.d.ts +0 -1
  16. package/build/src/events/transport/TransportEventTypes.js +0 -1
  17. package/build/src/events/transport/TransportEventTypes.js.map +1 -1
  18. package/build/src/events/transport/TransportEvents.d.ts +0 -8
  19. package/build/src/events/transport/TransportEvents.js +0 -11
  20. package/build/src/events/transport/TransportEvents.js.map +1 -1
  21. package/build/src/mocking/ProjectMock.d.ts +0 -3
  22. package/build/src/mocking/ProjectMock.js +0 -3
  23. package/build/src/mocking/ProjectMock.js.map +1 -1
  24. package/build/src/mocking/lib/History.js +5 -0
  25. package/build/src/mocking/lib/History.js.map +1 -1
  26. package/build/src/models/{Workspace.d.ts → Folder.d.ts} +7 -7
  27. package/build/src/models/{Workspace.js → Folder.js} +5 -5
  28. package/build/src/models/Folder.js.map +1 -0
  29. package/build/src/models/HttpHistory.d.ts +38 -43
  30. package/build/src/models/HttpHistory.js +27 -34
  31. package/build/src/models/HttpHistory.js.map +1 -1
  32. package/build/src/models/HttpProject.d.ts +0 -2
  33. package/build/src/models/HttpProject.js +0 -27
  34. package/build/src/models/HttpProject.js.map +1 -1
  35. package/build/src/models/Project.d.ts +0 -8
  36. package/build/src/models/Project.js +0 -4
  37. package/build/src/models/Project.js.map +1 -1
  38. package/build/src/models/ProjectFolder.d.ts +0 -2
  39. package/build/src/models/ProjectFolder.js +0 -14
  40. package/build/src/models/ProjectFolder.js.map +1 -1
  41. package/build/src/models/ProjectItem.d.ts +0 -2
  42. package/build/src/models/ProjectItem.js +0 -20
  43. package/build/src/models/ProjectItem.js.map +1 -1
  44. package/build/src/models/ProjectRequest.d.ts +2 -3
  45. package/build/src/models/ProjectRequest.js.map +1 -1
  46. package/build/src/models/RequestConfig.d.ts +1 -1
  47. package/build/src/models/Space.d.ts +42 -0
  48. package/build/src/models/Space.js +81 -0
  49. package/build/src/models/Space.js.map +1 -0
  50. package/build/src/models/TrashEntry.d.ts +27 -0
  51. package/build/src/models/TrashEntry.js +2 -0
  52. package/build/src/models/TrashEntry.js.map +1 -0
  53. package/build/src/models/data/DataAssociation.d.ts +22 -5
  54. package/build/src/models/data/DataAssociation.js +29 -11
  55. package/build/src/models/data/DataAssociation.js.map +1 -1
  56. package/build/src/models/data/DataEntity.d.ts +12 -1
  57. package/build/src/models/data/DataEntity.js +49 -10
  58. package/build/src/models/data/DataEntity.js.map +1 -1
  59. package/build/src/models/data/DataNamespace.d.ts +34 -1
  60. package/build/src/models/data/DataNamespace.js +75 -1
  61. package/build/src/models/data/DataNamespace.js.map +1 -1
  62. package/build/src/models/store/Backend.d.ts +0 -315
  63. package/build/src/models/store/Backend.js +0 -1
  64. package/build/src/models/store/Backend.js.map +1 -1
  65. package/build/src/models/store/File.d.ts +30 -0
  66. package/build/src/models/store/File.js +5 -5
  67. package/build/src/models/store/File.js.map +1 -1
  68. package/build/src/proxy/ProxyService.d.ts +0 -10
  69. package/build/src/proxy/ProxyService.js +0 -14
  70. package/build/src/proxy/ProxyService.js.map +1 -1
  71. package/build/src/runtime/node/InteropInterfaces.d.ts +1 -2
  72. package/build/src/runtime/node/ProjectParallelRunner.d.ts +2 -3
  73. package/build/src/runtime/node/ProjectParallelRunner.js.map +1 -1
  74. package/build/src/runtime/node/ProjectRequestRunner.d.ts +7 -8
  75. package/build/src/runtime/node/ProjectRequestRunner.js +2 -3
  76. package/build/src/runtime/node/ProjectRequestRunner.js.map +1 -1
  77. package/build/src/runtime/node/ProjectRunner.d.ts +3 -4
  78. package/build/src/runtime/node/ProjectRunner.js.map +1 -1
  79. package/build/src/runtime/node/ProjectRunnerWorker.js +0 -4
  80. package/build/src/runtime/node/ProjectRunnerWorker.js.map +1 -1
  81. package/build/src/runtime/store/CertificatesSdk.d.ts +46 -0
  82. package/build/src/runtime/store/CertificatesSdk.js +227 -0
  83. package/build/src/runtime/store/CertificatesSdk.js.map +1 -0
  84. package/build/src/runtime/store/FilesSdk.d.ts +14 -9
  85. package/build/src/runtime/store/FilesSdk.js +60 -16
  86. package/build/src/runtime/store/FilesSdk.js.map +1 -1
  87. package/build/src/runtime/store/HistorySdk.d.ts +11 -8
  88. package/build/src/runtime/store/HistorySdk.js +140 -17
  89. package/build/src/runtime/store/HistorySdk.js.map +1 -1
  90. package/build/src/runtime/store/RevisionsSdk.d.ts +12 -0
  91. package/build/src/runtime/store/RevisionsSdk.js +43 -0
  92. package/build/src/runtime/store/RevisionsSdk.js.map +1 -0
  93. package/build/src/runtime/store/RouteBuilder.d.ts +16 -18
  94. package/build/src/runtime/store/RouteBuilder.js +33 -60
  95. package/build/src/runtime/store/RouteBuilder.js.map +1 -1
  96. package/build/src/runtime/store/Sdk.d.ts +10 -7
  97. package/build/src/runtime/store/Sdk.js +12 -5
  98. package/build/src/runtime/store/Sdk.js.map +1 -1
  99. package/build/src/runtime/store/SdkBase.js.map +1 -1
  100. package/build/src/runtime/store/SharedSdk.d.ts +2 -2
  101. package/build/src/runtime/store/SharedSdk.js.map +1 -1
  102. package/build/src/runtime/store/SpacesSdk.d.ts +29 -0
  103. package/build/src/runtime/store/SpacesSdk.js +135 -0
  104. package/build/src/runtime/store/SpacesSdk.js.map +1 -0
  105. package/build/src/runtime/store/TrashSdk.d.ts +35 -0
  106. package/build/src/runtime/store/TrashSdk.js +155 -0
  107. package/build/src/runtime/store/TrashSdk.js.map +1 -0
  108. package/build/src/runtime/store/UsersSdk.d.ts +2 -2
  109. package/build/src/runtime/store/UsersSdk.js.map +1 -1
  110. package/build/src/runtime/store/interfaces/ApiClientStore.d.ts +30 -0
  111. package/build/src/runtime/store/interfaces/ApiClientStore.js +2 -0
  112. package/build/src/runtime/store/interfaces/ApiClientStore.js.map +1 -0
  113. package/build/src/runtime/store/interfaces/Certificates.d.ts +49 -0
  114. package/build/src/runtime/store/interfaces/Certificates.js +2 -0
  115. package/build/src/runtime/store/interfaces/Certificates.js.map +1 -0
  116. package/build/src/runtime/store/interfaces/Files.d.ts +63 -0
  117. package/build/src/runtime/store/interfaces/Files.js +2 -0
  118. package/build/src/runtime/store/interfaces/Files.js.map +1 -0
  119. package/build/src/runtime/store/interfaces/History.d.ts +63 -0
  120. package/build/src/runtime/store/interfaces/History.js +2 -0
  121. package/build/src/runtime/store/interfaces/History.js.map +1 -0
  122. package/build/src/runtime/store/interfaces/Media.d.ts +42 -0
  123. package/build/src/runtime/store/interfaces/Media.js +2 -0
  124. package/build/src/runtime/store/interfaces/Media.js.map +1 -0
  125. package/build/src/runtime/store/interfaces/Revisions.d.ts +25 -0
  126. package/build/src/runtime/store/interfaces/Revisions.js +2 -0
  127. package/build/src/runtime/store/interfaces/Revisions.js.map +1 -0
  128. package/build/src/runtime/store/interfaces/Spaces.d.ts +42 -0
  129. package/build/src/runtime/store/interfaces/Spaces.js +2 -0
  130. package/build/src/runtime/store/interfaces/Spaces.js.map +1 -0
  131. package/build/src/runtime/store/interfaces/Trash.d.ts +38 -0
  132. package/build/src/runtime/store/interfaces/Trash.js +2 -0
  133. package/build/src/runtime/store/interfaces/Trash.js.map +1 -0
  134. package/package.json +12 -12
  135. package/src/events/BaseEvents.ts +136 -18
  136. package/src/events/EventTypes.ts +0 -2
  137. package/src/events/Events.ts +0 -2
  138. package/src/events/transport/TransportEventTypes.ts +0 -1
  139. package/src/events/transport/TransportEvents.ts +0 -13
  140. package/src/mocking/ProjectMock.ts +0 -4
  141. package/src/mocking/lib/History.ts +5 -0
  142. package/src/models/{Workspace.ts → Folder.ts} +12 -12
  143. package/src/models/HttpHistory.ts +53 -63
  144. package/src/models/HttpProject.ts +0 -29
  145. package/src/models/Project.ts +0 -8
  146. package/src/models/ProjectFolder.ts +0 -16
  147. package/src/models/ProjectItem.ts +0 -18
  148. package/src/models/ProjectRequest.ts +3 -4
  149. package/src/models/RequestConfig.ts +1 -1
  150. package/src/models/Space.ts +105 -0
  151. package/src/models/TrashEntry.ts +29 -0
  152. package/src/models/data/DataAssociation.ts +50 -15
  153. package/src/models/data/DataEntity.ts +51 -10
  154. package/src/models/data/DataNamespace.ts +78 -2
  155. package/src/models/store/Backend.ts +0 -342
  156. package/src/models/store/File.ts +38 -5
  157. package/src/proxy/ProxyService.ts +0 -15
  158. package/src/proxy/readme.md +0 -1
  159. package/src/runtime/node/InteropInterfaces.ts +1 -2
  160. package/src/runtime/node/ProjectParallelRunner.ts +2 -3
  161. package/src/runtime/node/ProjectRequestRunner.ts +13 -14
  162. package/src/runtime/node/ProjectRunner.ts +3 -4
  163. package/src/runtime/node/ProjectRunnerWorker.ts +1 -4
  164. package/src/runtime/store/CertificatesSdk.ts +231 -0
  165. package/src/runtime/store/FilesSdk.ts +71 -26
  166. package/src/runtime/store/HistorySdk.ts +145 -33
  167. package/src/runtime/store/RevisionsSdk.ts +44 -0
  168. package/src/runtime/store/RouteBuilder.ts +37 -69
  169. package/src/runtime/store/Sdk.ts +17 -7
  170. package/src/runtime/store/SdkBase.ts +1 -1
  171. package/src/runtime/store/SharedSdk.ts +3 -3
  172. package/src/runtime/store/SpacesSdk.ts +136 -0
  173. package/src/runtime/store/TrashSdk.ts +159 -0
  174. package/src/runtime/store/UsersSdk.ts +3 -3
  175. package/src/runtime/store/interfaces/ApiClientStore.ts +39 -0
  176. package/src/runtime/store/interfaces/Certificates.ts +56 -0
  177. package/src/runtime/store/interfaces/Files.ts +70 -0
  178. package/src/runtime/store/interfaces/History.ts +64 -0
  179. package/src/runtime/store/interfaces/Media.ts +46 -0
  180. package/src/runtime/store/interfaces/Revisions.ts +27 -0
  181. package/src/runtime/store/interfaces/Spaces.ts +48 -0
  182. package/src/runtime/store/interfaces/Trash.ts +42 -0
  183. package/build/src/events/models/ClientCertificateEvents.d.ts +0 -54
  184. package/build/src/events/models/ClientCertificateEvents.js +0 -78
  185. package/build/src/events/models/ClientCertificateEvents.js.map +0 -1
  186. package/build/src/events/models/ModelEventTypes.d.ts +0 -13
  187. package/build/src/events/models/ModelEventTypes.js +0 -14
  188. package/build/src/events/models/ModelEventTypes.js.map +0 -1
  189. package/build/src/events/models/ModelEvents.d.ts +0 -4
  190. package/build/src/events/models/ModelEvents.js +0 -5
  191. package/build/src/events/models/ModelEvents.js.map +0 -1
  192. package/build/src/mocking/lib/App.d.ts +0 -36
  193. package/build/src/mocking/lib/App.js +0 -70
  194. package/build/src/mocking/lib/App.js.map +0 -1
  195. package/build/src/models/AppProject.d.ts +0 -817
  196. package/build/src/models/AppProject.js +0 -1721
  197. package/build/src/models/AppProject.js.map +0 -1
  198. package/build/src/models/AppRequest.d.ts +0 -69
  199. package/build/src/models/AppRequest.js +0 -150
  200. package/build/src/models/AppRequest.js.map +0 -1
  201. package/build/src/models/Workspace.js.map +0 -1
  202. package/build/src/proxy/AppProjectProxy.d.ts +0 -28
  203. package/build/src/proxy/AppProjectProxy.js +0 -107
  204. package/build/src/proxy/AppProjectProxy.js.map +0 -1
  205. package/build/src/runtime/store/AppSdk.d.ts +0 -213
  206. package/build/src/runtime/store/AppSdk.js +0 -836
  207. package/build/src/runtime/store/AppSdk.js.map +0 -1
  208. package/src/events/models/ClientCertificateEvents.ts +0 -85
  209. package/src/events/models/ModelEventTypes.ts +0 -13
  210. package/src/events/models/ModelEvents.ts +0 -5
  211. package/src/mocking/lib/App.ts +0 -101
  212. package/src/models/AppProject.ts +0 -2188
  213. package/src/models/AppRequest.ts +0 -176
  214. package/src/proxy/AppProjectProxy.ts +0 -126
  215. package/src/runtime/store/AppSdk.ts +0 -842
@@ -0,0 +1,49 @@
1
+ import { HttpCertificate } from "../../../models/ClientCertificate.js";
2
+ import { ContextChangeRecord, ContextDeleteRecord, ContextListResult, ContextSpaceListOptions, IBulkOperationResult } from "../../../events/BaseEvents.js";
3
+ /**
4
+ * A store for the client certificates.
5
+ * This just keeps record of removed files. File location does not change.
6
+ */
7
+ export interface Certificates {
8
+ /**
9
+ * Inserts a certificate to the store
10
+ *
11
+ * @param value The value to insert.
12
+ * @param space The parent space of the certificate.
13
+ */
14
+ add(value: HttpCertificate, space: string): Promise<ContextChangeRecord<HttpCertificate>>;
15
+ /**
16
+ * Adds certificates in a bulk operation.
17
+ * @param value The lits of certificates to add.
18
+ * @param space The parent workspace
19
+ * @returns The list of inserted certificates. `undefined` when there was an error inserting a certificate.
20
+ */
21
+ addBulk(values: HttpCertificate[], space: string): Promise<IBulkOperationResult<ContextChangeRecord<HttpCertificate>>>;
22
+ /**
23
+ * @param key The key of the certificate to read.
24
+ */
25
+ read(key: string): Promise<HttpCertificate>;
26
+ /**
27
+ * Lists certificate entires.
28
+ *
29
+ * @param space The parent space of the certificate.
30
+ * @param options The list query options.
31
+ */
32
+ list(options?: ContextSpaceListOptions): Promise<ContextListResult<HttpCertificate>>;
33
+ /**
34
+ * Marks the certificate as deleted.
35
+ *
36
+ * @param key The key of the certificate to delete.
37
+ */
38
+ delete(key: string): Promise<ContextDeleteRecord>;
39
+ /**
40
+ * Removed certificates in a bulk operation.
41
+ * @param keys The list of certificate keys to delete.
42
+ */
43
+ deleteBulk(keys: string[]): Promise<IBulkOperationResult<ContextDeleteRecord>>;
44
+ /**
45
+ * Removes all certificates from the store for the given workspace.
46
+ * @param space The parent workspace key
47
+ */
48
+ empty(space: string): Promise<void>;
49
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Certificates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Certificates.js","sourceRoot":"","sources":["../../../../../src/runtime/store/interfaces/Certificates.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ import { IFile, FileAddOptions, FileBreadcrumb } from '../../../models/store/File.js';
2
+ import { ContextChangeRecord, ContextDeleteRecord, ContextListResult, ContextSpaceListOptions, IBulkOperationResult, IPatchInfo, IPatchRevision } from '../../../events/BaseEvents.js';
3
+ /**
4
+ * A store that stores file/folder metadata in a filesystem like structure.
5
+ *
6
+ * In API Client the `space` is a parent for all data kept in the application.
7
+ */
8
+ export interface Files {
9
+ /**
10
+ * Lists files in a space.
11
+ * @param options Query options. It must include `space`.
12
+ * @param kinds Optionally, lists the files with the listed kinds.
13
+ */
14
+ list(options: ContextSpaceListOptions, kinds?: string[]): Promise<ContextListResult<IFile>>;
15
+ /**
16
+ * Adds a new file to the store. Note, this throws an error when a file already exists.
17
+ *
18
+ * @param input The file to add.
19
+ * @param space The id of the parent space.
20
+ * @param opts The file add options.
21
+ */
22
+ add(input: IFile, space: string, opts?: FileAddOptions): Promise<ContextChangeRecord<IFile>>;
23
+ /**
24
+ * Reads a file meta from the store.
25
+ * It throws when the file does not exist or was deleted.
26
+ *
27
+ * @param key The id of the file to read the metadata for.
28
+ */
29
+ read(key: string): Promise<IFile>;
30
+ /**
31
+ * Reads multiple files in a single call.
32
+ * Unlike the `read()` method, this does not throw when a file is not found or deleted.
33
+ * When the file is missing it inserts `undefined` or `null` in the resulting array at the index
34
+ * of the missing key.
35
+ *
36
+ * Note, this returns `undefined` when directly querying the store but it may return `null` when
37
+ * structured clone algorithm is used between the application and the database.
38
+ *
39
+ * @param keys The list of keys to read
40
+ */
41
+ readBulk(keys: string[]): Promise<IBulkOperationResult<IFile>>;
42
+ /**
43
+ * Marks file as deleted.
44
+ * Files are not deleted by using this method. They are marked as deleted and later ignored
45
+ * by most of the API.
46
+ *
47
+ * @param key The database id of the file to remove.
48
+ */
49
+ delete(key: string): Promise<ContextDeleteRecord>;
50
+ /**
51
+ * This is the preferred way to update a file metadata. It allows to apply a reversible patch
52
+ * to the file and reverse it on demand.
53
+ *
54
+ * @param key The datastore id of the file to patch
55
+ * @param info The patch to apply.
56
+ */
57
+ patch(key: string, info: IPatchInfo): Promise<IPatchRevision>;
58
+ /**
59
+ * Lists breadcrumbs to the file.
60
+ * @param key The lowest file in the hierarchy
61
+ */
62
+ breadcrumbs(key: string): Promise<ContextListResult<FileBreadcrumb>>;
63
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Files.js","sourceRoot":"","sources":["../../../../../src/runtime/store/interfaces/Files.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ import { ContextChangeRecord, ContextDeleteRecord, ContextListResult, HistoryListOptions, IBulkOperationResult } from "../../../events/BaseEvents.js";
2
+ import { IHttpHistory, IHttpHistoryBulkAdd } from "../../../models/HttpHistory.js";
3
+ /**
4
+ * A store for the HTTP requests history.
5
+ */
6
+ export interface History {
7
+ /**
8
+ * Adds a history object to the store.
9
+ *
10
+ * @param history The history object
11
+ * @param space The parent space key
12
+ */
13
+ add(item: IHttpHistory): Promise<ContextChangeRecord<IHttpHistory>>;
14
+ /**
15
+ * Adds history in a bulk operation.
16
+ * @param info The bulk add operation schema.
17
+ * @param space The parent space key
18
+ */
19
+ addBulk(info: IHttpHistoryBulkAdd): Promise<IBulkOperationResult<ContextChangeRecord<IHttpHistory>>>;
20
+ /**
21
+ * Lists the history data.
22
+ * @param space The parent space key
23
+ * @param options List options
24
+ */
25
+ list(options?: HistoryListOptions): Promise<ContextListResult<IHttpHistory>>;
26
+ /**
27
+ * Marks the data as deleted. It also removes the data from the indexes.
28
+ * Only the owner can delete the history object. This may change in the future.
29
+ *
30
+ * @param key The history object key to delete. This is an URL-encoded key.
31
+ */
32
+ delete(key: string): Promise<ContextDeleteRecord>;
33
+ /**
34
+ * Deletes a history in a bulk operation.
35
+ * @param keys The list of history keys to delete. This is base64url encoded keys
36
+ */
37
+ deleteBulk(keys: string[]): Promise<IBulkOperationResult<ContextDeleteRecord>>;
38
+ /**
39
+ * Reads a history item.
40
+ *
41
+ * @param key The key of the history object to read.
42
+ */
43
+ read(key: string): Promise<IHttpHistory>;
44
+ /**
45
+ * Clears the datastore from history for a space.
46
+ *
47
+ * @param space The parent space key
48
+ */
49
+ clearSpace(space: string): Promise<void>;
50
+ /**
51
+ * Clears all history from a project
52
+ *
53
+ * @param project The parent project key
54
+ */
55
+ clearProject(project: string): Promise<void>;
56
+ /**
57
+ * Clears all history from a request
58
+ *
59
+ * @param project The parent project key
60
+ * @param request The parent request key
61
+ */
62
+ clearRequest(project: string, request: string): Promise<void>;
63
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=History.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"History.js","sourceRoot":"","sources":["../../../../../src/runtime/store/interfaces/History.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { IPatchInfo, IPatchRevision } from "../../../events/BaseEvents.js";
2
+ import { MediaReadOptions } from "../../../models/store/File.js";
3
+ /**
4
+ * A media is the contents of a File.
5
+ * Keys are the same as for a file but kept in a different namespace.
6
+ *
7
+ * Note, this class does not check for space dependency. This should be done when requesting a file, not contents.
8
+ */
9
+ export interface Media {
10
+ /**
11
+ * Creates / re-creates file contents.
12
+ *
13
+ * @param key The datastore id of the file to create/update the contents for.
14
+ * @param contents The contents to store.
15
+ * @param mime The content mime type. Used for (de)serialization.
16
+ * @param allowOverwrite Whether overwriting is permitted. When not then in throws an error when trying to re-create a file.
17
+ */
18
+ add(key: string, contents: unknown, mime: string, allowOverwrite: boolean): Promise<void>;
19
+ /**
20
+ * Reads file contents.
21
+ * @param key The datastore key of the file
22
+ * @param opts Read options.
23
+ */
24
+ read(key: string, opts?: MediaReadOptions): Promise<unknown>;
25
+ /**
26
+ * Deletes file contents.
27
+ * Note, this won't broadcast the delete event as this is done by the `files?alt=meta`.
28
+ *
29
+ * @param key The file key to delete.
30
+ */
31
+ delete(key: string): Promise<void>;
32
+ /**
33
+ * This is the preferred way to update a file contents.
34
+ *
35
+ * Note, the broadcast event will most likely contain the `kind` of the **file** metadata and not content's.
36
+ * The media has no concept of a `kind` as it may store any data.
37
+ *
38
+ * @param key The datastore key of the file to patch
39
+ * @param info The patch to apply.
40
+ */
41
+ patch(key: string, info: IPatchInfo): Promise<IPatchRevision>;
42
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Media.js","sourceRoot":"","sources":["../../../../../src/runtime/store/interfaces/Media.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { IRevision } from "../../../models/store/Revision.js";
2
+ import { ContextListResult, ContextSpaceListOptions } from "../../../events/BaseEvents.js";
3
+ import { JsonPatch } from "@api-client/json";
4
+ /**
5
+ * A store to keep revision data for a file.
6
+ * This only stores revision data for file contents, not metadata.
7
+ */
8
+ export interface Revisions {
9
+ /**
10
+ * Lists revisions for a single file.
11
+ *
12
+ * @param key The id of the file to lists revisions for.
13
+ * @param options The list query options
14
+ */
15
+ list(key: string, options: ContextSpaceListOptions): Promise<ContextListResult<IRevision>>;
16
+ /**
17
+ * Creates a new revision for a file contents.
18
+ *
19
+ * @param key The datastore id of the file
20
+ * @param space The parent space
21
+ * @param kind The kind of the file that was patched
22
+ * @param patch The applied patch.
23
+ */
24
+ add(key: string, space: string, kind: string, patch: JsonPatch): Promise<IRevision>;
25
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Revisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Revisions.js","sourceRoot":"","sources":["../../../../../src/runtime/store/interfaces/Revisions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { ISpace } from "../../../models/Space.js";
2
+ import { ContextListResult, ContextListOptions, ContextDeleteRecord, ContextChangeRecord } from "../../../events/BaseEvents.js";
3
+ /**
4
+ * A store that keeps a list of spaces created in the application.
5
+ */
6
+ export interface Spaces {
7
+ /**
8
+ * Lists spaces created by the user.
9
+ * @param options The list query options
10
+ */
11
+ list(options?: ContextListOptions): Promise<ContextListResult<ISpace>>;
12
+ /**
13
+ * Creates a space from the name.
14
+ *
15
+ * @param name The name of the space to create
16
+ */
17
+ add(name: string): Promise<ContextChangeRecord<ISpace>>;
18
+ /**
19
+ * Creates a space from a space definition.
20
+ * @param space The space definition.
21
+ */
22
+ add(space: ISpace): Promise<ContextChangeRecord<ISpace>>;
23
+ /**
24
+ * Creates a space from a name or a definition.
25
+ *
26
+ * @param nameOrObject The space name or definition.
27
+ */
28
+ add(nameOrObject: string | ISpace): Promise<ContextChangeRecord<ISpace>>;
29
+ /**
30
+ * Reads a single space from the store.
31
+ * @param key The key of the space to read.
32
+ */
33
+ read(key: string): Promise<ISpace>;
34
+ /**
35
+ * Marks space as deleted.
36
+ * Note, this does not remove any data from the store. It marks the space as deleted
37
+ * and then the space is ignored by most of the API.
38
+ *
39
+ * @param key The key of the space to delete.
40
+ */
41
+ delete(key: string): Promise<ContextDeleteRecord>;
42
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Spaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spaces.js","sourceRoot":"","sources":["../../../../../src/runtime/store/interfaces/Spaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { IFile } from "../../../models/store/File.js";
2
+ import { ContextChangeRecord, ContextListResult, ContextSpaceListOptions } from "../../../events/BaseEvents.js";
3
+ import { TrashEntry, TrashEntryCreate } from "../../../models/TrashEntry.js";
4
+ /**
5
+ * A store for the file trash.
6
+ * This just keeps record of removed files. File location does not change.
7
+ */
8
+ export interface Trash {
9
+ /**
10
+ * Inserts a record of file delete.
11
+ *
12
+ * @param entry The trash entry definition
13
+ * @param space The parent space of the file
14
+ */
15
+ add(entry: TrashEntryCreate, space: string): Promise<ContextChangeRecord<TrashEntry>>;
16
+ /**
17
+ * Lists trashed entires.
18
+ * @param options The list query options.
19
+ */
20
+ list(options: ContextSpaceListOptions): Promise<ContextListResult<TrashEntry>>;
21
+ /**
22
+ * Removes a trash entry permanently from the store.
23
+ * @param key The key of the deleted object
24
+ */
25
+ delete(key: string): Promise<void>;
26
+ /**
27
+ * Restores a file from the trash.
28
+ * It deletes a trash entry and updates the `file` object.
29
+ *
30
+ * @param key The key of the file to restore
31
+ */
32
+ restore(key: string): Promise<ContextChangeRecord<IFile>>;
33
+ /**
34
+ * Empties the trash for the given space.
35
+ * @param space The space key to remove trash for.
36
+ */
37
+ empty(space: string): Promise<void>;
38
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Trash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Trash.js","sourceRoot":"","sources":["../../../../../src/runtime/store/interfaces/Trash.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@api-client/core",
3
3
  "description": "The API Client's core client library. Works in NodeJS and in a ES enabled browser.",
4
- "version": "0.8.21",
4
+ "version": "0.9.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "build/index.js",
7
7
  "module": "build/index.js",
@@ -22,6 +22,17 @@
22
22
  "url": "https://github.com/api-client/core/issues",
23
23
  "email": "pawel.psztyc@gmail.com"
24
24
  },
25
+ "dependencies": {
26
+ "@api-client/json": "^0.1.3",
27
+ "@metrichor/jmespath": "^0.3.1",
28
+ "@pawel-up/data-mock": "^0.3.0",
29
+ "@pawel-up/jexl": "^3.0.0",
30
+ "@xmldom/xmldom": "^0.8.2",
31
+ "amf-json-ld-lib": "^0.0.14",
32
+ "console-table-printer": "^2.11.0",
33
+ "ws": "^8.6.0",
34
+ "xpath": "^0.0.32"
35
+ },
25
36
  "devDependencies": {
26
37
  "@commitlint/cli": "^17.0.0",
27
38
  "@commitlint/config-conventional": "^17.0.0",
@@ -87,17 +98,6 @@
87
98
  "eslint --fix"
88
99
  ]
89
100
  },
90
- "dependencies": {
91
- "@api-client/json": "^0.1.3",
92
- "@metrichor/jmespath": "^0.3.1",
93
- "@pawel-up/data-mock": "^0.3.0",
94
- "@pawel-up/jexl": "^3.0.0",
95
- "@xmldom/xmldom": "^0.8.2",
96
- "amf-json-ld-lib": "^0.0.14",
97
- "console-table-printer": "^2.11.0",
98
- "ws": "^8.6.0",
99
- "xpath": "^0.0.32"
100
- },
101
101
  "engines": {
102
102
  "node": ">=15"
103
103
  }
@@ -1,5 +1,6 @@
1
+ import { JsonPatch } from '@api-client/json'
1
2
  import CustomEvent from './CustomEvent.js';
2
- import { IQueryResponse } from '../models/store/Backend.js';
3
+ import { AccessOperation } from '../models/store/Permission.js';
3
4
 
4
5
  /**
5
6
  * Base event detail definition for the events that returns a `result`
@@ -48,7 +49,7 @@ export interface ContextReadEventDetail {
48
49
  /**
49
50
  * An event to be used to read a state from a context provider.
50
51
  */
51
- export class ContextReadEvent<T> extends ContextEvent<ContextReadEventDetail, T> {
52
+ export class ContextReadEvent<T> extends ContextEvent<ContextReadEventDetail, T | null | undefined> {
52
53
  /**
53
54
  * @param type The type of the event
54
55
  * @param key The domain key of the object to read
@@ -73,7 +74,7 @@ export interface ContextReadBulkEventDetail {
73
74
  /**
74
75
  * An event to be used to read a list of object from the API store.
75
76
  */
76
- export class ContextReadBulkEvent<T> extends ContextEvent<ContextReadBulkEventDetail, T[]> {
77
+ export class ContextReadBulkEvent<T> extends ContextEvent<ContextReadBulkEventDetail, IBulkOperationResult<(T | null | undefined)>> {
77
78
  /**
78
79
  * @param type The type of the event
79
80
  * @param keys The list of domain keys to read. These must be of the same domain type.
@@ -144,10 +145,23 @@ export class ContextDeleteEvent extends ContextEvent<ContextDeleteEventDetail, C
144
145
  }
145
146
  }
146
147
 
148
+ /**
149
+ * Describes a result of the batch delete operation.
150
+ */
151
+ export interface IBulkOperationResult<T> {
152
+ /**
153
+ * The ordered list of delete result for each item.
154
+ *
155
+ * The batch operation does not return specific errors. Use the direct delete operation
156
+ * for the detailed error.
157
+ */
158
+ items: (T | undefined | null)[];
159
+ }
160
+
147
161
  /**
148
162
  * An event to be used to delete a number of entities in the context provider.
149
163
  */
150
- export class ContextDeleteBulkEvent extends ContextEvent<ContextDeleteBulkEventDetail, ContextDeleteRecord[]> {
164
+ export class ContextDeleteBulkEvent extends ContextEvent<ContextDeleteBulkEventDetail, IBulkOperationResult<ContextDeleteRecord>> {
151
165
  /**
152
166
  * An event to be used to delete a number of entities in the context provider.
153
167
  * @param type The type of the event to dispatch.
@@ -178,7 +192,7 @@ export interface ContextDeleteRecord {
178
192
  /**
179
193
  * An event dispatched to the context store to restore previously deleted items.
180
194
  */
181
- export class ContextRestoreEvent<T> extends ContextEvent<{ records: ContextDeleteRecord[] }, (ContextChangeRecord<T> | undefined)[]> {
195
+ export class ContextRestoreEvent<T> extends ContextEvent<{ records: ContextDeleteRecord[] }, IBulkOperationResult<ContextChangeRecord<T>>> {
182
196
  /**
183
197
  * An event dispatched to the context store to restore previously deleted items.
184
198
  *
@@ -242,7 +256,7 @@ export interface ContextUpdateEventDetail<T> {
242
256
  parent?: string;
243
257
  }
244
258
 
245
- export interface ContextUpdateBulkEventDetail<T> {
259
+ export interface ContextUpdateBulkEventDetail<T = unknown> {
246
260
  /**
247
261
  * The list of context store objects to be updated by the context provider.
248
262
  */
@@ -282,7 +296,7 @@ export class ContextUpdateEvent<T extends object, U = T> extends ContextEvent<Co
282
296
  * @template T The object that is being updated.
283
297
  * @template U The object that is returned by the context store after updating. By default it is the `T`.
284
298
  */
285
- export class ContextUpdateBulkEvent<T extends object, U = T> extends ContextEvent<ContextUpdateBulkEventDetail<T>, ContextChangeRecord<U>[]> {
299
+ export class ContextUpdateBulkEvent<T extends object, U = T> extends ContextEvent<ContextUpdateBulkEventDetail<T>, IBulkOperationResult<ContextChangeRecord<U>>> {
286
300
  /**
287
301
  * An event that is dispatched to update the entire object in the store.
288
302
  * This is equivalent to PUT operation in REST HTTP.
@@ -299,12 +313,6 @@ export class ContextUpdateBulkEvent<T extends object, U = T> extends ContextEven
299
313
  * Data store query result object.
300
314
  */
301
315
  export interface ContextListResult<T> {
302
- /**
303
- * Next page token to be used with pagination.
304
- * It is not set when the query has not returned any results.
305
- * @deprecated Use `cursor` instead.
306
- */
307
- nextPageToken?: string;
308
316
  /**
309
317
  * The cursor to use with the next query. It has the list state encoded in it.
310
318
  */
@@ -324,11 +332,6 @@ export interface ContextListOptions {
324
332
  * The number of results per the page.
325
333
  */
326
334
  limit?: number;
327
- /**
328
- * A string that should be used with the pagination.
329
- * @deprecated Use `cursor` instead.
330
- */
331
- nextPageToken?: string;
332
335
  /**
333
336
  * Page cursor to use with the query. This is returned by the
334
337
  */
@@ -349,6 +352,10 @@ export interface ContextListOptions {
349
352
  * Whether to use the `descending` order.
350
353
  */
351
354
  descending?: boolean;
355
+ /**
356
+ * The name of the field to order then results.
357
+ */
358
+ orderField?: string;
352
359
  /**
353
360
  * General purpose type property to filer the results.
354
361
  * This is used, for example, by the history store to list history for a specific type of requests,
@@ -362,6 +369,13 @@ export interface ContextListOptions {
362
369
  since?: number;
363
370
  }
364
371
 
372
+ export interface ContextSpaceListOptions extends ContextListOptions {
373
+ /**
374
+ * The identifier of the parent space (or organization).
375
+ */
376
+ space: string;
377
+ }
378
+
365
379
  export class ContextListEvent<T> extends ContextEvent<ContextListOptions, ContextListResult<T>> {
366
380
  /**
367
381
  * @param type The type of the event
@@ -397,6 +411,24 @@ export interface IQueryDetail {
397
411
  detailed?: boolean;
398
412
  }
399
413
 
414
+ export interface IQueryResponse<T = unknown> {
415
+ /**
416
+ * An ordered list of results.
417
+ */
418
+ items: IQueryResult<T>[];
419
+ }
420
+
421
+ export interface IQueryResult<T = unknown> {
422
+ /**
423
+ * The document.
424
+ */
425
+ doc: T;
426
+ /**
427
+ * The list of indexes where this document was found.
428
+ */
429
+ index: string[];
430
+ }
431
+
400
432
  /**
401
433
  * An event dispatched to the context store to perform a query operation.
402
434
  * If the context store supports the query operation, it should use the definition of `IQueryDetail` to perform the query.
@@ -421,3 +453,89 @@ export class ContextQueryEvent<T = unknown> extends ContextEvent<IQueryDetail, I
421
453
  super(type, opts);
422
454
  }
423
455
  }
456
+
457
+ /**
458
+ * Query options to list history for a request in a project.
459
+ * The user has to have access to the parent user space to read / create / delete the history.
460
+ */
461
+ export interface IHistoryRequestListOptions extends ContextListOptions {
462
+ type: 'request';
463
+ /**
464
+ * The key of the parent space.
465
+ */
466
+ space: string;
467
+ /**
468
+ * The id of the project that contains the request.
469
+ */
470
+ project: string;
471
+ /**
472
+ * The id of the request.
473
+ */
474
+ id: string;
475
+ /**
476
+ * Whether to limit the list of results to the history that belongs to the current user.
477
+ */
478
+ user?: boolean;
479
+ }
480
+
481
+ /**
482
+ * Listing options for the HTTP history.
483
+ */
484
+ export type HistoryListOptions = IHistoryRequestListOptions;
485
+
486
+
487
+ export interface IPatchBase {
488
+ /**
489
+ * Auto generated by the client sending the PATCH.
490
+ */
491
+ id: string;
492
+ /**
493
+ * The application id that generated the patch.
494
+ * This is a string that is assigned to each application in the suite.
495
+ * External applications need to use a constant string for their apps.
496
+ */
497
+ app: string;
498
+ /**
499
+ * The version of the application that generated the patch.
500
+ * This can and will be used to handle potential differences between suite applications.
501
+ */
502
+ appVersion: string;
503
+ /**
504
+ * The patch generated by the client.
505
+ */
506
+ patch: unknown;
507
+ }
508
+
509
+ /**
510
+ * An interface describing a schema to be sent to the server
511
+ * when making a patch of a file.
512
+ */
513
+ export interface IPatchInfo extends IPatchBase {
514
+ /**
515
+ * The patch generated by the client.
516
+ */
517
+ patch: JsonPatch;
518
+ }
519
+
520
+ /**
521
+ * An interface describing a schema to be sent to the server
522
+ * when making a patch with user access to a file.
523
+ */
524
+ export interface IAccessPatchInfo extends IPatchBase {
525
+ /**
526
+ * The patch generated by the client.
527
+ */
528
+ patch: AccessOperation[];
529
+ }
530
+
531
+ /**
532
+ * A schema sent by the store server in a response to the patch request.
533
+ * It contains an information about the applied patch, the reverse operation associated with it,
534
+ * application information, and the generated by the client patch id.
535
+ */
536
+ export interface IPatchRevision extends IPatchInfo {
537
+ /**
538
+ * The patch to apply to the object to revert the changes.
539
+ */
540
+ revert: JsonPatch;
541
+ }