@linkedrecords/browser 0.1.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 (265) hide show
  1. package/LICENSE +661 -0
  2. package/Readme.md +154 -0
  3. package/dist/browser_sdk.js +3 -0
  4. package/dist/browser_sdk.js.LICENSE.txt +254 -0
  5. package/dist/browser_sdk.js.map +1 -0
  6. package/dist/docs/app/[[...slug]]/page.d.ts +13 -0
  7. package/dist/docs/app/[[...slug]]/page.d.ts.map +1 -0
  8. package/dist/docs/app/layout.d.ts +10 -0
  9. package/dist/docs/app/layout.d.ts.map +1 -0
  10. package/dist/docs/lib/source.d.ts +2 -0
  11. package/dist/docs/lib/source.d.ts.map +1 -0
  12. package/dist/docs/mdx-components.d.ts +3 -0
  13. package/dist/docs/mdx-components.d.ts.map +1 -0
  14. package/dist/docs/source.config.d.ts +4 -0
  15. package/dist/docs/source.config.d.ts.map +1 -0
  16. package/dist/instrumentation.js +283 -0
  17. package/dist/instrumentation.js.map +1 -0
  18. package/dist/lib/cache/index.d.ts +4 -0
  19. package/dist/lib/cache/index.d.ts.map +1 -0
  20. package/dist/lib/client-server-bus/client/index.d.ts +3 -0
  21. package/dist/lib/client-server-bus/client/index.d.ts.map +1 -0
  22. package/dist/lib/client-server-bus/drivers/ws/client/index.d.ts +23 -0
  23. package/dist/lib/client-server-bus/drivers/ws/client/index.d.ts.map +1 -0
  24. package/dist/lib/client-server-bus/drivers/ws/server/index.d.ts +14 -0
  25. package/dist/lib/client-server-bus/drivers/ws/server/index.d.ts.map +1 -0
  26. package/dist/lib/client-server-bus/server/index.d.ts +4 -0
  27. package/dist/lib/client-server-bus/server/index.d.ts.map +1 -0
  28. package/dist/lib/cookie-settings-from-env/index.d.ts +8 -0
  29. package/dist/lib/cookie-settings-from-env/index.d.ts.map +1 -0
  30. package/dist/lib/is_logger.d.ts +6 -0
  31. package/dist/lib/is_logger.d.ts.map +1 -0
  32. package/dist/lib/pg-log/index.d.ts +9 -0
  33. package/dist/lib/pg-log/index.d.ts.map +1 -0
  34. package/dist/lib/queued-tasks/In_memory_queued_tasks.d.ts +9 -0
  35. package/dist/lib/queued-tasks/In_memory_queued_tasks.d.ts.map +1 -0
  36. package/dist/lib/queued-tasks/index.d.ts +7 -0
  37. package/dist/lib/queued-tasks/index.d.ts.map +1 -0
  38. package/dist/lib/queued-tasks/redis_queued_tasks.d.ts +7 -0
  39. package/dist/lib/queued-tasks/redis_queued_tasks.d.ts.map +1 -0
  40. package/dist/lib/quota/index.d.ts +16 -0
  41. package/dist/lib/quota/index.d.ts.map +1 -0
  42. package/dist/lib/stream-to-string/index.d.ts +4 -0
  43. package/dist/lib/stream-to-string/index.d.ts.map +1 -0
  44. package/dist/lib/utils/all_prefixes.d.ts +2 -0
  45. package/dist/lib/utils/all_prefixes.d.ts.map +1 -0
  46. package/dist/lib/utils/chunk_array.d.ts +2 -0
  47. package/dist/lib/utils/chunk_array.d.ts.map +1 -0
  48. package/dist/lib/utils/read_body.d.ts +3 -0
  49. package/dist/lib/utils/read_body.d.ts.map +1 -0
  50. package/dist/lib/utils/safe_compare.d.ts +2 -0
  51. package/dist/lib/utils/safe_compare.d.ts.map +1 -0
  52. package/dist/lib/utils/save_compare.d.ts +2 -0
  53. package/dist/lib/utils/save_compare.d.ts.map +1 -0
  54. package/dist/lib/utils/sql_values.d.ts +11 -0
  55. package/dist/lib/utils/sql_values.d.ts.map +1 -0
  56. package/dist/lib/utils/unset.d.ts +2 -0
  57. package/dist/lib/utils/unset.d.ts.map +1 -0
  58. package/dist/node_modules/redis-semaphore/src/errors/LostLockError.d.ts +3 -0
  59. package/dist/node_modules/redis-semaphore/src/errors/LostLockError.d.ts.map +1 -0
  60. package/dist/report.html +57 -0
  61. package/dist/server.js +6737 -0
  62. package/dist/server.js.map +1 -0
  63. package/dist/specs/browser_sdk/attribute.spec.d.ts +2 -0
  64. package/dist/specs/browser_sdk/attribute.spec.d.ts.map +1 -0
  65. package/dist/specs/browser_sdk/blob_attribute.spec.d.ts +2 -0
  66. package/dist/specs/browser_sdk/blob_attribute.spec.d.ts.map +1 -0
  67. package/dist/specs/browser_sdk/fact.spec.d.ts +2 -0
  68. package/dist/specs/browser_sdk/fact.spec.d.ts.map +1 -0
  69. package/dist/specs/browser_sdk/key_value_attribute.spec.d.ts +2 -0
  70. package/dist/specs/browser_sdk/key_value_attribute.spec.d.ts.map +1 -0
  71. package/dist/specs/browser_sdk/long_text_attribute.spec.d.ts +2 -0
  72. package/dist/specs/browser_sdk/long_text_attribute.spec.d.ts.map +1 -0
  73. package/dist/specs/browser_sdk/oidc-auth.spec.d.ts +2 -0
  74. package/dist/specs/browser_sdk/oidc-auth.spec.d.ts.map +1 -0
  75. package/dist/specs/browser_sdk/userinfo.spec.d.ts +2 -0
  76. package/dist/specs/browser_sdk/userinfo.spec.d.ts.map +1 -0
  77. package/dist/specs/helpers/dummy-oidc-server.d.ts +3 -0
  78. package/dist/specs/helpers/dummy-oidc-server.d.ts.map +1 -0
  79. package/dist/specs/helpers/index.d.ts +9 -0
  80. package/dist/specs/helpers/index.d.ts.map +1 -0
  81. package/dist/specs/helpers/karma-setup.d.ts +2 -0
  82. package/dist/specs/helpers/karma-setup.d.ts.map +1 -0
  83. package/dist/specs/helpers/mock-oidc-server.d.ts +28 -0
  84. package/dist/specs/helpers/mock-oidc-server.d.ts.map +1 -0
  85. package/dist/specs/helpers/test-oidc-manager.d.ts +24 -0
  86. package/dist/specs/helpers/test-oidc-manager.d.ts.map +1 -0
  87. package/dist/specs.wdio/browser_sdk/auth.spec.d.ts +2 -0
  88. package/dist/specs.wdio/browser_sdk/auth.spec.d.ts.map +1 -0
  89. package/dist/specs.wdio/browser_sdk/query_subscription.spec.d.ts +2 -0
  90. package/dist/specs.wdio/browser_sdk/query_subscription.spec.d.ts.map +1 -0
  91. package/dist/specs.wdio/browser_sdk/quota.spec.d.ts +2 -0
  92. package/dist/specs.wdio/browser_sdk/quota.spec.d.ts.map +1 -0
  93. package/dist/specs.wdio/browser_sdk/userinfo.spec.d.ts +2 -0
  94. package/dist/specs.wdio/browser_sdk/userinfo.spec.d.ts.map +1 -0
  95. package/dist/specs.wdio/helpers/lr_expects.d.ts +7 -0
  96. package/dist/specs.wdio/helpers/lr_expects.d.ts.map +1 -0
  97. package/dist/specs.wdio/helpers/session.d.ts +42 -0
  98. package/dist/specs.wdio/helpers/session.d.ts.map +1 -0
  99. package/dist/specs.wdio/helpers/timer.d.ts +21 -0
  100. package/dist/specs.wdio/helpers/timer.d.ts.map +1 -0
  101. package/dist/specs.wdio/helpers/wdio_remote.d.ts +7 -0
  102. package/dist/specs.wdio/helpers/wdio_remote.d.ts.map +1 -0
  103. package/dist/specs.wdio/load/documents/documents.spec.d.ts +2 -0
  104. package/dist/specs.wdio/load/documents/documents.spec.d.ts.map +1 -0
  105. package/dist/specs.wdio/load/documents.spec.d.ts +2 -0
  106. package/dist/specs.wdio/load/documents.spec.d.ts.map +1 -0
  107. package/dist/specs.wdio/quota_upgrade/paddle.spec.d.ts +2 -0
  108. package/dist/specs.wdio/quota_upgrade/paddle.spec.d.ts.map +1 -0
  109. package/dist/specs.wdio/testapp/client.d.ts +2 -0
  110. package/dist/specs.wdio/testapp/client.d.ts.map +1 -0
  111. package/dist/specs.wdio/testapp/server.d.ts +2 -0
  112. package/dist/specs.wdio/testapp/server.d.ts.map +1 -0
  113. package/dist/specs.wdio/tinytodo/tinytodo.d.ts +25 -0
  114. package/dist/specs.wdio/tinytodo/tinytodo.d.ts.map +1 -0
  115. package/dist/specs.wdio/tinytodo/tinytodo.spec.d.ts +2 -0
  116. package/dist/specs.wdio/tinytodo/tinytodo.spec.d.ts.map +1 -0
  117. package/dist/specs.wdio/tinytodo/tinytodo_expects.d.ts +8 -0
  118. package/dist/specs.wdio/tinytodo/tinytodo_expects.d.ts.map +1 -0
  119. package/dist/src/attributes/abstract/abstract_attribute_change.d.ts +7 -0
  120. package/dist/src/attributes/abstract/abstract_attribute_change.d.ts.map +1 -0
  121. package/dist/src/attributes/abstract/abstract_attribute_client.d.ts +58 -0
  122. package/dist/src/attributes/abstract/abstract_attribute_client.d.ts.map +1 -0
  123. package/dist/src/attributes/abstract/abstract_attribute_server.d.ts +39 -0
  124. package/dist/src/attributes/abstract/abstract_attribute_server.d.ts.map +1 -0
  125. package/dist/src/attributes/abstract/is_attribute_change.d.ts +7 -0
  126. package/dist/src/attributes/abstract/is_attribute_change.d.ts.map +1 -0
  127. package/dist/src/attributes/abstract/is_attribute_storage.d.ts +52 -0
  128. package/dist/src/attributes/abstract/is_attribute_storage.d.ts.map +1 -0
  129. package/dist/src/attributes/abstract/is_serializable.d.ts +4 -0
  130. package/dist/src/attributes/abstract/is_serializable.d.ts.map +1 -0
  131. package/dist/src/attributes/abstract/serialized_change_with_metadata.d.ts +11 -0
  132. package/dist/src/attributes/abstract/serialized_change_with_metadata.d.ts.map +1 -0
  133. package/dist/src/attributes/attribute_query.d.ts +55 -0
  134. package/dist/src/attributes/attribute_query.d.ts.map +1 -0
  135. package/dist/src/attributes/attribute_storage/blob/index.d.ts +38 -0
  136. package/dist/src/attributes/attribute_storage/blob/index.d.ts.map +1 -0
  137. package/dist/src/attributes/attribute_storage/index.d.ts +33 -0
  138. package/dist/src/attributes/attribute_storage/index.d.ts.map +1 -0
  139. package/dist/src/attributes/attribute_storage/psql/index.d.ts +39 -0
  140. package/dist/src/attributes/attribute_storage/psql/index.d.ts.map +1 -0
  141. package/dist/src/attributes/attribute_storage/psql_with_history/index.d.ts +35 -0
  142. package/dist/src/attributes/attribute_storage/psql_with_history/index.d.ts.map +1 -0
  143. package/dist/src/attributes/attribute_storage/s3/index.d.ts +38 -0
  144. package/dist/src/attributes/attribute_storage/s3/index.d.ts.map +1 -0
  145. package/dist/src/attributes/attribute_storage/types.d.ts +27 -0
  146. package/dist/src/attributes/attribute_storage/types.d.ts.map +1 -0
  147. package/dist/src/attributes/blob/blob_change.d.ts +7 -0
  148. package/dist/src/attributes/blob/blob_change.d.ts.map +1 -0
  149. package/dist/src/attributes/blob/client/index.d.ts +18 -0
  150. package/dist/src/attributes/blob/client/index.d.ts.map +1 -0
  151. package/dist/src/attributes/blob/server/index.d.ts +27 -0
  152. package/dist/src/attributes/blob/server/index.d.ts.map +1 -0
  153. package/dist/src/attributes/errors/authorization_error.d.ts +6 -0
  154. package/dist/src/attributes/errors/authorization_error.d.ts.map +1 -0
  155. package/dist/src/attributes/key_value/client/index.d.ts +19 -0
  156. package/dist/src/attributes/key_value/client/index.d.ts.map +1 -0
  157. package/dist/src/attributes/key_value/key_value_change.d.ts +16 -0
  158. package/dist/src/attributes/key_value/key_value_change.d.ts.map +1 -0
  159. package/dist/src/attributes/key_value/server/index.d.ts +28 -0
  160. package/dist/src/attributes/key_value/server/index.d.ts.map +1 -0
  161. package/dist/src/attributes/long_text/client/buffer.d.ts +12 -0
  162. package/dist/src/attributes/long_text/client/buffer.d.ts.map +1 -0
  163. package/dist/src/attributes/long_text/client/index.d.ts +25 -0
  164. package/dist/src/attributes/long_text/client/index.d.ts.map +1 -0
  165. package/dist/src/attributes/long_text/long_text_change.d.ts +16 -0
  166. package/dist/src/attributes/long_text/long_text_change.d.ts.map +1 -0
  167. package/dist/src/attributes/long_text/server/index.d.ts +27 -0
  168. package/dist/src/attributes/long_text/server/index.d.ts.map +1 -0
  169. package/dist/src/browser_sdk/attributes_repository.d.ts +46 -0
  170. package/dist/src/browser_sdk/attributes_repository.d.ts.map +1 -0
  171. package/dist/src/browser_sdk/facts_repository.d.ts +11 -0
  172. package/dist/src/browser_sdk/facts_repository.d.ts.map +1 -0
  173. package/dist/src/browser_sdk/index.d.ts +69 -0
  174. package/dist/src/browser_sdk/index.d.ts.map +1 -0
  175. package/dist/src/browser_sdk/oidc.d.ts +29 -0
  176. package/dist/src/browser_sdk/oidc.d.ts.map +1 -0
  177. package/dist/src/dev-oidc/config.d.ts +13 -0
  178. package/dist/src/dev-oidc/config.d.ts.map +1 -0
  179. package/dist/src/dev-oidc/endpoints.d.ts +8 -0
  180. package/dist/src/dev-oidc/endpoints.d.ts.map +1 -0
  181. package/dist/src/dev-oidc/index.d.ts +5 -0
  182. package/dist/src/dev-oidc/index.d.ts.map +1 -0
  183. package/dist/src/dev-oidc/keys.d.ts +9 -0
  184. package/dist/src/dev-oidc/keys.d.ts.map +1 -0
  185. package/dist/src/dev-oidc/login-page.d.ts +3 -0
  186. package/dist/src/dev-oidc/login-page.d.ts.map +1 -0
  187. package/dist/src/facts/client/index.d.ts +15 -0
  188. package/dist/src/facts/client/index.d.ts.map +1 -0
  189. package/dist/src/facts/fact_query.d.ts +8 -0
  190. package/dist/src/facts/fact_query.d.ts.map +1 -0
  191. package/dist/src/facts/server/auth_cache.d.ts +12 -0
  192. package/dist/src/facts/server/auth_cache.d.ts.map +1 -0
  193. package/dist/src/facts/server/authorization_sql_builder.d.ts +22 -0
  194. package/dist/src/facts/server/authorization_sql_builder.d.ts.map +1 -0
  195. package/dist/src/facts/server/fact_box.d.ts +20 -0
  196. package/dist/src/facts/server/fact_box.d.ts.map +1 -0
  197. package/dist/src/facts/server/index.d.ts +64 -0
  198. package/dist/src/facts/server/index.d.ts.map +1 -0
  199. package/dist/src/facts/server/predicate_extractor.d.ts +8 -0
  200. package/dist/src/facts/server/predicate_extractor.d.ts.map +1 -0
  201. package/dist/src/facts/server/query_subscription_service.d.ts +14 -0
  202. package/dist/src/facts/server/query_subscription_service.d.ts.map +1 -0
  203. package/dist/src/facts/server/subscription_service.d.ts +1 -0
  204. package/dist/src/facts/server/subscription_service.d.ts.map +1 -0
  205. package/dist/src/quota/index.d.ts +38 -0
  206. package/dist/src/quota/index.d.ts.map +1 -0
  207. package/dist/src/server/cache.d.ts +7 -0
  208. package/dist/src/server/cache.d.ts.map +1 -0
  209. package/dist/src/server/controllers/attributes_controller.d.ts +16 -0
  210. package/dist/src/server/controllers/attributes_controller.d.ts.map +1 -0
  211. package/dist/src/server/controllers/facts_controller.d.ts +7 -0
  212. package/dist/src/server/controllers/facts_controller.d.ts.map +1 -0
  213. package/dist/src/server/controllers/oidc_controller.d.ts +5 -0
  214. package/dist/src/server/controllers/oidc_controller.d.ts.map +1 -0
  215. package/dist/src/server/controllers/quota_controller.d.ts +5 -0
  216. package/dist/src/server/controllers/quota_controller.d.ts.map +1 -0
  217. package/dist/src/server/controllers/subscription_controller.d.ts +9 -0
  218. package/dist/src/server/controllers/subscription_controller.d.ts.map +1 -0
  219. package/dist/src/server/controllers/userinfo_controller.d.ts +7 -0
  220. package/dist/src/server/controllers/userinfo_controller.d.ts.map +1 -0
  221. package/dist/src/server/index.d.ts +2 -0
  222. package/dist/src/server/index.d.ts.map +1 -0
  223. package/dist/src/server/instrumentation/config.d.ts +14 -0
  224. package/dist/src/server/instrumentation/config.d.ts.map +1 -0
  225. package/dist/src/server/instrumentation/index.d.ts +11 -0
  226. package/dist/src/server/instrumentation/index.d.ts.map +1 -0
  227. package/dist/src/server/instrumentation/manual/minio.d.ts +8 -0
  228. package/dist/src/server/instrumentation/manual/minio.d.ts.map +1 -0
  229. package/dist/src/server/instrumentation/manual/socketio.d.ts +9 -0
  230. package/dist/src/server/instrumentation/manual/socketio.d.ts.map +1 -0
  231. package/dist/src/server/instrumentation.d.ts +10 -0
  232. package/dist/src/server/instrumentation.d.ts.map +1 -0
  233. package/dist/src/server/middleware/attribute.d.ts +5 -0
  234. package/dist/src/server/middleware/attribute.d.ts.map +1 -0
  235. package/dist/src/server/middleware/authentication.d.ts +2 -0
  236. package/dist/src/server/middleware/authentication.d.ts.map +1 -0
  237. package/dist/src/server/middleware/clear_cookies.d.ts +2 -0
  238. package/dist/src/server/middleware/clear_cookies.d.ts.map +1 -0
  239. package/dist/src/server/middleware/error_handler.d.ts +2 -0
  240. package/dist/src/server/middleware/error_handler.d.ts.map +1 -0
  241. package/dist/src/server/middleware/fact.d.ts +2 -0
  242. package/dist/src/server/middleware/fact.d.ts.map +1 -0
  243. package/dist/src/server/middleware/quota_upgrade.d.ts +3 -0
  244. package/dist/src/server/middleware/quota_upgrade.d.ts.map +1 -0
  245. package/dist/src/server/payment_provider/abstract_provider.d.ts +8 -0
  246. package/dist/src/server/payment_provider/abstract_provider.d.ts.map +1 -0
  247. package/dist/src/server/payment_provider/index.d.ts +5 -0
  248. package/dist/src/server/payment_provider/index.d.ts.map +1 -0
  249. package/dist/src/server/payment_provider/paddle.d.ts +16 -0
  250. package/dist/src/server/payment_provider/paddle.d.ts.map +1 -0
  251. package/dist/src/server/quota/index.d.ts +43 -0
  252. package/dist/src/server/quota/index.d.ts.map +1 -0
  253. package/dist/src/server/routes.d.ts +3 -0
  254. package/dist/src/server/routes.d.ts.map +1 -0
  255. package/dist/src/server/service_bus_mount.d.ts +10 -0
  256. package/dist/src/server/service_bus_mount.d.ts.map +1 -0
  257. package/dist/src/server/services/predicate_extractor.d.ts +24 -0
  258. package/dist/src/server/services/predicate_extractor.d.ts.map +1 -0
  259. package/dist/src/server/services/query_subscription_service.d.ts +42 -0
  260. package/dist/src/server/services/query_subscription_service.d.ts.map +1 -0
  261. package/dist/src/server/services/subscription_hooks.d.ts +18 -0
  262. package/dist/src/server/services/subscription_hooks.d.ts.map +1 -0
  263. package/dist/wdio.conf.d.ts +3 -0
  264. package/dist/wdio.conf.d.ts.map +1 -0
  265. package/package.json +121 -0
