@boxyhq/saml-jackson 1.33.0 → 1.33.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/controller/oauth/oidc-client.d.ts +3 -3
  2. package/dist/controller/oauth/oidc-client.js +2 -1
  3. package/dist/controller/oauth/oidc-client.js.map +1 -1
  4. package/dist/controller/oauth/oidc-issuer.d.ts +2 -0
  5. package/dist/controller/oauth/oidc-issuer.js +25 -0
  6. package/dist/controller/oauth/oidc-issuer.js.map +1 -0
  7. package/dist/controller/oauth.js +36 -35
  8. package/dist/controller/oauth.js.map +1 -1
  9. package/dist/controller/sso-handler.js +1 -1
  10. package/dist/controller/sso-handler.js.map +1 -1
  11. package/dist/controller/utils.d.ts +5 -3
  12. package/dist/controller/utils.js +10 -2
  13. package/dist/controller/utils.js.map +1 -1
  14. package/dist/src/controller/admin.d.ts +27 -0
  15. package/dist/src/controller/admin.js +60 -0
  16. package/dist/src/controller/admin.js.map +1 -0
  17. package/dist/src/controller/analytics.d.ts +16 -0
  18. package/dist/src/controller/analytics.js +79 -0
  19. package/dist/src/controller/analytics.js.map +1 -0
  20. package/dist/src/controller/api.d.ts +557 -0
  21. package/dist/src/controller/api.js +806 -0
  22. package/dist/src/controller/api.js.map +1 -0
  23. package/dist/src/controller/connection/oidc.d.ts +7 -0
  24. package/dist/src/controller/connection/oidc.js +181 -0
  25. package/dist/src/controller/connection/oidc.js.map +1 -0
  26. package/dist/src/controller/connection/saml.d.ts +7 -0
  27. package/dist/src/controller/connection/saml.js +250 -0
  28. package/dist/src/controller/connection/saml.js.map +1 -0
  29. package/dist/src/controller/error.d.ts +10 -0
  30. package/dist/src/controller/error.js +13 -0
  31. package/dist/src/controller/error.js.map +1 -0
  32. package/dist/src/controller/health-check.d.ts +11 -0
  33. package/dist/src/controller/health-check.js +51 -0
  34. package/dist/src/controller/health-check.js.map +1 -0
  35. package/dist/src/controller/logout.d.ts +18 -0
  36. package/dist/src/controller/logout.js +132 -0
  37. package/dist/src/controller/logout.js.map +1 -0
  38. package/dist/src/controller/oauth/allowed.d.ts +1 -0
  39. package/dist/src/controller/oauth/allowed.js +30 -0
  40. package/dist/src/controller/oauth/allowed.js.map +1 -0
  41. package/dist/src/controller/oauth/code-verifier.d.ts +1 -0
  42. package/dist/src/controller/oauth/code-verifier.js +8 -0
  43. package/dist/src/controller/oauth/code-verifier.js.map +1 -0
  44. package/dist/src/controller/oauth/oidc-client.d.ts +12 -0
  45. package/dist/src/controller/oauth/oidc-client.js +89 -0
  46. package/dist/src/controller/oauth/oidc-client.js.map +1 -0
  47. package/dist/src/controller/oauth/redirect.d.ts +1 -0
  48. package/dist/src/controller/oauth/redirect.js +13 -0
  49. package/dist/src/controller/oauth/redirect.js.map +1 -0
  50. package/dist/src/controller/oauth.d.ts +142 -0
  51. package/dist/src/controller/oauth.js +1112 -0
  52. package/dist/src/controller/oauth.js.map +1 -0
  53. package/dist/src/controller/oidc-discovery.d.ts +22 -0
  54. package/dist/src/controller/oidc-discovery.js +47 -0
  55. package/dist/src/controller/oidc-discovery.js.map +1 -0
  56. package/dist/src/controller/setup-link.d.ts +307 -0
  57. package/dist/src/controller/setup-link.js +462 -0
  58. package/dist/src/controller/setup-link.js.map +1 -0
  59. package/dist/src/controller/sp-config.d.ts +22 -0
  60. package/dist/src/controller/sp-config.js +89 -0
  61. package/dist/src/controller/sp-config.js.map +1 -0
  62. package/dist/src/controller/sso-handler.d.ts +66 -0
  63. package/dist/src/controller/sso-handler.js +306 -0
  64. package/dist/src/controller/sso-handler.js.map +1 -0
  65. package/dist/src/controller/utils.d.ts +84 -0
  66. package/dist/src/controller/utils.js +328 -0
  67. package/dist/src/controller/utils.js.map +1 -0
  68. package/dist/src/cron/lock.d.ts +18 -0
  69. package/dist/src/cron/lock.js +98 -0
  70. package/dist/src/cron/lock.js.map +1 -0
  71. package/dist/src/db/db.d.ts +5 -0
  72. package/dist/src/db/db.js +178 -0
  73. package/dist/src/db/db.js.map +1 -0
  74. package/dist/src/db/defaultDb.d.ts +2 -0
  75. package/dist/src/db/defaultDb.js +18 -0
  76. package/dist/src/db/defaultDb.js.map +1 -0
  77. package/dist/src/db/dynamoDb.d.ts +19 -0
  78. package/dist/src/db/dynamoDb.js +320 -0
  79. package/dist/src/db/dynamoDb.js.map +1 -0
  80. package/dist/src/db/encrypter.d.ts +3 -0
  81. package/dist/src/db/encrypter.js +22 -0
  82. package/dist/src/db/encrypter.js.map +1 -0
  83. package/dist/src/db/mem.d.ts +23 -0
  84. package/dist/src/db/mem.js +186 -0
  85. package/dist/src/db/mem.js.map +1 -0
  86. package/dist/src/db/mongo.d.ts +22 -0
  87. package/dist/src/db/mongo.js +177 -0
  88. package/dist/src/db/mongo.js.map +1 -0
  89. package/dist/src/db/planetscale/entity/JacksonIndex.d.ts +5 -0
  90. package/dist/src/db/planetscale/entity/JacksonIndex.js +32 -0
  91. package/dist/src/db/planetscale/entity/JacksonIndex.js.map +1 -0
  92. package/dist/src/db/planetscale/entity/JacksonStore.d.ts +9 -0
  93. package/dist/src/db/planetscale/entity/JacksonStore.js +63 -0
  94. package/dist/src/db/planetscale/entity/JacksonStore.js.map +1 -0
  95. package/dist/src/db/planetscale/entity/JacksonTTL.d.ts +4 -0
  96. package/dist/src/db/planetscale/entity/JacksonTTL.js +27 -0
  97. package/dist/src/db/planetscale/entity/JacksonTTL.js.map +1 -0
  98. package/dist/src/db/redis.d.ts +18 -0
  99. package/dist/src/db/redis.js +214 -0
  100. package/dist/src/db/redis.js.map +1 -0
  101. package/dist/src/db/sql/entity/JacksonIndex.d.ts +7 -0
  102. package/dist/src/db/sql/entity/JacksonIndex.js +39 -0
  103. package/dist/src/db/sql/entity/JacksonIndex.js.map +1 -0
  104. package/dist/src/db/sql/entity/JacksonStore.d.ts +9 -0
  105. package/dist/src/db/sql/entity/JacksonStore.js +61 -0
  106. package/dist/src/db/sql/entity/JacksonStore.js.map +1 -0
  107. package/dist/src/db/sql/entity/JacksonTTL.d.ts +4 -0
  108. package/dist/src/db/sql/entity/JacksonTTL.js +27 -0
  109. package/dist/src/db/sql/entity/JacksonTTL.js.map +1 -0
  110. package/dist/src/db/sql/mariadb/entity/JacksonIndex.d.ts +7 -0
  111. package/dist/src/db/sql/mariadb/entity/JacksonIndex.js +39 -0
  112. package/dist/src/db/sql/mariadb/entity/JacksonIndex.js.map +1 -0
  113. package/dist/src/db/sql/mariadb/entity/JacksonStore.d.ts +9 -0
  114. package/dist/src/db/sql/mariadb/entity/JacksonStore.js +63 -0
  115. package/dist/src/db/sql/mariadb/entity/JacksonStore.js.map +1 -0
  116. package/dist/src/db/sql/mariadb/entity/JacksonTTL.d.ts +4 -0
  117. package/dist/src/db/sql/mariadb/entity/JacksonTTL.js +27 -0
  118. package/dist/src/db/sql/mariadb/entity/JacksonTTL.js.map +1 -0
  119. package/dist/src/db/sql/mssql/entity/JacksonIndex.d.ts +7 -0
  120. package/dist/src/db/sql/mssql/entity/JacksonIndex.js +39 -0
  121. package/dist/src/db/sql/mssql/entity/JacksonIndex.js.map +1 -0
  122. package/dist/src/db/sql/mssql/entity/JacksonStore.d.ts +9 -0
  123. package/dist/src/db/sql/mssql/entity/JacksonStore.js +61 -0
  124. package/dist/src/db/sql/mssql/entity/JacksonStore.js.map +1 -0
  125. package/dist/src/db/sql/mssql/entity/JacksonTTL.d.ts +4 -0
  126. package/dist/src/db/sql/mssql/entity/JacksonTTL.js +27 -0
  127. package/dist/src/db/sql/mssql/entity/JacksonTTL.js.map +1 -0
  128. package/dist/src/db/sql/mssql.d.ts +1 -0
  129. package/dist/src/db/sql/mssql.js +44 -0
  130. package/dist/src/db/sql/mssql.js.map +1 -0
  131. package/dist/src/db/sql/sql.d.ts +32 -0
  132. package/dist/src/db/sql/sql.js +318 -0
  133. package/dist/src/db/sql/sql.js.map +1 -0
  134. package/dist/src/db/sql/sqlite/entity/JacksonIndex.d.ts +7 -0
  135. package/dist/src/db/sql/sqlite/entity/JacksonIndex.js +39 -0
  136. package/dist/src/db/sql/sqlite/entity/JacksonIndex.js.map +1 -0
  137. package/dist/src/db/sql/sqlite/entity/JacksonStore.d.ts +9 -0
  138. package/dist/src/db/sql/sqlite/entity/JacksonStore.js +61 -0
  139. package/dist/src/db/sql/sqlite/entity/JacksonStore.js.map +1 -0
  140. package/dist/src/db/sql/sqlite/entity/JacksonTTL.d.ts +4 -0
  141. package/dist/src/db/sql/sqlite/entity/JacksonTTL.js +27 -0
  142. package/dist/src/db/sql/sqlite/entity/JacksonTTL.js.map +1 -0
  143. package/dist/src/db/store.d.ts +5 -0
  144. package/dist/src/db/store.js +65 -0
  145. package/dist/src/db/store.js.map +1 -0
  146. package/dist/src/db/utils.d.ts +16 -0
  147. package/dist/src/db/utils.js +28 -0
  148. package/dist/src/db/utils.js.map +1 -0
  149. package/dist/src/directory-sync/batch-events/queue.d.ts +40 -0
  150. package/dist/src/directory-sync/batch-events/queue.js +225 -0
  151. package/dist/src/directory-sync/batch-events/queue.js.map +1 -0
  152. package/dist/src/directory-sync/index.d.ts +27 -0
  153. package/dist/src/directory-sync/index.js +97 -0
  154. package/dist/src/directory-sync/index.js.map +1 -0
  155. package/dist/src/directory-sync/non-scim/google/api.d.ts +36 -0
  156. package/dist/src/directory-sync/non-scim/google/api.js +143 -0
  157. package/dist/src/directory-sync/non-scim/google/api.js.map +1 -0
  158. package/dist/src/directory-sync/non-scim/google/index.d.ts +12 -0
  159. package/dist/src/directory-sync/non-scim/google/index.js +10 -0
  160. package/dist/src/directory-sync/non-scim/google/index.js.map +1 -0
  161. package/dist/src/directory-sync/non-scim/google/oauth.d.ts +27 -0
  162. package/dist/src/directory-sync/non-scim/google/oauth.js +105 -0
  163. package/dist/src/directory-sync/non-scim/google/oauth.js.map +1 -0
  164. package/dist/src/directory-sync/non-scim/index.d.ts +24 -0
  165. package/dist/src/directory-sync/non-scim/index.js +85 -0
  166. package/dist/src/directory-sync/non-scim/index.js.map +1 -0
  167. package/dist/src/directory-sync/non-scim/syncGroupMembers.d.ts +23 -0
  168. package/dist/src/directory-sync/non-scim/syncGroupMembers.js +105 -0
  169. package/dist/src/directory-sync/non-scim/syncGroupMembers.js.map +1 -0
  170. package/dist/src/directory-sync/non-scim/syncGroups.d.ts +24 -0
  171. package/dist/src/directory-sync/non-scim/syncGroups.js +120 -0
  172. package/dist/src/directory-sync/non-scim/syncGroups.js.map +1 -0
  173. package/dist/src/directory-sync/non-scim/syncUsers.d.ts +24 -0
  174. package/dist/src/directory-sync/non-scim/syncUsers.js +120 -0
  175. package/dist/src/directory-sync/non-scim/syncUsers.js.map +1 -0
  176. package/dist/src/directory-sync/non-scim/utils.d.ts +36 -0
  177. package/dist/src/directory-sync/non-scim/utils.js +109 -0
  178. package/dist/src/directory-sync/non-scim/utils.js.map +1 -0
  179. package/dist/src/directory-sync/request.d.ts +14 -0
  180. package/dist/src/directory-sync/request.js +29 -0
  181. package/dist/src/directory-sync/request.js.map +1 -0
  182. package/dist/src/directory-sync/scim/Base.d.ts +12 -0
  183. package/dist/src/directory-sync/scim/Base.js +23 -0
  184. package/dist/src/directory-sync/scim/Base.js.map +1 -0
  185. package/dist/src/directory-sync/scim/DirectoryConfig.d.ts +343 -0
  186. package/dist/src/directory-sync/scim/DirectoryConfig.js +580 -0
  187. package/dist/src/directory-sync/scim/DirectoryConfig.js.map +1 -0
  188. package/dist/src/directory-sync/scim/DirectoryGroups.d.ts +28 -0
  189. package/dist/src/directory-sync/scim/DirectoryGroups.js +252 -0
  190. package/dist/src/directory-sync/scim/DirectoryGroups.js.map +1 -0
  191. package/dist/src/directory-sync/scim/DirectoryUsers.d.ts +25 -0
  192. package/dist/src/directory-sync/scim/DirectoryUsers.js +193 -0
  193. package/dist/src/directory-sync/scim/DirectoryUsers.js.map +1 -0
  194. package/dist/src/directory-sync/scim/Groups.d.ts +166 -0
  195. package/dist/src/directory-sync/scim/Groups.js +348 -0
  196. package/dist/src/directory-sync/scim/Groups.js.map +1 -0
  197. package/dist/src/directory-sync/scim/Users.d.ts +99 -0
  198. package/dist/src/directory-sync/scim/Users.js +215 -0
  199. package/dist/src/directory-sync/scim/Users.js.map +1 -0
  200. package/dist/src/directory-sync/scim/WebhookEventsLogger.d.ts +101 -0
  201. package/dist/src/directory-sync/scim/WebhookEventsLogger.js +165 -0
  202. package/dist/src/directory-sync/scim/WebhookEventsLogger.js.map +1 -0
  203. package/dist/src/directory-sync/scim/transform.d.ts +6 -0
  204. package/dist/src/directory-sync/scim/transform.js +37 -0
  205. package/dist/src/directory-sync/scim/transform.js.map +1 -0
  206. package/dist/src/directory-sync/scim/utils.d.ts +33 -0
  207. package/dist/src/directory-sync/scim/utils.js +129 -0
  208. package/dist/src/directory-sync/scim/utils.js.map +1 -0
  209. package/dist/src/directory-sync/types.d.ts +195 -0
  210. package/dist/src/directory-sync/types.js +10 -0
  211. package/dist/src/directory-sync/types.js.map +1 -0
  212. package/dist/src/directory-sync/utils.d.ts +19 -0
  213. package/dist/src/directory-sync/utils.js +56 -0
  214. package/dist/src/directory-sync/utils.js.map +1 -0
  215. package/dist/src/ee/branding/index.d.ts +17 -0
  216. package/dist/src/ee/branding/index.js +49 -0
  217. package/dist/src/ee/branding/index.js.map +1 -0
  218. package/dist/src/ee/common/checkLicense.d.ts +3 -0
  219. package/dist/src/ee/common/checkLicense.js +23 -0
  220. package/dist/src/ee/common/checkLicense.js.map +1 -0
  221. package/dist/src/ee/identity-federation/app.d.ts +328 -0
  222. package/dist/src/ee/identity-federation/app.js +532 -0
  223. package/dist/src/ee/identity-federation/app.js.map +1 -0
  224. package/dist/src/ee/identity-federation/idp-login.d.ts +18 -0
  225. package/dist/src/ee/identity-federation/idp-login.js +98 -0
  226. package/dist/src/ee/identity-federation/idp-login.js.map +1 -0
  227. package/dist/src/ee/identity-federation/index.d.ts +15 -0
  228. package/dist/src/ee/identity-federation/index.js +43 -0
  229. package/dist/src/ee/identity-federation/index.js.map +1 -0
  230. package/dist/src/ee/identity-federation/sso.d.ts +24 -0
  231. package/dist/src/ee/identity-federation/sso.js +124 -0
  232. package/dist/src/ee/identity-federation/sso.js.map +1 -0
  233. package/dist/src/ee/identity-federation/types.d.ts +38 -0
  234. package/dist/src/ee/identity-federation/types.js +2 -0
  235. package/dist/src/ee/identity-federation/types.js.map +1 -0
  236. package/dist/src/ee/ory/ory.d.ts +18 -0
  237. package/dist/src/ee/ory/ory.js +195 -0
  238. package/dist/src/ee/ory/ory.js.map +1 -0
  239. package/dist/src/ee/product/index.d.ts +14 -0
  240. package/dist/src/ee/product/index.js +45 -0
  241. package/dist/src/ee/product/index.js.map +1 -0
  242. package/dist/src/event/axios.d.ts +2 -0
  243. package/dist/src/event/axios.js +27 -0
  244. package/dist/src/event/axios.js.map +1 -0
  245. package/dist/src/event/index.d.ts +11 -0
  246. package/dist/src/event/index.js +53 -0
  247. package/dist/src/event/index.js.map +1 -0
  248. package/dist/src/event/types.d.ts +21 -0
  249. package/dist/src/event/types.js +2 -0
  250. package/dist/src/event/types.js.map +1 -0
  251. package/dist/src/event/utils.d.ts +4 -0
  252. package/dist/src/event/utils.js +33 -0
  253. package/dist/src/event/utils.js.map +1 -0
  254. package/dist/src/event/webhook.d.ts +3 -0
  255. package/dist/src/event/webhook.js +34 -0
  256. package/dist/src/event/webhook.js.map +1 -0
  257. package/dist/src/index.d.ts +35 -0
  258. package/dist/src/index.js +161 -0
  259. package/dist/src/index.js.map +1 -0
  260. package/dist/src/loadConnection.d.ts +4 -0
  261. package/dist/src/loadConnection.js +38 -0
  262. package/dist/src/loadConnection.js.map +1 -0
  263. package/dist/src/opentelemetry/metrics.d.ts +14 -0
  264. package/dist/src/opentelemetry/metrics.js +64 -0
  265. package/dist/src/opentelemetry/metrics.js.map +1 -0
  266. package/dist/src/saml/claims.d.ts +12 -0
  267. package/dist/src/saml/claims.js +57 -0
  268. package/dist/src/saml/claims.js.map +1 -0
  269. package/dist/src/saml/lib.d.ts +8 -0
  270. package/dist/src/saml/lib.js +29 -0
  271. package/dist/src/saml/lib.js.map +1 -0
  272. package/dist/src/saml/x509.d.ts +9 -0
  273. package/dist/src/saml/x509.js +93 -0
  274. package/dist/src/saml/x509.js.map +1 -0
  275. package/dist/src/sso-traces/index.d.ts +114 -0
  276. package/dist/src/sso-traces/index.js +229 -0
  277. package/dist/src/sso-traces/index.js.map +1 -0
  278. package/dist/src/sso-traces/types.d.ts +44 -0
  279. package/dist/src/sso-traces/types.js +2 -0
  280. package/dist/src/sso-traces/types.js.map +1 -0
  281. package/dist/src/typings.d.ts +540 -0
  282. package/dist/src/typings.js +5 -0
  283. package/dist/src/typings.js.map +1 -0
  284. package/dist/typeorm.d.ts +3 -0
  285. package/dist/typeorm.js +58 -0
  286. package/dist/typeorm.js.map +1 -0
  287. package/dist/typings.d.ts +1 -1
  288. package/package.json +7 -7