@@ -0,0 +1,55 @@
1
+ import LongTextAttribute from './long_text/server';
2
+ import KeyValueAttribute from './key_value/server';
3
+ import BlobAttribute from './blob/server';
4
+ import IsLogger from '../../lib/is_logger';
5
+ import AbstractAttributeClient from './abstract/abstract_attribute_client';
6
+ export type FactQueryWithOptionalSubjectPlaceholder = [
7
+ string,
8
+ string,
9
+ string?
10
+ ] | [
11
+ string,
12
+ string,
13
+ typeof AbstractAttributeClient<any, any>
14
+ ] | [
15
+ string,
16
+ typeof AbstractAttributeClient<any, any>
17
+ ];
18
+ export type AttributeQuery = string | FactQueryWithOptionalSubjectPlaceholder[];
19
+ export type CompoundAttributeQuery = {
20
+ [key: string]: AttributeQuery;
21
+ };
22
+ /**
23
+ * Validates if a value is a valid AttributeQuery.
24
+ * An AttributeQuery is either a string or an array of
25
+ * FactQueryWithOptionalSubjectPlaceholder tuples.
26
+ */
27
+ export declare function isValidAttributeQuery(value: unknown): value is AttributeQuery;
28
+ /**
29
+ * Validates if a JSON object is a valid CompoundAttributeQuery.
30
+ * A CompoundAttributeQuery is an object where each value is a valid AttributeQuery.
31
+ */
32
+ export declare function isValidCompoundAttributeQuery(value: unknown): value is CompoundAttributeQuery;
33
+ type ResolveToIdsResult = undefined | string | string[] | {
34
+ [key: string]: string | string[];
35
+ };
36
+ export type ResolveToAttributesResult = undefined | AbstractAttributeClient<any, any> | AbstractAttributeClient<any, any>[] | {
37
+ [key: string]: AbstractAttributeClient<any, any> | AbstractAttributeClient<any, any>[];
38
+ };
39
+ type Attribute = typeof LongTextAttribute | typeof KeyValueAttribute | typeof BlobAttribute;
40
+ export default class QueryExecutor {
41
+ logger: IsLogger;
42
+ constructor(logger: IsLogger);
43
+ resolveToAttributes(query: AttributeQuery | CompoundAttributeQuery, clientId: any, actorId: any): Promise<ResolveToAttributesResult>;
44
+ resolveToIds(query: AttributeQuery | CompoundAttributeQuery, userid: string): Promise<ResolveToIdsResult>;
45
+ loadAttributes(attributeIDs: string[], clientId: string, actorId: string, args?: {
46
+ inAuthorizedContext: boolean;
47
+ }): Promise<Record<string, any>>;
48
+ resolveCompoundQueryToIds(query: CompoundAttributeQuery, userid: string): Promise<({
49
+ [key: string]: string | string[];
50
+ })>;
51
+ static getAttributeClassByAttributeId(id: string): Attribute | undefined;
52
+ static groupAttributeIDsByClass(attributeIDs: string[]): Map<Attribute, string[]>;
53
+ }
54
+ export {};
55
+ //# sourceMappingURL=attribute_query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute_query.d.ts","sourceRoot":"","sources":["../../../src/attributes/attribute_query.ts"],"names":[],"mappings":"AAGA,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,aAAa,MAAM,eAAe,CAAC;AAC1C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,uBAAuB,MAAM,sCAAsC,CAAC;AAE3E,MAAM,MAAM,uCAAuC,GACjD;IAAC,MAAM;IAAE,MAAM;IAAE,MAAM,CAAC;CAAC,GACzB;IAAC,MAAM;IAAE,MAAM;IAAE,OAAO,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC;CAAC,GAC1D;IAAC,MAAM;IAAE,OAAO,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC;CAAC,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,uCAAuC,EAAE,CAAC;AAEhF,MAAM,MAAM,sBAAsB,GAAG;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAC9B,CAAC;AAgEF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAU7E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,sBAAsB,CAiB7F;AAED,KAAK,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAAC;AAC/F,MAAM,MAAM,yBAAyB,GACnC,SAAS,GACT,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,GACjC,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GACnC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;CAAE,CAAC;AAE7F,KAAK,SAAS,GAAG,OAAO,iBAAiB,GAAG,OAAO,iBAAiB,GAAG,OAAO,aAAa,CAAC;AAwC5F,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,EAAE,QAAQ,CAAC;gBAEL,MAAM,EAAE,QAAQ;IAItB,mBAAmB,CACvB,KAAK,EAAE,cAAc,GAAG,sBAAsB,EAC9C,QAAQ,KAAA,EACR,OAAO,KAAA,GACN,OAAO,CAAC,yBAAyB,CAAC;IAmE/B,YAAY,CAChB,KAAK,EAAE,cAAc,GAAG,sBAAsB,EAC9C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC;IAkFxB,cAAc,CAClB,YAAY,EAAE,MAAM,EAAE,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,mBAAmB,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA0BzB,yBAAyB,CAAC,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;QACvF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAC;IAkCH,MAAM,CAAC,8BAA8B,CACnC,EAAE,EAAE,MAAM,GACR,SAAS,GAAG,SAAS;IAMzB,MAAM,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;CAsBlF"}
@@ -0,0 +1,38 @@
1
+ import { Client } from 'minio';
2
+ import IsAttributeStorage from '../../abstract/is_attribute_storage';
3
+ import IsLogger from '../../../../lib/is_logger';
4
+ import { AttributeSnapshot, AttributeChangeCriteria } from '../types';
5
+ import PsqlAttributeStorage from '../psql';
6
+ export default class AttributeStorage implements IsAttributeStorage {
7
+ logger: IsLogger;
8
+ psqlStorage: PsqlAttributeStorage;
9
+ minioClient?: Client;
10
+ bucketName?: string;
11
+ constructor(logger: IsLogger);
12
+ getSizeInBytesForAllAttributes(nodes: string[]): Promise<number>;
13
+ createAllAttributes(attrs: {
14
+ attributeId: string;
15
+ actorId: string;
16
+ value: string;
17
+ }[]): Promise<{
18
+ id: string;
19
+ }[]>;
20
+ createAttribute(attributeId: string, actorId: string, value: string): Promise<{
21
+ id: string;
22
+ }>;
23
+ createAttributeWithoutFactsCheck(attributeId: string, actorId: string, value: string): Promise<{
24
+ id: string;
25
+ }>;
26
+ getAttributeLatestSnapshot(attributeId: string, actorId: string, { inAuthorizedContext }?: AttributeChangeCriteria): Promise<AttributeSnapshot>;
27
+ getAttributeChanges(): Promise<Array<any>>;
28
+ insertAttributeChange(): Promise<{
29
+ id: string;
30
+ updatedAt: Date;
31
+ }>;
32
+ insertAttributeSnapshot(attributeId: string, actorId: string, value: string): Promise<{
33
+ id: string;
34
+ updatedAt: Date;
35
+ }>;
36
+ private getRecordValueInDB;
37
+ }
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/attribute_storage/blob/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,oBAAoB,MAAM,SAAS,CAAC;AAe3C,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,kBAAkB;IACjE,MAAM,EAAE,QAAQ,CAAC;IAEjB,WAAW,EAAE,oBAAoB,CAAC;IAElC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,MAAM,EAAE,QAAQ;IAwBtB,8BAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhE,mBAAmB,CACvB,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAC9D,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAUvB,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAYrB,gCAAgC,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAarB,0BAA0B,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,EAAE,mBAA2B,EAAE,GAAE,uBAA4B,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAqCxB,mBAAmB,IAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAI3C,qBAAqB,IAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAIlE,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;YAgB9B,kBAAkB;CAwBjC"}
@@ -0,0 +1,33 @@
1
+ import IsLogger from '../../../lib/is_logger';
2
+ import IsAttributeStorage from '../abstract/is_attribute_storage';
3
+ import { AttributeSnapshot, AttributeChange, AttributeChangeCriteria } from './types';
4
+ export default class AttributeStorage implements IsAttributeStorage {
5
+ pgStorageWithHistory: IsAttributeStorage;
6
+ kvStorage: IsAttributeStorage;
7
+ blobStorage: IsAttributeStorage;
8
+ constructor(logger: IsLogger);
9
+ getStorage(attributeId: any): IsAttributeStorage;
10
+ insertAttributeSnapshot(attributeId: string, actorId: string, value: string, changeId?: string): Promise<{
11
+ id: string;
12
+ updatedAt: Date;
13
+ }>;
14
+ createAttributeWithoutFactsCheck(attributeId: string, actorId: string, value: string): Promise<{
15
+ id: string;
16
+ }>;
17
+ createAllAttributes(attr: {
18
+ attributeId: string;
19
+ actorId: string;
20
+ value: string;
21
+ }[]): Promise<{
22
+ id: string;
23
+ }[]>;
24
+ createAttribute(attributeId: string, actorId: string, value: string): Promise<{
25
+ id: string;
26
+ }>;
27
+ getAttributeLatestSnapshot(attributeId: string, actorId: string, criteria: AttributeChangeCriteria): Promise<AttributeSnapshot>;
28
+ getAttributeChanges(attributeId: string, actorId: string, criteria: AttributeChangeCriteria): Promise<Array<any>>;
29
+ insertAttributeChange(attributeId: string, actorId: string, change: string): Promise<AttributeChange>;
30
+ getSizeInBytesForAllAttributes(nodes: string[]): Promise<number>;
31
+ private groupNodesByStorageDriver;
32
+ }
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/attributes/attribute_storage/index.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAOtF,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,kBAAkB;IACjE,oBAAoB,EAAE,kBAAkB,CAAC;IAEzC,SAAS,EAAE,kBAAkB,CAAC;IAE9B,WAAW,EAAE,kBAAkB,CAAC;gBAEpB,MAAM,EAAE,QAAQ;IAM5B,UAAU,CAAC,WAAW,KAAA,GAAG,kBAAkB;IAc3C,uBAAuB,CACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAM3C,gCAAgC,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAMrB,mBAAmB,CACvB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAC7D,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAoB7B,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAM3B,0BAA0B,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,uBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;IAM9B,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,uBAAuB,GAC/B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAMvB,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC;IAMtB,8BAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAYtE,OAAO,CAAC,yBAAyB;CAmBlC"}
@@ -0,0 +1,39 @@
1
+ import IsAttributeStorage from '../../abstract/is_attribute_storage';
2
+ import PgPoolWithLog from '../../../../lib/pg-log';
3
+ import IsLogger from '../../../../lib/is_logger';
4
+ import { AttributeSnapshot, AttributeChangeCriteria, AttributeValue } from '../types';
5
+ export default class AttributeStorage implements IsAttributeStorage {
6
+ logger: IsLogger;
7
+ pgPool: PgPoolWithLog;
8
+ tablePrefix: string;
9
+ constructor(logger: IsLogger, tablePrefix: string);
10
+ getSizeInBytesForAllAttributes(nodes: string[]): Promise<number>;
11
+ createAllAttributes(attr: {
12
+ attributeId: string;
13
+ actorId: string;
14
+ value: AttributeValue;
15
+ size?: number;
16
+ }[]): Promise<{
17
+ id: string;
18
+ }[]>;
19
+ createAttribute(attributeId: string, actorId: string, value: AttributeValue, size?: number): Promise<{
20
+ id: string;
21
+ }>;
22
+ createAttributeWithoutFactsCheck(attributeId: string, actorId: string, value: AttributeValue, size?: number): Promise<{
23
+ id: string;
24
+ }>;
25
+ getAttributeLatestSnapshots(attributeIds: string[], actorId: string, arg?: AttributeChangeCriteria): Promise<AttributeSnapshot[]>;
26
+ private getAttributeLatestSnapshotsUnchunked;
27
+ getAttributeLatestSnapshot(attributeId: string, actorId: string, { maxChangeId, inAuthorizedContext }?: AttributeChangeCriteria): Promise<AttributeSnapshot>;
28
+ getAttributeChanges(): Promise<Array<any>>;
29
+ insertAttributeChange(): Promise<{
30
+ id: string;
31
+ updatedAt: Date;
32
+ }>;
33
+ insertAttributeSnapshot(attributeId: string, actorId: string, value: AttributeValue, changeId?: string, size?: number): Promise<{
34
+ id: string;
35
+ updatedAt: Date;
36
+ }>;
37
+ private getAttributeTableName;
38
+ }
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/attribute_storage/psql/index.ts"],"names":[],"mappings":"AAIA,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAIjD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAmBtF,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,kBAAkB;IACjE,MAAM,EAAE,QAAQ,CAAC;IAEjB,MAAM,EAAE,aAAa,CAAC;IAEtB,WAAW,EAAE,MAAM,CAAC;gBAER,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM;IAM3C,8BAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA2ChE,mBAAmB,CACvB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GACpF,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAwCvB,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,EACrB,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAarB,gCAAgC,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,EACrB,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAerB,2BAA2B,CAC/B,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,uBAA4B,GAC/B,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAalB,oCAAoC;IAgC5C,0BAA0B,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,EAAE,WAA0B,EAAE,mBAA2B,EAAE,GAAE,uBAA4B,GACvF,OAAO,CAAC,iBAAiB,CAAC;IAkCxB,mBAAmB,IAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAI3C,qBAAqB,IAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAIlE,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;YAqB9B,qBAAqB;CASpC"}
@@ -0,0 +1,35 @@
1
+ import IsAttributeStorage from '../../abstract/is_attribute_storage';
2
+ import PgPoolWithLog from '../../../../lib/pg-log';
3
+ import IsLogger from '../../../../lib/is_logger';
4
+ import { AttributeSnapshot, AttributeChangeCriteria, AttributeValue } from '../types';
5
+ export default class AttributeStorage implements IsAttributeStorage {
6
+ logger: IsLogger;
7
+ pgPool: PgPoolWithLog;
8
+ constructor(logger: IsLogger);
9
+ getSizeInBytesForAllAttributes(nodes: string[]): Promise<number>;
10
+ createAllAttributes(attr: {
11
+ attributeId: string;
12
+ actorId: string;
13
+ value: AttributeValue;
14
+ }[]): Promise<{
15
+ id: string;
16
+ }[]>;
17
+ createAttribute(attributeId: string, actorId: string, value: AttributeValue): Promise<{
18
+ id: string;
19
+ }>;
20
+ createAttributeWithoutFactsCheck(attributeId: string, actorId: string, value: AttributeValue): Promise<{
21
+ id: string;
22
+ }>;
23
+ getAttributeLatestSnapshot(attributeId: string, actorId: string, { maxChangeId, inAuthorizedContext }?: AttributeChangeCriteria): Promise<AttributeSnapshot>;
24
+ getAttributeChanges(attributeId: string, actorId: string, { inAuthorizedContext, minChangeId, maxChangeId }?: AttributeChangeCriteria): Promise<Array<any>>;
25
+ insertAttributeChange(attributeId: string, actorId: string, change: string): Promise<{
26
+ id: string;
27
+ updatedAt: Date;
28
+ }>;
29
+ insertAttributeSnapshot(attributeId: string, actorId: string, value: AttributeValue, changeId?: string): Promise<{
30
+ id: string;
31
+ updatedAt: Date;
32
+ }>;
33
+ private static getAttributeTableName;
34
+ }
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/attribute_storage/psql_with_history/index.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGtF,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,kBAAkB;IACjE,MAAM,EAAE,QAAQ,CAAC;IAEjB,MAAM,EAAE,aAAa,CAAC;gBAEV,MAAM,EAAE,QAAQ;IAKtB,8BAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgChE,mBAAmB,CACvB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,EAAE,GACrE,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAIvB,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAQrB,gCAAgC,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,GACnB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAUrB,0BAA0B,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,EAAE,WAA0B,EAAE,mBAA2B,EAAE,GAAE,uBAA4B,GACvF,OAAO,CAAC,iBAAiB,CAAC;IA4BxB,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,EAAE,mBAA2B,EAAE,WAAiB,EAAE,WAA0B,EAAE,GAAE,uBAA4B,GAC1G,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAkBjB,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAWtC,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,EACrB,QAAQ,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAc5C,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAOrC"}
@@ -0,0 +1,38 @@
1
+ import { Client } from 'minio';
2
+ import IsAttributeStorage from '../../abstract/is_attribute_storage';
3
+ import IsLogger from '../../../../lib/is_logger';
4
+ import { AttributeSnapshot, AttributeChangeCriteria, AttributeSnapshotReadable } from '../types';
5
+ export default class AttributeStorage implements IsAttributeStorage {
6
+ logger: IsLogger;
7
+ minioClient: Client;
8
+ bucketName: string;
9
+ static isConfigurationAvailable(): boolean;
10
+ constructor(logger: IsLogger);
11
+ getSizeInBytesForAllAttributes(nodes: string[]): Promise<number>;
12
+ createAllAttributes(attrs: {
13
+ attributeId: string;
14
+ actorId: string;
15
+ value: string | Buffer;
16
+ }[]): Promise<{
17
+ id: string;
18
+ }[]>;
19
+ createAttribute(attributeId: string, actorId: string, value: string | Buffer): Promise<{
20
+ id: string;
21
+ }>;
22
+ createAttributeWithoutFactsCheck(attributeId: string, actorId: string, value: string | Buffer): Promise<{
23
+ id: string;
24
+ }>;
25
+ getAttributeLatestSnapshot(attributeId: string, actorId: string, { inAuthorizedContext }?: AttributeChangeCriteria): Promise<AttributeSnapshot>;
26
+ getAttributeLatestSnapshotAsReadable(attributeId: string, actorId: string, { inAuthorizedContext }?: AttributeChangeCriteria): Promise<AttributeSnapshotReadable>;
27
+ getAttributeChanges(): Promise<Array<any>>;
28
+ insertAttributeChange(): Promise<{
29
+ id: string;
30
+ updatedAt: Date;
31
+ }>;
32
+ insertAttributeSnapshot(attributeId: string, actorId: string, value: string | Buffer): Promise<{
33
+ id: string;
34
+ updatedAt: Date;
35
+ }>;
36
+ private getObjectSize;
37
+ }
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/attribute_storage/s3/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEjG,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,kBAAkB;IACjE,MAAM,EAAE,QAAQ,CAAC;IAEjB,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,CAAC,wBAAwB;gBAInB,MAAM,EAAE,QAAQ;IAoBtB,8BAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhE,mBAAmB,CACvB,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,GACvE,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAUvB,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAYrB,gCAAgC,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBrB,0BAA0B,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,EAAE,mBAA2B,EAAE,GAAE,uBAA4B,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAwBxB,oCAAoC,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,EAAE,mBAA2B,EAAE,GAAE,uBAA4B,GAC3D,OAAO,CAAC,yBAAyB,CAAC;IAuBhC,mBAAmB,IAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAI3C,qBAAqB,IAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAIlE,uBAAuB,CAC3B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;YA0B9B,aAAa;CAsB5B"}
@@ -0,0 +1,27 @@
1
+ import { Readable } from 'stream';
2
+ export type AttributeValue = string | Buffer;
3
+ export type AttributeSnapshotReadable = {
4
+ value: Readable;
5
+ changeId: string;
6
+ actorId: string;
7
+ createdAt: number;
8
+ updatedAt: number;
9
+ };
10
+ export type AttributeSnapshot = {
11
+ id: string;
12
+ value: string;
13
+ changeId: string;
14
+ actorId: string;
15
+ createdAt: number;
16
+ updatedAt: number;
17
+ };
18
+ export type AttributeChange = {
19
+ id: string;
20
+ updatedAt: Date;
21
+ };
22
+ export type AttributeChangeCriteria = {
23
+ inAuthorizedContext?: boolean;
24
+ minChangeId?: string;
25
+ maxChangeId?: string;
26
+ };
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/attributes/attribute_storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export default class BlobChange {
2
+ value: Blob;
3
+ changeId: string;
4
+ constructor(newValue: Blob, changeId?: string);
5
+ toJSON(): object;
6
+ }
7
+ //# sourceMappingURL=blob_change.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob_change.d.ts","sourceRoot":"","sources":["../../../../src/attributes/blob/blob_change.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,KAAK,EAAE,IAAI,CAAC;IAEZ,QAAQ,EAAE,MAAM,CAAC;gBAEL,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM;IAM7C,MAAM,IAAI,MAAM;CAGjB"}
@@ -0,0 +1,18 @@
1
+ import AbstractAttributeClient from '../../abstract/abstract_attribute_client';
2
+ import SerializedChangeWithMetadata from '../../abstract/serialized_change_with_metadata';
3
+ import BlobChange from '../blob_change';
4
+ export default class BlobAttribute extends AbstractAttributeClient<Blob, BlobChange> {
5
+ static getDataTypePrefix(): string;
6
+ static getDataTypeName(): string;
7
+ getDataTypePrefix(): string;
8
+ getDataTypeName(): string;
9
+ getDefaultValue(): Blob;
10
+ deserializeValue(serializedValue: string): Promise<Blob>;
11
+ protected getCreatePayload(value: Blob): Promise<string | FormData>;
12
+ protected rawSet(newValue: Blob): Promise<void>;
13
+ protected rawChange(change: BlobChange): Promise<boolean>;
14
+ protected onServerMessage(changeWithMetadata: SerializedChangeWithMetadata<BlobChange>): void;
15
+ protected transmitChange(value: Blob): Promise<boolean>;
16
+ protected onLoad(): void;
17
+ }
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/blob/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,uBAAuB,MAAM,0CAA0C,CAAC;AAC/E,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAC1F,OAAO,UAAU,MAAM,gBAAgB,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC;WACpE,iBAAiB,IAAK,MAAM;WAI5B,eAAe,IAAK,MAAM;IAIjC,iBAAiB,IAAK,MAAM;IAI5B,eAAe,IAAK,MAAM;IAI1B,eAAe,IAAK,IAAI;IAIlB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAI,OAAO,CAAC,IAAI,CAAC;cAItD,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;cAezD,MAAM,CAAC,QAAQ,EAAE,IAAI;cAKrB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D,SAAS,CAAC,eAAe,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,UAAU,CAAC;cAMtE,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B7D,SAAS,CAAC,MAAM;CACjB"}
@@ -0,0 +1,27 @@
1
+ import AbstractAttributeServer, { LoadResult } from '../../abstract/abstract_attribute_server';
2
+ import SerializedChangeWithMetadata from '../../abstract/serialized_change_with_metadata';
3
+ import BlobChange from '../blob_change';
4
+ import IsLogger from '../../../../lib/is_logger';
5
+ import IsAttributeStorage from '../../abstract/is_attribute_storage';
6
+ export default class BlobAttribute extends AbstractAttributeServer<Blob, BlobChange> {
7
+ storage: IsAttributeStorage;
8
+ isS3Configured: boolean;
9
+ static getDataTypePrefix(): string;
10
+ static copyFromPSQLToS3(logger: IsLogger): Promise<void>;
11
+ constructor(id: string, clientId: string, actorId: string, logger: IsLogger);
12
+ create(value: Blob): Promise<{
13
+ id: string;
14
+ }>;
15
+ getStorageRequiredForValue(value: Blob): Promise<number>;
16
+ getStorageRequiredForChange(change: SerializedChangeWithMetadata<BlobChange>): Promise<number>;
17
+ get(): Promise<LoadResult<Blob>>;
18
+ set(value: Blob): Promise<{
19
+ id: string;
20
+ }>;
21
+ change(changeWithMetadata: SerializedChangeWithMetadata<BlobChange>): Promise<SerializedChangeWithMetadata<BlobChange>>;
22
+ private marshal;
23
+ private static marshal;
24
+ private unmarshal;
25
+ private static unmarshal;
26
+ }
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/blob/server/index.ts"],"names":[],"mappings":"AAMA,OAAO,uBAAuB,EAAE,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAC1F,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAIjD,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AAErE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,uBAAuB,CAClE,IAAI,EACJ,UAAU,CACT;IACC,OAAO,EAAE,kBAAkB,CAAC;IAE5B,cAAc,EAAE,OAAO,CAAwC;WAEjD,iBAAiB,IAAI,MAAM;WAIrB,gBAAgB,CAAC,MAAM,EAAE,QAAQ;gBAyBnD,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ;IASZ,MAAM,CAAC,KAAK,EAAE,IAAI,GAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAM7C,0BAA0B,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD,2BAA2B,CAC/B,MAAM,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAC/C,OAAO,CAAC,MAAM,CAAC;IAIZ,GAAG,IAAK,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAYjC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAK1C,MAAM,CACV,kBAAkB,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAC1D,OAAO,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAgBvC,OAAO;mBAIA,OAAO;YAMd,SAAS;mBAIF,SAAS;CAuD/B"}
@@ -0,0 +1,6 @@
1
+ import IsLogger from '../../../lib/is_logger';
2
+ import type Fact from '../../facts/server';
3
+ export default class AuthorizationError extends Error {
4
+ constructor(userId: string, entityType: string, entity: string | Fact, logger: IsLogger);
5
+ }
6
+ //# sourceMappingURL=authorization_error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorization_error.d.ts","sourceRoot":"","sources":["../../../../src/attributes/errors/authorization_error.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,KAAK;gBACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ;CAaxF"}
@@ -0,0 +1,19 @@
1
+ import AbstractAttributeClient from '../../abstract/abstract_attribute_client';
2
+ import SerializedChangeWithMetadata from '../../abstract/serialized_change_with_metadata';
3
+ import KeyValueChange from '../key_value_change';
4
+ export default class KeyValueAttribute extends AbstractAttributeClient<object, KeyValueChange> {
5
+ static getDataTypePrefix(): string;
6
+ static getDataTypeName(): string;
7
+ getDataTypePrefix(): string;
8
+ getDataTypeName(): string;
9
+ getDefaultValue(): object;
10
+ deserializeValue(serializedValue: string): Promise<object>;
11
+ getValue(): Promise<object | undefined>;
12
+ patch(changes: Record<string, object | string | number | boolean | null>): Promise<boolean>;
13
+ protected rawSet(newValue: object): Promise<void>;
14
+ protected rawChange(change: KeyValueChange): Promise<boolean>;
15
+ protected onLoad(): void;
16
+ protected onServerMessage(changeWithMetadata: SerializedChangeWithMetadata<KeyValueChange>): void;
17
+ protected transmitChange(changeset: KeyValueChange): Promise<boolean>;
18
+ }
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/key_value/client/index.ts"],"names":[],"mappings":"AAKA,OAAO,uBAAuB,MAAM,0CAA0C,CAAC;AAC/E,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAC1F,OAAO,cAAgC,MAAM,qBAAqB,CAAC;AAGnE,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,uBAAuB,CAAC,MAAM,EAAE,cAAc,CAAC;WAC9E,iBAAiB,IAAK,MAAM;WAI5B,eAAe,IAAK,MAAM;IAIjC,iBAAiB,IAAK,MAAM;IAI5B,eAAe,IAAK,MAAM;IAI1B,eAAe,IAAK,MAAM;IAI1B,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAI,OAAO,CAAC,MAAM,CAAC;IAIrD,QAAQ,IAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAcxC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAE;cAMtE,MAAM,CAAC,QAAQ,EAAE,MAAM;cA6BvB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BnE,SAAS,CAAC,MAAM;IAGhB,SAAS,CAAC,eAAe,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,cAAc,CAAC;IAgB1F,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;CAgBtE"}
@@ -0,0 +1,16 @@
1
+ export type AtomicChange = {
2
+ key: string;
3
+ value: object | string | boolean | number | null;
4
+ };
5
+ export default class KeyValueChange {
6
+ changeId: string;
7
+ change: AtomicChange[];
8
+ static fromJSON(input: any, changeId?: string): KeyValueChange;
9
+ static fromString(input: string): KeyValueChange;
10
+ constructor(changeset: AtomicChange[], changeId?: string);
11
+ toString(): string;
12
+ toJSON(): object;
13
+ apply(input: object): object;
14
+ merge(other: KeyValueChange): KeyValueChange;
15
+ }
16
+ //# sourceMappingURL=key_value_change.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key_value_change.d.ts","sourceRoot":"","sources":["../../../../src/attributes/key_value/key_value_change.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,cAAc;IAC1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,YAAY,EAAE,CAAC;WAEhB,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM;WAItC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAI,cAAc;gBAI5C,SAAS,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM;IAKjD,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkB5B,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;CAepD"}
@@ -0,0 +1,28 @@
1
+ import AbstractAttributeServer, { LoadResult } from '../../abstract/abstract_attribute_server';
2
+ import SerializedChangeWithMetadata from '../../abstract/serialized_change_with_metadata';
3
+ import KeyValueChange from '../key_value_change';
4
+ import IsLogger from '../../../../lib/is_logger';
5
+ import AttributeStorage from '../../attribute_storage/psql';
6
+ export default class KeyValueAttribute extends AbstractAttributeServer<object, KeyValueChange> {
7
+ storage: AttributeStorage;
8
+ static getDataTypePrefix(): string;
9
+ static createAll(attr: [AbstractAttributeServer<any, any>, any][]): Promise<string[]>;
10
+ static loadAll(attributeIDs: string[], clientId: string, actorId: string, logger: IsLogger, args?: {
11
+ inAuthorizedContext?: boolean;
12
+ }): Promise<LoadResult<object>[]>;
13
+ constructor(id: string, clientId: string, actorId: string, logger: IsLogger);
14
+ getStorageRequiredForValue(value: object): Promise<number>;
15
+ getStorageRequiredForChange(change: SerializedChangeWithMetadata<KeyValueChange>): Promise<number>;
16
+ create(value: object): Promise<{
17
+ id: string;
18
+ }>;
19
+ get(args?: {
20
+ inAuthorizedContext?: boolean;
21
+ }): Promise<LoadResult<object>>;
22
+ set(value: object): Promise<{
23
+ id: string;
24
+ updatedAt: Date;
25
+ }>;
26
+ change(changeWithMetadata: SerializedChangeWithMetadata<KeyValueChange>): Promise<SerializedChangeWithMetadata<KeyValueChange>>;
27
+ }
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/key_value/server/index.ts"],"names":[],"mappings":"AAIA,OAAO,uBAAuB,EAAE,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAC1F,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAI5D,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,uBAAuB,CACtE,MAAM,EACN,cAAc,CACb;IACC,OAAO,EAAE,gBAAgB,CAAC;WAEZ,iBAAiB,IAAI,MAAM;WAIrB,SAAS,CAE3B,IAAI,EAAE,CAAC,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAC/C,OAAO,CAAC,MAAM,EAAE,CAAC;WAuBA,OAAO,CACzB,YAAY,EAAE,MAAM,EAAE,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,EAChB,IAAI,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GACvC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAmB9B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ;IAOZ,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,2BAA2B,CAC/B,MAAM,EAAE,4BAA4B,CAAC,cAAc,CAAC,GACnD,OAAO,CAAC,MAAM,CAAC;IAIZ,MAAM,CAAC,KAAK,EAAE,MAAM,GAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAK/C,GAAG,CAAC,IAAI,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAmB3E,GAAG,CAAC,KAAK,EAAE,MAAM,GAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAI7D,MAAM,CACV,kBAAkB,EAAE,4BAA4B,CAAC,cAAc,CAAC,GAC9D,OAAO,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;CAiB1D"}
@@ -0,0 +1,12 @@
1
+ import LongTextChange from '../long_text_change';
2
+ export default class ChangeBuffer {
3
+ value?: LongTextChange;
4
+ inFlightOp?: LongTextChange;
5
+ init(inFlightOp: LongTextChange): void;
6
+ add(changeset: LongTextChange): void;
7
+ transformAgainst(foreignChange: LongTextChange): LongTextChange;
8
+ get bridge(): LongTextChange | undefined;
9
+ clear(): void;
10
+ getValue(): LongTextChange | undefined;
11
+ }
12
+ //# sourceMappingURL=buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/long_text/client/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC;IAGvB,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B,IAAI,CAAC,UAAU,EAAE,cAAc;IAI/B,GAAG,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;IASpC,gBAAgB,CACd,aAAa,EAAE,cAAc,GAC3B,cAAc;IAqBlB,IAAI,MAAM,IAAI,cAAc,GAAG,SAAS,CAUvC;IAED,KAAK;IAKL,QAAQ,IAAI,cAAc,GAAG,SAAS;CAGvC"}
@@ -0,0 +1,25 @@
1
+ import AbstractAttributeClient from '../../abstract/abstract_attribute_client';
2
+ import SerializedChangeWithMetadata from '../../abstract/serialized_change_with_metadata';
3
+ import LongTextChange from '../long_text_change';
4
+ import ChangeBuffer from './buffer';
5
+ export default class LongTextAttribute extends AbstractAttributeClient<string, LongTextChange> {
6
+ buffer: ChangeBuffer;
7
+ changeInTransmission?: SerializedChangeWithMetadata<LongTextChange>;
8
+ changeInTransmissionSendAt?: Date;
9
+ static serverApprovalTimeoutInMS: number;
10
+ static getDataTypePrefix(): string;
11
+ static getDataTypeName(): string;
12
+ getDataTypePrefix(): string;
13
+ getDataTypeName(): string;
14
+ getDefaultValue(): string;
15
+ deserializeValue(serializedValue: string): Promise<string>;
16
+ protected rawSet(newValue: string): Promise<void>;
17
+ protected rawChange(changeset: LongTextChange): Promise<boolean>;
18
+ protected getLastChangeTransmittedMillisecondsAgo(): number;
19
+ protected onLoad(): void;
20
+ protected onServerMessage(changeWithMetadata: SerializedChangeWithMetadata<LongTextChange>): void;
21
+ private processForeignChange;
22
+ private processApproval;
23
+ protected transmitChange(changeset: LongTextChange): Promise<boolean>;
24
+ }
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/long_text/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,uBAAuB,MAAM,0CAA0C,CAAC;AAC/E,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAC1F,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,YAAY,MAAM,UAAU,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,uBAAuB,CAAC,MAAM,EAAE,cAAc,CAAC;IAC5F,MAAM,EAAE,YAAY,CAAsB;IAE1C,oBAAoB,CAAC,EAAE,4BAA4B,CAAC,cAAc,CAAC,CAAa;IAEhF,0BAA0B,CAAC,EAAE,IAAI,CAAa;IAE9C,OAAc,yBAAyB,EAAE,MAAM,CAAQ;WAEzC,iBAAiB,IAAK,MAAM;WAI5B,eAAe,IAAK,MAAM;IAIjC,iBAAiB,IAAK,MAAM;IAI5B,eAAe,IAAK,MAAM;IAI1B,eAAe,IAAK,MAAM;IAI1B,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAI,OAAO,CAAC,MAAM,CAAC;cAIlD,MAAM,CAAC,QAAQ,EAAE,MAAM;cAMvB,SAAS,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BtE,SAAS,CAAC,uCAAuC,IAAI,MAAM;IAQ3D,SAAS,CAAC,MAAM;IAMhB,SAAS,CAAC,eAAe,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,cAAc,CAAC;IAQ1F,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,eAAe;IAYvB,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;CAqBtE"}
@@ -0,0 +1,16 @@
1
+ export default class LongTextChange {
2
+ changeset: any;
3
+ changeId: string;
4
+ constructor(changeset: any, changeId?: string);
5
+ static fromString(change: string): LongTextChange;
6
+ static fromDiff(a: string, b: string): LongTextChange;
7
+ apply(value: string): string;
8
+ toString(): string;
9
+ transformAgainst(change: LongTextChange | null, side?: any): LongTextChange;
10
+ merge(otherChange: LongTextChange): LongTextChange;
11
+ toJSON(): {
12
+ changeset: string;
13
+ changeId: string;
14
+ };
15
+ }
16
+ //# sourceMappingURL=long_text_change.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"long_text_change.d.ts","sourceRoot":"","sources":["../../../../src/attributes/long_text/long_text_change.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,cAAc;IAC1B,SAAS,MAAC;IAEV,QAAQ,EAAE,MAAM,CAAC;gBAEZ,SAAS,KAAA,EAAE,QAAQ,CAAC,EAAE,MAAM;WAK1B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;WAI1C,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc;IAIrD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5B,QAAQ,IAAI,MAAM;IAMlB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,IAAI,CAAC,KAAA,GAAI,cAAc;IAQvE,KAAK,CAAC,WAAW,EAAE,cAAc,GAAI,cAAc;IAInD,MAAM;;;;CAMd"}
@@ -0,0 +1,27 @@
1
+ import AbstractAttributeServer, { LoadResult } from '../../abstract/abstract_attribute_server';
2
+ import SerializedChangeWithMetadata from '../../abstract/serialized_change_with_metadata';
3
+ import LongTextChange from '../long_text_change';
4
+ import IsLogger from '../../../../lib/is_logger';
5
+ import AttributeStorage from '../../attribute_storage/psql_with_history';
6
+ export default class LongTextAttribute extends AbstractAttributeServer<string, LongTextChange> {
7
+ storage: AttributeStorage;
8
+ static getDataTypePrefix(): string;
9
+ constructor(id: string, clientId: string, actorId: string, logger: IsLogger);
10
+ getStorageRequiredForValue(value: string): Promise<number>;
11
+ getStorageRequiredForChange(change: SerializedChangeWithMetadata<LongTextChange>): Promise<number>;
12
+ create(value: string): Promise<{
13
+ id: string;
14
+ }>;
15
+ get(args?: {
16
+ inAuthorizedContext?: boolean;
17
+ }): Promise<LoadResult<string>>;
18
+ set(value: string): Promise<{
19
+ id: string;
20
+ }>;
21
+ change(changeWithMetadata: SerializedChangeWithMetadata<LongTextChange>): Promise<SerializedChangeWithMetadata<LongTextChange>>;
22
+ private getByChangeId;
23
+ private getChangeSince;
24
+ private changeByChangeset;
25
+ ensureChangeCanBeApplied(transformedClientChange: string, clientChange: LongTextChange): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/attributes/long_text/server/index.ts"],"names":[],"mappings":"AAGA,OAAO,uBAAuB,EAAE,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAC1F,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AAIzE,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,uBAAuB,CACtE,MAAM,EACN,cAAc,CACb;IACC,OAAO,EAAE,gBAAgB,CAAC;WAEZ,iBAAiB,IAAI,MAAM;gBAKvC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ;IAQZ,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,2BAA2B,CAC/B,MAAM,EAAE,4BAA4B,CAAC,cAAc,CAAC,GACnD,OAAO,CAAC,MAAM,CAAC;IAIZ,MAAM,CAAC,KAAK,EAAE,MAAM,GAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAM/C,GAAG,CAAC,IAAI,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAI3E,GAAG,CAAC,KAAK,EAAE,MAAM,GAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAK5C,MAAM,CACV,kBAAkB,EAAE,4BAA4B,CAAC,cAAc,CAAC,GAC9D,OAAO,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;YA+B3C,aAAa;YAiDb,cAAc;YAgCd,iBAAiB;IA8CzB,wBAAwB,CAC5B,uBAAuB,EAAE,MAAM,EAC/B,YAAY,EAAE,cAAc;CAiB/B"}