@@ -0,0 +1,318 @@
1
+ /*eslint no-constant-condition: ["error", { "checkLoops": false }]*/
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ require('reflect-metadata');
12
+ import { DataSource, In, IsNull } from 'typeorm';
13
+ import * as dbutils from '../utils';
14
+ import * as mssql from './mssql';
15
+ class Sql {
16
+ constructor(options) {
17
+ this.options = options;
18
+ }
19
+ init(_a) {
20
+ return __awaiter(this, arguments, void 0, function* ({ JacksonStore, JacksonIndex, JacksonTTL }) {
21
+ var _b;
22
+ const sqlType = this.options.engine === 'planetscale' ? 'mysql' : this.options.type;
23
+ // Synchronize by default for non-planetscale engines only if migrations are not set to run
24
+ let synchronize = !this.options.manualMigration;
25
+ if (this.options.engine === 'planetscale') {
26
+ synchronize = false;
27
+ }
28
+ while (true) {
29
+ try {
30
+ const baseOpts = {
31
+ type: sqlType,
32
+ synchronize,
33
+ logging: ['error'],
34
+ entities: [JacksonStore, JacksonIndex, JacksonTTL],
35
+ };
36
+ if (sqlType === 'mssql') {
37
+ const mssqlOpts = mssql.parseURL(this.options.url);
38
+ this.dataSource = new DataSource(Object.assign({ host: mssqlOpts.host, port: mssqlOpts.port, database: mssqlOpts.database, username: mssqlOpts.username, password: mssqlOpts.password, options: mssqlOpts.options }, baseOpts));
39
+ }
40
+ else if (sqlType === 'sqlite') {
41
+ this.dataSource = new DataSource(Object.assign(Object.assign({ database: this.options.url, driver: require('@libsql/sqlite3') }, (((_b = this.options.url) === null || _b === void 0 ? void 0 : _b.startsWith('libsql'))
42
+ ? {
43
+ flags: 0x00000040, // this is required to make turso work in TypeORM
44
+ }
45
+ : {})), baseOpts));
46
+ }
47
+ else {
48
+ this.dataSource = new DataSource(Object.assign({ url: this.options.url, ssl: this.options.ssl }, baseOpts));
49
+ }
50
+ yield this.dataSource.initialize();
51
+ break;
52
+ }
53
+ catch (err) {
54
+ console.error(`error connecting to engine: ${this.options.engine}, type: ${sqlType} db: ${err}`);
55
+ yield dbutils.sleep(1000);
56
+ continue;
57
+ }
58
+ }
59
+ this.JacksonStore = JacksonStore;
60
+ this.JacksonIndex = JacksonIndex;
61
+ this.JacksonTTL = JacksonTTL;
62
+ this.storeRepository = this.dataSource.getRepository(JacksonStore);
63
+ this.indexRepository = this.dataSource.getRepository(JacksonIndex);
64
+ this.ttlRepository = this.dataSource.getRepository(JacksonTTL);
65
+ while (true) {
66
+ try {
67
+ if (synchronize) {
68
+ yield this.indexNamespace();
69
+ }
70
+ break;
71
+ }
72
+ catch (err) {
73
+ console.error(`error in index namespace execution for engine: ${this.options.engine}, type: ${sqlType} err: ${err}`);
74
+ yield dbutils.sleep(1000);
75
+ continue;
76
+ }
77
+ }
78
+ if (this.options.ttl && this.options.cleanupLimit) {
79
+ this.ttlCleanup = () => __awaiter(this, void 0, void 0, function* () {
80
+ const now = Date.now();
81
+ while (true) {
82
+ const ids = yield this.ttlRepository
83
+ .createQueryBuilder('jackson_ttl')
84
+ .limit(this.options.cleanupLimit)
85
+ .where('jackson_ttl.expiresAt <= :expiresAt', {
86
+ expiresAt: now,
87
+ })
88
+ .getMany();
89
+ if (ids.length <= 0) {
90
+ break;
91
+ }
92
+ const delIds = ids.map((id) => {
93
+ return id.key;
94
+ });
95
+ yield this.storeRepository.remove(ids);
96
+ yield this.ttlRepository.delete(delIds);
97
+ }
98
+ this.timerId = setTimeout(this.ttlCleanup, this.options.ttl * 1000);
99
+ });
100
+ this.timerId = setTimeout(this.ttlCleanup, this.options.ttl * 1000);
101
+ }
102
+ else {
103
+ console.warn(`Warning: ttl cleanup not enabled in ${sqlType} with engine ${this.options.engine}, set both "ttl" and "cleanupLimit" options to enable it!`);
104
+ }
105
+ return this;
106
+ });
107
+ }
108
+ indexNamespace() {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ try {
111
+ const take = 1000;
112
+ while (true) {
113
+ const res = yield this.storeRepository.find({
114
+ where: {
115
+ namespace: IsNull(),
116
+ },
117
+ select: ['key'],
118
+ take,
119
+ });
120
+ const searchTerm = ':';
121
+ if (res.length === 0) {
122
+ break;
123
+ }
124
+ for (const r of res) {
125
+ const key = r.key;
126
+ const lastIndex = r.key.lastIndexOf(searchTerm);
127
+ yield this.storeRepository.update({ key }, { namespace: r.key.substring(0, lastIndex) });
128
+ }
129
+ }
130
+ }
131
+ catch (err) {
132
+ console.error('Error running indexNamespace:', err);
133
+ }
134
+ });
135
+ }
136
+ get(namespace, key) {
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ const res = yield this.storeRepository.findOneBy({
139
+ key: dbutils.key(namespace, key),
140
+ });
141
+ if (res && res.value) {
142
+ return {
143
+ value: res.value,
144
+ iv: res.iv,
145
+ tag: res.tag,
146
+ };
147
+ }
148
+ return null;
149
+ });
150
+ }
151
+ getAll(namespace, pageOffset, pageLimit, _, sortOrder) {
152
+ return __awaiter(this, void 0, void 0, function* () {
153
+ const { offset: skip, limit: take } = dbutils.normalizeOffsetAndLimit({
154
+ pageOffset,
155
+ pageLimit,
156
+ maxLimit: this.options.pageLimit,
157
+ });
158
+ const res = yield this.storeRepository.find({
159
+ where: { namespace: namespace },
160
+ select: ['value', 'iv', 'tag'],
161
+ order: {
162
+ ['createdAt']: sortOrder || 'DESC',
163
+ },
164
+ take,
165
+ skip,
166
+ });
167
+ return { data: res || [] };
168
+ });
169
+ }
170
+ getByIndex(namespace, idx, pageOffset, pageLimit, _, sortOrder) {
171
+ return __awaiter(this, void 0, void 0, function* () {
172
+ const { offset: skip, limit: take } = dbutils.normalizeOffsetAndLimit({
173
+ pageOffset,
174
+ pageLimit,
175
+ maxLimit: this.options.pageLimit,
176
+ });
177
+ const sort = {
178
+ id: sortOrder || 'DESC',
179
+ };
180
+ const res = yield this.indexRepository.find({
181
+ where: { key: dbutils.keyForIndex(namespace, idx) },
182
+ take,
183
+ skip,
184
+ order: sort,
185
+ });
186
+ const ret = [];
187
+ if (res) {
188
+ for (const r of res) {
189
+ let value = r.store;
190
+ if (this.options.engine === 'planetscale') {
191
+ value = yield this.storeRepository.findOneBy({
192
+ key: r.storeKey,
193
+ });
194
+ }
195
+ ret.push({
196
+ value: value.value,
197
+ iv: value.iv,
198
+ tag: value.tag,
199
+ });
200
+ }
201
+ }
202
+ return { data: ret };
203
+ });
204
+ }
205
+ getCount(namespace, idx) {
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ const count = idx !== undefined
208
+ ? yield this.indexRepository.count({ where: { key: dbutils.keyForIndex(namespace, idx) } })
209
+ : yield this.storeRepository.count({
210
+ where: {
211
+ namespace,
212
+ },
213
+ });
214
+ return count;
215
+ });
216
+ }
217
+ put(namespace_1, key_1, val_1) {
218
+ return __awaiter(this, arguments, void 0, function* (namespace, key, val, ttl = 0, ...indexes) {
219
+ yield this.dataSource.transaction((transactionalEntityManager) => __awaiter(this, void 0, void 0, function* () {
220
+ const dbKey = dbutils.key(namespace, key);
221
+ const store = new this.JacksonStore();
222
+ store.key = dbKey;
223
+ store.value = val.value;
224
+ store.iv = val.iv;
225
+ store.tag = val.tag;
226
+ store.modifiedAt = new Date().toISOString();
227
+ store.namespace = namespace;
228
+ yield transactionalEntityManager.save(store);
229
+ if (ttl) {
230
+ const ttlRec = new this.JacksonTTL();
231
+ ttlRec.key = dbKey;
232
+ ttlRec.expiresAt = Date.now() + ttl * 1000;
233
+ yield transactionalEntityManager.save(ttlRec);
234
+ }
235
+ // no ttl support for secondary indexes
236
+ for (const idx of indexes || []) {
237
+ const key = dbutils.keyForIndex(namespace, idx);
238
+ const rec = yield transactionalEntityManager.findOneBy(this.JacksonIndex, {
239
+ key,
240
+ storeKey: store.key,
241
+ });
242
+ if (!rec) {
243
+ const ji = new this.JacksonIndex();
244
+ ji.key = key;
245
+ if (this.options.engine === 'planetscale') {
246
+ ji.storeKey = store.key;
247
+ }
248
+ else {
249
+ ji.store = store;
250
+ }
251
+ yield transactionalEntityManager.save(ji);
252
+ }
253
+ }
254
+ }));
255
+ });
256
+ }
257
+ delete(namespace, key) {
258
+ return __awaiter(this, void 0, void 0, function* () {
259
+ const dbKey = dbutils.key(namespace, key);
260
+ yield this.ttlRepository.remove({ key: dbKey });
261
+ if (this.options.engine === 'planetscale') {
262
+ const response = yield this.indexRepository.find({
263
+ where: { storeKey: dbKey },
264
+ select: ['id'],
265
+ });
266
+ const returnValue = response || [];
267
+ for (const r of returnValue) {
268
+ yield this.indexRepository.remove({
269
+ id: r.id,
270
+ });
271
+ }
272
+ }
273
+ return yield this.storeRepository.remove({
274
+ key: dbKey,
275
+ });
276
+ });
277
+ }
278
+ deleteMany(namespace, keys) {
279
+ return __awaiter(this, void 0, void 0, function* () {
280
+ if (keys.length === 0) {
281
+ return;
282
+ }
283
+ const dbKeys = keys.map((key) => dbutils.key(namespace, key));
284
+ const queryRunner = this.dataSource.createQueryRunner();
285
+ yield queryRunner.connect();
286
+ yield queryRunner.startTransaction();
287
+ try {
288
+ yield queryRunner.manager.delete(this.JacksonTTL, dbKeys);
289
+ if (this.options.engine === 'planetscale') {
290
+ const records = (yield queryRunner.manager.find(this.JacksonIndex, {
291
+ where: { storeKey: In(dbKeys) },
292
+ }));
293
+ yield queryRunner.manager.delete(this.JacksonIndex, records.map((record) => record.id));
294
+ }
295
+ yield queryRunner.manager.delete(this.JacksonStore, dbKeys);
296
+ yield queryRunner.commitTransaction();
297
+ }
298
+ catch (err) {
299
+ yield queryRunner.rollbackTransaction();
300
+ throw err;
301
+ }
302
+ finally {
303
+ yield queryRunner.release();
304
+ }
305
+ });
306
+ }
307
+ close() {
308
+ return __awaiter(this, void 0, void 0, function* () {
309
+ yield this.dataSource.destroy();
310
+ });
311
+ }
312
+ }
313
+ export default {
314
+ new: (options, entities) => __awaiter(void 0, void 0, void 0, function* () {
315
+ return yield new Sql(options).init(entities);
316
+ }),
317
+ };
318
+ //# sourceMappingURL=sql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../src/db/sql/sql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { JacksonStore } from './JacksonStore';
2
+ export declare class JacksonIndex {
3
+ id: number;
4
+ key: string;
5
+ storeKey: string;
6
+ store?: JacksonStore;
7
+ }
@@ -0,0 +1,39 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { JacksonStore } from './JacksonStore';
8
+ import { Entity, PrimaryGeneratedColumn, Column, Index, ManyToOne } from 'typeorm';
9
+ let JacksonIndex = class JacksonIndex {
10
+ };
11
+ __decorate([
12
+ PrimaryGeneratedColumn()
13
+ ], JacksonIndex.prototype, "id", void 0);
14
+ __decorate([
15
+ Index('_jackson_index_key'),
16
+ Column({
17
+ type: 'varchar',
18
+ length: 250,
19
+ })
20
+ ], JacksonIndex.prototype, "key", void 0);
21
+ __decorate([
22
+ Column({
23
+ type: 'varchar',
24
+ length: 250,
25
+ })
26
+ ], JacksonIndex.prototype, "storeKey", void 0);
27
+ __decorate([
28
+ ManyToOne(() => JacksonStore, undefined, {
29
+ //inverseSide: 'in',
30
+ eager: true,
31
+ onDelete: 'CASCADE',
32
+ })
33
+ ], JacksonIndex.prototype, "store", void 0);
34
+ JacksonIndex = __decorate([
35
+ Index('_jackson_index_key_store', ['key', 'storeKey']),
36
+ Entity({ name: 'jackson_index' })
37
+ ], JacksonIndex);
38
+ export { JacksonIndex };
39
+ //# sourceMappingURL=JacksonIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JacksonIndex.js","sourceRoot":"","sources":["../../../../../../src/db/sql/sqlite/entity/JacksonIndex.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI5E,IAAM,YAAY,GAAlB,MAAM,YAAY;CAuBxB,CAAA;AArBC;IADC,sBAAsB,EAAE;wCACb;AAOZ;IALC,KAAK,CAAC,oBAAoB,CAAC;IAC3B,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;KACZ,CAAC;yCACW;AAMb;IAJC,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;KACZ,CAAC;8CACgB;AAOlB;IALC,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE;QACxC,oBAAoB;QACpB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,SAAS;KACpB,CAAC;2CACmB;AAtBV,YAAY;IAFxB,KAAK,CAAC,0BAA0B,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;GACrB,YAAY,CAuBxB"}
@@ -0,0 +1,9 @@
1
+ export declare class JacksonStore {
2
+ key: string;
3
+ value: string;
4
+ iv?: string;
5
+ tag?: string;
6
+ createdAt?: Date;
7
+ modifiedAt?: string;
8
+ namespace?: string;
9
+ }
@@ -0,0 +1,61 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Entity, Column, Index } from 'typeorm';
8
+ let JacksonStore = class JacksonStore {
9
+ };
10
+ __decorate([
11
+ Column({
12
+ primary: true,
13
+ type: 'varchar',
14
+ length: 1500,
15
+ })
16
+ ], JacksonStore.prototype, "key", void 0);
17
+ __decorate([
18
+ Column({
19
+ type: 'text',
20
+ })
21
+ ], JacksonStore.prototype, "value", void 0);
22
+ __decorate([
23
+ Column({
24
+ type: 'varchar',
25
+ length: 64,
26
+ nullable: true,
27
+ })
28
+ ], JacksonStore.prototype, "iv", void 0);
29
+ __decorate([
30
+ Column({
31
+ type: 'varchar',
32
+ length: 64,
33
+ nullable: true,
34
+ })
35
+ ], JacksonStore.prototype, "tag", void 0);
36
+ __decorate([
37
+ Column({
38
+ type: 'datetime',
39
+ default: () => "(STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))",
40
+ nullable: false,
41
+ })
42
+ ], JacksonStore.prototype, "createdAt", void 0);
43
+ __decorate([
44
+ Column({
45
+ type: 'datetime',
46
+ nullable: true,
47
+ })
48
+ ], JacksonStore.prototype, "modifiedAt", void 0);
49
+ __decorate([
50
+ Index('_jackson_store_namespace'),
51
+ Column({
52
+ type: 'varchar',
53
+ length: 256,
54
+ nullable: true,
55
+ })
56
+ ], JacksonStore.prototype, "namespace", void 0);
57
+ JacksonStore = __decorate([
58
+ Entity({ name: 'jackson_store' })
59
+ ], JacksonStore);
60
+ export { JacksonStore };
61
+ //# sourceMappingURL=JacksonStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JacksonStore.js","sourceRoot":"","sources":["../../../../../../src/db/sql/sqlite/entity/JacksonStore.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGzC,IAAM,YAAY,GAAlB,MAAM,YAAY;CA+CxB,CAAA;AAzCC;IALC,MAAM,CAAC;QACN,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,IAAI;KACb,CAAC;yCACW;AAKb;IAHC,MAAM,CAAC;QACN,IAAI,EAAE,MAAM;KACb,CAAC;2CACa;AAOf;IALC,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;wCACU;AAOZ;IALC,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;KACf,CAAC;yCACW;AAOb;IALC,MAAM,CAAC;QACN,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,GAAG,EAAE,CAAC,wCAAwC;QACvD,QAAQ,EAAE,KAAK;KAChB,CAAC;+CACe;AAMjB;IAJC,MAAM,CAAC;QACN,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC;gDACkB;AAQpB;IANC,KAAK,CAAC,0BAA0B,CAAC;IACjC,MAAM,CAAC;QACN,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,IAAI;KACf,CAAC;+CACiB;AA9CR,YAAY;IADxB,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;GACrB,YAAY,CA+CxB"}
@@ -0,0 +1,4 @@
1
+ export declare class JacksonTTL {
2
+ key: string;
3
+ expiresAt: number;
4
+ }
@@ -0,0 +1,27 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Entity, Column, Index } from 'typeorm';
8
+ let JacksonTTL = class JacksonTTL {
9
+ };
10
+ __decorate([
11
+ Column({
12
+ primary: true,
13
+ type: 'varchar',
14
+ length: 250,
15
+ })
16
+ ], JacksonTTL.prototype, "key", void 0);
17
+ __decorate([
18
+ Index('_jackson_ttl_expires_at'),
19
+ Column({
20
+ type: 'bigint',
21
+ })
22
+ ], JacksonTTL.prototype, "expiresAt", void 0);
23
+ JacksonTTL = __decorate([
24
+ Entity({ name: 'jackson_ttl' })
25
+ ], JacksonTTL);
26
+ export { JacksonTTL };
27
+ //# sourceMappingURL=JacksonTTL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JacksonTTL.js","sourceRoot":"","sources":["../../../../../../src/db/sql/sqlite/entity/JacksonTTL.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGzC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAatB,CAAA;AAPC;IALC,MAAM,CAAC;QACN,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;KACZ,CAAC;uCACW;AAMb;IAJC,KAAK,CAAC,yBAAyB,CAAC;IAChC,MAAM,CAAC;QACN,IAAI,EAAE,QAAQ;KACf,CAAC;6CACiB;AAZR,UAAU;IADtB,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;GACnB,UAAU,CAatB"}
@@ -0,0 +1,5 @@
1
+ import { Storable } from '../typings';
2
+ declare const _default: {
3
+ new: (namespace: string, db: any, ttl?: number) => Storable;
4
+ };
5
+ export default _default;
@@ -0,0 +1,65 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import * as dbutils from './utils';
11
+ class Store {
12
+ constructor(namespace, db, ttl = 0) {
13
+ this.namespace = namespace;
14
+ this.db = db;
15
+ this.ttl = ttl;
16
+ }
17
+ get(key) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ return yield this.db.get(this.namespace, dbutils.keyDigest(key));
20
+ });
21
+ }
22
+ getAll(pageOffset, pageLimit, pageToken, sortOrder) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return yield this.db.getAll(this.namespace, pageOffset, pageLimit, pageToken, sortOrder);
25
+ });
26
+ }
27
+ getByIndex(idx, pageOffset, pageLimit, pageToken, sortOrder) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ idx.value = dbutils.keyDigest(idx.value);
30
+ return yield this.db.getByIndex(this.namespace, idx, pageOffset, pageLimit, pageToken, sortOrder);
31
+ });
32
+ }
33
+ getCount(idx) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
36
+ idx && (idx.value = dbutils.keyDigest(idx.value));
37
+ return yield this.db.getCount(this.namespace, idx);
38
+ });
39
+ }
40
+ put(key, val, ...indexes) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ indexes = (indexes || []).map((idx) => {
43
+ idx.value = dbutils.keyDigest(idx.value);
44
+ return idx;
45
+ });
46
+ return yield this.db.put(this.namespace, dbutils.keyDigest(key), val, this.ttl, ...indexes);
47
+ });
48
+ }
49
+ delete(key) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ return yield this.db.delete(this.namespace, dbutils.keyDigest(key));
52
+ });
53
+ }
54
+ deleteMany(keys) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ return yield this.db.deleteMany(this.namespace, keys.map((key) => dbutils.keyDigest(key)));
57
+ });
58
+ }
59
+ }
60
+ export default {
61
+ new: (namespace, db, ttl = 0) => {
62
+ return new Store(namespace, db, ttl);
63
+ },
64
+ };
65
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/db/store.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,KAAK;IAKT,YAAY,SAAiB,EAAE,EAAO,EAAE,GAAG,GAAG,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEK,GAAG,CAAC,GAAW;;YACnB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;KAAA;IAEK,MAAM,CACV,UAAmB,EACnB,SAAkB,EAClB,SAAkB,EAClB,SAAqB;;YAErB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3F,CAAC;KAAA;IAEK,UAAU,CACd,GAAU,EACV,UAAmB,EACnB,SAAkB,EAClB,SAAkB,EAClB,SAAqB;;YAErB,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEzC,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACpG,CAAC;KAAA;IAEK,QAAQ,CAAC,GAAW;;YACxB,oEAAoE;YACpE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;KAAA;IAEK,GAAG,CAAC,GAAW,EAAE,GAAQ,EAAE,GAAG,OAAgB;;YAClD,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QAC9F,CAAC;KAAA;IAEK,MAAM,CAAC,GAAW;;YACtB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,UAAU,CAAC,IAAc;;YAC7B,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAC7B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAC1C,CAAC;QACJ,CAAC;KAAA;CACF;AAED,eAAe;IACb,GAAG,EAAE,CAAC,SAAiB,EAAE,EAAO,EAAE,GAAG,GAAG,CAAC,EAAY,EAAE;QACrD,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;CACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Index } from '../typings';
2
+ export declare const key: (namespace: string, k: string) => string;
3
+ export declare const keyForIndex: (namespace: string, idx: Index) => string;
4
+ export declare const keyDigest: (k: string) => string;
5
+ export declare const keyFromParts: (...parts: string[]) => string;
6
+ export declare const sleep: (ms: number) => Promise<void>;
7
+ export declare const normalizeOffsetAndLimit: ({ pageLimit, pageOffset, maxLimit, }: {
8
+ pageOffset?: number;
9
+ pageLimit?: number;
10
+ maxLimit: number;
11
+ }) => {
12
+ offset: number;
13
+ limit: number;
14
+ };
15
+ export declare const indexPrefix = "_index";
16
+ export declare const createdAtPrefix = "_createdAt";
@@ -0,0 +1,28 @@
1
+ import Ripemd160 from 'ripemd160';
2
+ export const key = (namespace, k) => {
3
+ return namespace + ':' + k;
4
+ };
5
+ export const keyForIndex = (namespace, idx) => {
6
+ return key(key(namespace, idx.name), idx.value);
7
+ };
8
+ export const keyDigest = (k) => {
9
+ return new Ripemd160().update(k).digest('hex');
10
+ };
11
+ export const keyFromParts = (...parts) => {
12
+ return parts.join(':');
13
+ };
14
+ export const sleep = (ms) => {
15
+ return new Promise((resolve) => setTimeout(resolve, ms));
16
+ };
17
+ function isNumeric(num) {
18
+ return !isNaN(num);
19
+ }
20
+ export const normalizeOffsetAndLimit = ({ pageLimit, pageOffset, maxLimit, }) => {
21
+ const skipOffset = pageOffset === undefined || !isNumeric(pageOffset);
22
+ // maxLimit capped to 50 by default unless set from env (db.options.pageLimit)
23
+ const capToMaxLimit = pageLimit === undefined || pageLimit === 0 || !isNumeric(pageLimit) || pageLimit > maxLimit;
24
+ return { offset: skipOffset ? 0 : pageOffset, limit: capToMaxLimit ? maxLimit : pageLimit };
25
+ };
26
+ export const indexPrefix = '_index';
27
+ export const createdAtPrefix = '_createdAt';
28
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/db/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAGlC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,SAAiB,EAAE,CAAS,EAAU,EAAE;IAC1D,OAAO,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,GAAU,EAAU,EAAE;IACnE,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE;IAC7C,OAAO,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,KAAe,EAAU,EAAE;IACzD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC;AACF,SAAS,SAAS,CAAC,GAAG;IACpB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AACD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,SAAS,EACT,UAAU,EACV,QAAQ,GAKT,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,UAAU,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtE,8EAA8E;IAC9E,MAAM,aAAa,GACjB,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,QAAQ,CAAC;IAE9F,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9F,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC"}