@budibase/backend-core 2.9.19 → 2.9.21-alpha.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 (250) hide show
  1. package/dist/index.js +266 -324
  2. package/dist/index.js.map +4 -4
  3. package/dist/index.js.meta.json +1 -1
  4. package/dist/package.json +19 -4
  5. package/dist/plugins.js +1 -1
  6. package/dist/plugins.js.map +1 -1
  7. package/dist/plugins.js.meta.json +1 -1
  8. package/dist/src/security/permissions.d.ts +1 -1
  9. package/dist/tests.js +222 -260
  10. package/dist/tests.js.map +4 -4
  11. package/dist/tests.js.meta.json +1 -1
  12. package/package.json +19 -4
  13. package/dist/tsconfig.build.tsbuildinfo +0 -1
  14. package/src/accounts/accounts.ts +0 -82
  15. package/src/accounts/api.ts +0 -59
  16. package/src/accounts/index.ts +0 -1
  17. package/src/auth/auth.ts +0 -208
  18. package/src/auth/index.ts +0 -1
  19. package/src/auth/tests/auth.spec.ts +0 -14
  20. package/src/blacklist/blacklist.ts +0 -54
  21. package/src/blacklist/index.ts +0 -1
  22. package/src/blacklist/tests/blacklist.spec.ts +0 -46
  23. package/src/cache/appMetadata.ts +0 -88
  24. package/src/cache/base/index.ts +0 -92
  25. package/src/cache/generic.ts +0 -30
  26. package/src/cache/index.ts +0 -5
  27. package/src/cache/tests/writethrough.spec.ts +0 -138
  28. package/src/cache/user.ts +0 -69
  29. package/src/cache/writethrough.ts +0 -133
  30. package/src/configs/configs.ts +0 -257
  31. package/src/configs/index.ts +0 -1
  32. package/src/configs/tests/configs.spec.ts +0 -184
  33. package/src/constants/db.ts +0 -63
  34. package/src/constants/index.ts +0 -2
  35. package/src/constants/misc.ts +0 -50
  36. package/src/context/Context.ts +0 -14
  37. package/src/context/identity.ts +0 -58
  38. package/src/context/index.ts +0 -3
  39. package/src/context/mainContext.ts +0 -310
  40. package/src/context/tests/index.spec.ts +0 -147
  41. package/src/context/types.ts +0 -11
  42. package/src/db/Replication.ts +0 -84
  43. package/src/db/constants.ts +0 -10
  44. package/src/db/couch/DatabaseImpl.ts +0 -238
  45. package/src/db/couch/connections.ts +0 -77
  46. package/src/db/couch/index.ts +0 -5
  47. package/src/db/couch/pouchDB.ts +0 -97
  48. package/src/db/couch/pouchDump.ts +0 -0
  49. package/src/db/couch/utils.ts +0 -50
  50. package/src/db/db.ts +0 -39
  51. package/src/db/errors.ts +0 -14
  52. package/src/db/index.ts +0 -12
  53. package/src/db/lucene.ts +0 -732
  54. package/src/db/searchIndexes/index.ts +0 -1
  55. package/src/db/searchIndexes/searchIndexes.ts +0 -62
  56. package/src/db/tests/index.spec.js +0 -25
  57. package/src/db/tests/lucene.spec.ts +0 -298
  58. package/src/db/tests/pouch.spec.js +0 -62
  59. package/src/db/tests/utils.spec.ts +0 -63
  60. package/src/db/utils.ts +0 -207
  61. package/src/db/views.ts +0 -241
  62. package/src/docIds/conversions.ts +0 -59
  63. package/src/docIds/ids.ts +0 -113
  64. package/src/docIds/index.ts +0 -2
  65. package/src/docIds/newid.ts +0 -5
  66. package/src/docIds/params.ts +0 -174
  67. package/src/docUpdates/index.ts +0 -29
  68. package/src/environment.ts +0 -201
  69. package/src/errors/errors.ts +0 -119
  70. package/src/errors/index.ts +0 -1
  71. package/src/events/analytics.ts +0 -6
  72. package/src/events/asyncEvents/index.ts +0 -2
  73. package/src/events/asyncEvents/publisher.ts +0 -12
  74. package/src/events/asyncEvents/queue.ts +0 -22
  75. package/src/events/backfill.ts +0 -183
  76. package/src/events/documentId.ts +0 -56
  77. package/src/events/events.ts +0 -40
  78. package/src/events/identification.ts +0 -310
  79. package/src/events/index.ts +0 -14
  80. package/src/events/processors/AnalyticsProcessor.ts +0 -64
  81. package/src/events/processors/AuditLogsProcessor.ts +0 -93
  82. package/src/events/processors/LoggingProcessor.ts +0 -37
  83. package/src/events/processors/Processors.ts +0 -52
  84. package/src/events/processors/async/DocumentUpdateProcessor.ts +0 -43
  85. package/src/events/processors/index.ts +0 -19
  86. package/src/events/processors/posthog/PosthogProcessor.ts +0 -118
  87. package/src/events/processors/posthog/index.ts +0 -2
  88. package/src/events/processors/posthog/rateLimiting.ts +0 -106
  89. package/src/events/processors/posthog/tests/PosthogProcessor.spec.ts +0 -168
  90. package/src/events/processors/types.ts +0 -1
  91. package/src/events/publishers/account.ts +0 -35
  92. package/src/events/publishers/app.ts +0 -155
  93. package/src/events/publishers/auditLog.ts +0 -26
  94. package/src/events/publishers/auth.ts +0 -73
  95. package/src/events/publishers/automation.ts +0 -110
  96. package/src/events/publishers/backfill.ts +0 -74
  97. package/src/events/publishers/backup.ts +0 -42
  98. package/src/events/publishers/datasource.ts +0 -48
  99. package/src/events/publishers/email.ts +0 -17
  100. package/src/events/publishers/environmentVariable.ts +0 -38
  101. package/src/events/publishers/group.ts +0 -99
  102. package/src/events/publishers/index.ts +0 -24
  103. package/src/events/publishers/installation.ts +0 -38
  104. package/src/events/publishers/layout.ts +0 -26
  105. package/src/events/publishers/license.ts +0 -84
  106. package/src/events/publishers/org.ts +0 -37
  107. package/src/events/publishers/plugin.ts +0 -47
  108. package/src/events/publishers/query.ts +0 -88
  109. package/src/events/publishers/role.ts +0 -62
  110. package/src/events/publishers/rows.ts +0 -29
  111. package/src/events/publishers/screen.ts +0 -36
  112. package/src/events/publishers/serve.ts +0 -43
  113. package/src/events/publishers/table.ts +0 -70
  114. package/src/events/publishers/user.ts +0 -202
  115. package/src/events/publishers/view.ts +0 -107
  116. package/src/featureFlags/index.ts +0 -77
  117. package/src/featureFlags/tests/featureFlags.spec.ts +0 -85
  118. package/src/helpers.ts +0 -9
  119. package/src/index.ts +0 -53
  120. package/src/installation.ts +0 -107
  121. package/src/logging/alerts.ts +0 -26
  122. package/src/logging/correlation/correlation.ts +0 -13
  123. package/src/logging/correlation/index.ts +0 -1
  124. package/src/logging/correlation/middleware.ts +0 -17
  125. package/src/logging/index.ts +0 -4
  126. package/src/logging/pino/logger.ts +0 -232
  127. package/src/logging/pino/middleware.ts +0 -45
  128. package/src/logging/system.ts +0 -81
  129. package/src/logging/tests/system.spec.ts +0 -61
  130. package/src/middleware/adminOnly.ts +0 -9
  131. package/src/middleware/auditLog.ts +0 -6
  132. package/src/middleware/authenticated.ts +0 -193
  133. package/src/middleware/builderOnly.ts +0 -20
  134. package/src/middleware/builderOrAdmin.ts +0 -20
  135. package/src/middleware/csrf.ts +0 -81
  136. package/src/middleware/errorHandling.ts +0 -29
  137. package/src/middleware/index.ts +0 -21
  138. package/src/middleware/internalApi.ts +0 -23
  139. package/src/middleware/joi-validator.ts +0 -45
  140. package/src/middleware/matchers.ts +0 -47
  141. package/src/middleware/passport/datasource/google.ts +0 -95
  142. package/src/middleware/passport/local.ts +0 -54
  143. package/src/middleware/passport/sso/google.ts +0 -77
  144. package/src/middleware/passport/sso/oidc.ts +0 -154
  145. package/src/middleware/passport/sso/sso.ts +0 -165
  146. package/src/middleware/passport/sso/tests/google.spec.ts +0 -67
  147. package/src/middleware/passport/sso/tests/oidc.spec.ts +0 -152
  148. package/src/middleware/passport/sso/tests/sso.spec.ts +0 -197
  149. package/src/middleware/passport/utils.ts +0 -38
  150. package/src/middleware/querystringToBody.ts +0 -28
  151. package/src/middleware/tenancy.ts +0 -36
  152. package/src/middleware/tests/builder.spec.ts +0 -180
  153. package/src/middleware/tests/matchers.spec.ts +0 -134
  154. package/src/migrations/definitions.ts +0 -40
  155. package/src/migrations/index.ts +0 -2
  156. package/src/migrations/migrations.ts +0 -191
  157. package/src/migrations/tests/__snapshots__/migrations.spec.ts.snap +0 -11
  158. package/src/migrations/tests/migrations.spec.ts +0 -64
  159. package/src/objectStore/buckets/app.ts +0 -40
  160. package/src/objectStore/buckets/global.ts +0 -29
  161. package/src/objectStore/buckets/index.ts +0 -3
  162. package/src/objectStore/buckets/plugins.ts +0 -71
  163. package/src/objectStore/buckets/tests/app.spec.ts +0 -171
  164. package/src/objectStore/buckets/tests/global.spec.ts +0 -74
  165. package/src/objectStore/buckets/tests/plugins.spec.ts +0 -111
  166. package/src/objectStore/cloudfront.ts +0 -41
  167. package/src/objectStore/index.ts +0 -3
  168. package/src/objectStore/objectStore.ts +0 -440
  169. package/src/objectStore/utils.ts +0 -27
  170. package/src/platform/index.ts +0 -3
  171. package/src/platform/platformDb.ts +0 -6
  172. package/src/platform/tenants.ts +0 -101
  173. package/src/platform/tests/tenants.spec.ts +0 -26
  174. package/src/platform/users.ts +0 -90
  175. package/src/plugin/index.ts +0 -1
  176. package/src/plugin/tests/validation.spec.ts +0 -83
  177. package/src/plugin/utils.ts +0 -156
  178. package/src/queue/constants.ts +0 -6
  179. package/src/queue/inMemoryQueue.ts +0 -141
  180. package/src/queue/index.ts +0 -2
  181. package/src/queue/listeners.ts +0 -195
  182. package/src/queue/queue.ts +0 -54
  183. package/src/redis/index.ts +0 -6
  184. package/src/redis/init.ts +0 -86
  185. package/src/redis/redis.ts +0 -308
  186. package/src/redis/redlockImpl.ts +0 -139
  187. package/src/redis/utils.ts +0 -117
  188. package/src/security/encryption.ts +0 -179
  189. package/src/security/permissions.ts +0 -159
  190. package/src/security/roles.ts +0 -420
  191. package/src/security/sessions.ts +0 -120
  192. package/src/security/tests/encryption.spec.ts +0 -31
  193. package/src/security/tests/permissions.spec.ts +0 -145
  194. package/src/security/tests/sessions.spec.ts +0 -12
  195. package/src/tenancy/db.ts +0 -6
  196. package/src/tenancy/index.ts +0 -2
  197. package/src/tenancy/tenancy.ts +0 -140
  198. package/src/tenancy/tests/tenancy.spec.ts +0 -184
  199. package/src/timers/index.ts +0 -1
  200. package/src/timers/timers.ts +0 -22
  201. package/src/users/db.ts +0 -460
  202. package/src/users/events.ts +0 -176
  203. package/src/users/index.ts +0 -4
  204. package/src/users/lookup.ts +0 -102
  205. package/src/users/users.ts +0 -276
  206. package/src/users/utils.ts +0 -55
  207. package/src/utils/hashing.ts +0 -14
  208. package/src/utils/index.ts +0 -3
  209. package/src/utils/stringUtils.ts +0 -8
  210. package/src/utils/tests/utils.spec.ts +0 -191
  211. package/src/utils/utils.ts +0 -239
  212. package/tests/core/logging.ts +0 -34
  213. package/tests/core/utilities/index.ts +0 -6
  214. package/tests/core/utilities/jestUtils.ts +0 -30
  215. package/tests/core/utilities/mocks/alerts.ts +0 -3
  216. package/tests/core/utilities/mocks/date.ts +0 -2
  217. package/tests/core/utilities/mocks/events.ts +0 -131
  218. package/tests/core/utilities/mocks/fetch.ts +0 -17
  219. package/tests/core/utilities/mocks/index.ts +0 -10
  220. package/tests/core/utilities/mocks/licenses.ts +0 -107
  221. package/tests/core/utilities/mocks/posthog.ts +0 -7
  222. package/tests/core/utilities/structures/Chance.ts +0 -20
  223. package/tests/core/utilities/structures/accounts.ts +0 -115
  224. package/tests/core/utilities/structures/apps.ts +0 -21
  225. package/tests/core/utilities/structures/common.ts +0 -7
  226. package/tests/core/utilities/structures/db.ts +0 -12
  227. package/tests/core/utilities/structures/documents/index.ts +0 -1
  228. package/tests/core/utilities/structures/documents/platform/index.ts +0 -1
  229. package/tests/core/utilities/structures/documents/platform/installation.ts +0 -12
  230. package/tests/core/utilities/structures/generator.ts +0 -2
  231. package/tests/core/utilities/structures/index.ts +0 -15
  232. package/tests/core/utilities/structures/koa.ts +0 -16
  233. package/tests/core/utilities/structures/licenses.ts +0 -167
  234. package/tests/core/utilities/structures/plugins.ts +0 -19
  235. package/tests/core/utilities/structures/quotas.ts +0 -67
  236. package/tests/core/utilities/structures/scim.ts +0 -80
  237. package/tests/core/utilities/structures/shared.ts +0 -19
  238. package/tests/core/utilities/structures/sso.ts +0 -119
  239. package/tests/core/utilities/structures/tenants.ts +0 -5
  240. package/tests/core/utilities/structures/userGroups.ts +0 -10
  241. package/tests/core/utilities/structures/users.ts +0 -73
  242. package/tests/core/utilities/testContainerUtils.ts +0 -98
  243. package/tests/core/utilities/utils/index.ts +0 -1
  244. package/tests/core/utilities/utils/time.ts +0 -3
  245. package/tests/extra/DBTestConfiguration.ts +0 -36
  246. package/tests/extra/index.ts +0 -2
  247. package/tests/extra/testEnv.ts +0 -95
  248. package/tests/index.ts +0 -1
  249. package/tests/jestEnv.ts +0 -6
  250. package/tests/jestSetup.ts +0 -28
package/dist/tests.js CHANGED
@@ -29,28 +29,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
29
  mod
30
30
  ));
31
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
- var __accessCheck = (obj, member, msg) => {
33
- if (!member.has(obj))
34
- throw TypeError("Cannot " + msg);
35
- };
36
- var __privateGet = (obj, member, getter) => {
37
- __accessCheck(obj, member, "read from private field");
38
- return getter ? getter.call(obj) : member.get(obj);
39
- };
40
- var __privateAdd = (obj, member, value) => {
41
- if (member.has(obj))
42
- throw TypeError("Cannot add the same private member more than once");
43
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
44
- };
45
- var __privateSet = (obj, member, value, setter) => {
46
- __accessCheck(obj, member, "write to private field");
47
- setter ? setter.call(obj, value) : member.set(obj, value);
48
- return value;
49
- };
50
- var __privateMethod = (obj, member, method) => {
51
- __accessCheck(obj, member, "access private method");
52
- return method;
53
- };
54
32
 
55
33
  // ../types/src/sdk/automations/index.ts
56
34
  var init_automations = __esm({
@@ -671,6 +649,13 @@ var init_permissions = __esm({
671
649
  }
672
650
  });
673
651
 
652
+ // ../types/src/sdk/row.ts
653
+ var init_row = __esm({
654
+ "../types/src/sdk/row.ts"() {
655
+ "use strict";
656
+ }
657
+ });
658
+
674
659
  // ../types/src/sdk/index.ts
675
660
  var init_sdk = __esm({
676
661
  "../types/src/sdk/index.ts"() {
@@ -696,6 +681,7 @@ var init_sdk = __esm({
696
681
  init_cli();
697
682
  init_websocket();
698
683
  init_permissions();
684
+ init_row();
699
685
  }
700
686
  });
701
687
 
@@ -870,7 +856,7 @@ var init_document = __esm({
870
856
  });
871
857
 
872
858
  // ../types/src/documents/app/row.ts
873
- var init_row = __esm({
859
+ var init_row2 = __esm({
874
860
  "../types/src/documents/app/row.ts"() {
875
861
  "use strict";
876
862
  }
@@ -925,7 +911,7 @@ var init_app3 = __esm({
925
911
  init_screen2();
926
912
  init_view2();
927
913
  init_document();
928
- init_row();
914
+ init_row2();
929
915
  init_user4();
930
916
  init_backup2();
931
917
  init_webhook();
@@ -1211,7 +1197,7 @@ var init_datasource3 = __esm({
1211
1197
  });
1212
1198
 
1213
1199
  // ../types/src/api/web/app/row.ts
1214
- var init_row2 = __esm({
1200
+ var init_row3 = __esm({
1215
1201
  "../types/src/api/web/app/row.ts"() {
1216
1202
  "use strict";
1217
1203
  }
@@ -1244,7 +1230,7 @@ var init_app4 = __esm({
1244
1230
  "use strict";
1245
1231
  init_backup3();
1246
1232
  init_datasource3();
1247
- init_row2();
1233
+ init_row3();
1248
1234
  init_view3();
1249
1235
  init_rows2();
1250
1236
  init_table4();
@@ -1337,6 +1323,13 @@ var init_pagination = __esm({
1337
1323
  }
1338
1324
  });
1339
1325
 
1326
+ // ../types/src/api/web/searchFilter.ts
1327
+ var init_searchFilter = __esm({
1328
+ "../types/src/api/web/searchFilter.ts"() {
1329
+ "use strict";
1330
+ }
1331
+ });
1332
+
1340
1333
  // ../types/src/api/web/index.ts
1341
1334
  var init_web = __esm({
1342
1335
  "../types/src/api/web/index.ts"() {
@@ -1351,6 +1344,7 @@ var init_web = __esm({
1351
1344
  init_app4();
1352
1345
  init_global2();
1353
1346
  init_pagination();
1347
+ init_searchFilter();
1354
1348
  }
1355
1349
  });
1356
1350
 
@@ -1659,12 +1653,15 @@ var init_identity = __esm({
1659
1653
  });
1660
1654
 
1661
1655
  // src/context/Context.ts
1662
- var import_async_hooks, _Context, Context;
1656
+ var import_async_hooks, Context;
1663
1657
  var init_Context = __esm({
1664
1658
  "src/context/Context.ts"() {
1665
1659
  "use strict";
1666
1660
  import_async_hooks = require("async_hooks");
1667
- _Context = class _Context {
1661
+ Context = class _Context {
1662
+ static {
1663
+ this.storage = new import_async_hooks.AsyncLocalStorage();
1664
+ }
1668
1665
  static run(context, func) {
1669
1666
  return _Context.storage.run(context, () => func());
1670
1667
  }
@@ -1672,8 +1669,6 @@ var init_Context = __esm({
1672
1669
  return _Context.storage.getStore();
1673
1670
  }
1674
1671
  };
1675
- _Context.storage = new import_async_hooks.AsyncLocalStorage();
1676
- Context = _Context;
1677
1672
  }
1678
1673
  });
1679
1674
 
@@ -1692,18 +1687,17 @@ var init_connections = __esm({
1692
1687
  "use strict";
1693
1688
  init_environment2();
1694
1689
  getCouchInfo = (connection) => {
1695
- var _a, _b;
1696
1690
  const urlInfo = getUrlInfo(connection);
1697
1691
  let username;
1698
1692
  let password;
1699
- if ((_a = urlInfo.auth) == null ? void 0 : _a.username) {
1693
+ if (urlInfo.auth?.username) {
1700
1694
  username = urlInfo.auth.username;
1701
1695
  } else if (environment_default.COUCH_DB_USERNAME) {
1702
1696
  username = environment_default.COUCH_DB_USERNAME;
1703
1697
  } else if (!environment_default.isTest()) {
1704
1698
  throw new Error("CouchDB username not set");
1705
1699
  }
1706
- if ((_b = urlInfo.auth) == null ? void 0 : _b.password) {
1700
+ if (urlInfo.auth?.password) {
1707
1701
  password = urlInfo.auth.password;
1708
1702
  } else if (environment_default.COUCH_DB_PASSWORD) {
1709
1703
  password = environment_default.COUCH_DB_PASSWORD;
@@ -1896,8 +1890,7 @@ var init_DatabaseImpl = __esm({
1896
1890
  return this.instanceNano || _DatabaseImpl.nano;
1897
1891
  }
1898
1892
  async checkSetup() {
1899
- var _a;
1900
- let shouldCreate = !((_a = this.pouchOpts) == null ? void 0 : _a.skip_setup);
1893
+ let shouldCreate = !this.pouchOpts?.skip_setup;
1901
1894
  let exists = await this.exists();
1902
1895
  if (!shouldCreate && !exists) {
1903
1896
  throw new Error("DB does not exist");
@@ -1961,7 +1954,7 @@ var init_DatabaseImpl = __esm({
1961
1954
  document.createdAt = (/* @__PURE__ */ new Date()).toISOString();
1962
1955
  }
1963
1956
  document.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
1964
- if ((opts == null ? void 0 : opts.force) && document._id) {
1957
+ if (opts?.force && document._id) {
1965
1958
  try {
1966
1959
  const existing = await this.get(document._id);
1967
1960
  if (existing) {
@@ -2130,7 +2123,7 @@ async function doInTenant(tenantId, task) {
2130
2123
  function getIdentity() {
2131
2124
  try {
2132
2125
  const context = Context.get();
2133
- return context == null ? void 0 : context.identity;
2126
+ return context?.identity;
2134
2127
  } catch (e) {
2135
2128
  }
2136
2129
  }
@@ -2139,7 +2132,7 @@ function getTenantId() {
2139
2132
  return DEFAULT_TENANT_ID;
2140
2133
  }
2141
2134
  const context = Context.get();
2142
- const tenantId = context == null ? void 0 : context.tenantId;
2135
+ const tenantId = context?.tenantId;
2143
2136
  if (!tenantId) {
2144
2137
  throw new Error("Tenant id not found");
2145
2138
  }
@@ -2147,11 +2140,11 @@ function getTenantId() {
2147
2140
  }
2148
2141
  function getAutomationId() {
2149
2142
  const context = Context.get();
2150
- return context == null ? void 0 : context.automationId;
2143
+ return context?.automationId;
2151
2144
  }
2152
2145
  function getAppId() {
2153
2146
  const context = Context.get();
2154
- const foundId = context == null ? void 0 : context.appId;
2147
+ const foundId = context?.appId;
2155
2148
  if (!foundId && environment_default.isTest() && TEST_APP_ID) {
2156
2149
  return TEST_APP_ID;
2157
2150
  } else {
@@ -2163,11 +2156,11 @@ function getGlobalDB() {
2163
2156
  if (!context || environment_default.MULTI_TENANCY && !context.tenantId) {
2164
2157
  throw new Error("Global DB not found");
2165
2158
  }
2166
- return getDB(baseGlobalDBName(context == null ? void 0 : context.tenantId));
2159
+ return getDB(baseGlobalDBName(context?.tenantId));
2167
2160
  }
2168
2161
  function isScim() {
2169
2162
  const context = Context.get();
2170
- const scimCall = context == null ? void 0 : context.isScim;
2163
+ const scimCall = context?.isScim;
2171
2164
  return !!scimCall;
2172
2165
  }
2173
2166
  var TEST_APP_ID;
@@ -2838,38 +2831,34 @@ async function runQuery(url, body, cookie) {
2838
2831
  }
2839
2832
  return output;
2840
2833
  }
2841
- var import_node_fetch2, QUERY_START_REGEX, _dbName, _index, _query, _limit, _sort, _bookmark, _sortOrder, _sortType, _includeDocs, _version, _indexBuilder, _noEscaping, _skip, _skipItems, skipItems_fn, _execute, execute_fn, _QueryBuilder, QueryBuilder;
2834
+ var import_node_fetch2, QUERY_START_REGEX, QueryBuilder;
2842
2835
  var init_lucene = __esm({
2843
2836
  "src/db/lucene.ts"() {
2844
2837
  "use strict";
2845
2838
  import_node_fetch2 = __toESM(require("node-fetch"));
2846
2839
  init_couch();
2847
2840
  QUERY_START_REGEX = /\d[0-9]*:/g;
2848
- _QueryBuilder = class _QueryBuilder {
2841
+ QueryBuilder = class _QueryBuilder {
2842
+ #dbName;
2843
+ #index;
2844
+ #query;
2845
+ #limit;
2846
+ #sort;
2847
+ #bookmark;
2848
+ #sortOrder;
2849
+ #sortType;
2850
+ #includeDocs;
2851
+ #version;
2852
+ #indexBuilder;
2853
+ #noEscaping = false;
2854
+ #skip;
2855
+ static {
2856
+ this.maxLimit = 200;
2857
+ }
2849
2858
  constructor(dbName, index2, base) {
2850
- /**
2851
- * Lucene queries do not support pagination and use bookmarks instead.
2852
- * For the given builder, walk through pages using bookmarks until the desired
2853
- * page has been met.
2854
- */
2855
- __privateAdd(this, _skipItems);
2856
- __privateAdd(this, _execute);
2857
- __privateAdd(this, _dbName, void 0);
2858
- __privateAdd(this, _index, void 0);
2859
- __privateAdd(this, _query, void 0);
2860
- __privateAdd(this, _limit, void 0);
2861
- __privateAdd(this, _sort, void 0);
2862
- __privateAdd(this, _bookmark, void 0);
2863
- __privateAdd(this, _sortOrder, void 0);
2864
- __privateAdd(this, _sortType, void 0);
2865
- __privateAdd(this, _includeDocs, void 0);
2866
- __privateAdd(this, _version, void 0);
2867
- __privateAdd(this, _indexBuilder, void 0);
2868
- __privateAdd(this, _noEscaping, false);
2869
- __privateAdd(this, _skip, void 0);
2870
- __privateSet(this, _dbName, dbName);
2871
- __privateSet(this, _index, index2);
2872
- __privateSet(this, _query, {
2859
+ this.#dbName = dbName;
2860
+ this.#index = index2;
2861
+ this.#query = {
2873
2862
  allOr: false,
2874
2863
  string: {},
2875
2864
  fuzzy: {},
@@ -2883,124 +2872,124 @@ var init_lucene = __esm({
2883
2872
  notContains: {},
2884
2873
  containsAny: {},
2885
2874
  ...base
2886
- });
2887
- __privateSet(this, _limit, 50);
2888
- __privateSet(this, _sortOrder, "ascending");
2889
- __privateSet(this, _sortType, "string");
2890
- __privateSet(this, _includeDocs, true);
2875
+ };
2876
+ this.#limit = 50;
2877
+ this.#sortOrder = "ascending";
2878
+ this.#sortType = "string";
2879
+ this.#includeDocs = true;
2891
2880
  }
2892
2881
  disableEscaping() {
2893
- __privateSet(this, _noEscaping, true);
2882
+ this.#noEscaping = true;
2894
2883
  return this;
2895
2884
  }
2896
2885
  setIndexBuilder(builderFn) {
2897
- __privateSet(this, _indexBuilder, builderFn);
2886
+ this.#indexBuilder = builderFn;
2898
2887
  return this;
2899
2888
  }
2900
2889
  setVersion(version) {
2901
2890
  if (version != null) {
2902
- __privateSet(this, _version, version);
2891
+ this.#version = version;
2903
2892
  }
2904
2893
  return this;
2905
2894
  }
2906
2895
  setTable(tableId) {
2907
- __privateGet(this, _query).equal.tableId = tableId;
2896
+ this.#query.equal.tableId = tableId;
2908
2897
  return this;
2909
2898
  }
2910
2899
  setLimit(limit) {
2911
2900
  if (limit != null) {
2912
- __privateSet(this, _limit, limit);
2901
+ this.#limit = limit;
2913
2902
  }
2914
2903
  return this;
2915
2904
  }
2916
2905
  setSort(sort) {
2917
2906
  if (sort != null) {
2918
- __privateSet(this, _sort, sort);
2907
+ this.#sort = sort;
2919
2908
  }
2920
2909
  return this;
2921
2910
  }
2922
2911
  setSortOrder(sortOrder) {
2923
2912
  if (sortOrder != null) {
2924
- __privateSet(this, _sortOrder, sortOrder);
2913
+ this.#sortOrder = sortOrder;
2925
2914
  }
2926
2915
  return this;
2927
2916
  }
2928
2917
  setSortType(sortType) {
2929
2918
  if (sortType != null) {
2930
- __privateSet(this, _sortType, sortType);
2919
+ this.#sortType = sortType;
2931
2920
  }
2932
2921
  return this;
2933
2922
  }
2934
2923
  setBookmark(bookmark) {
2935
2924
  if (bookmark != null) {
2936
- __privateSet(this, _bookmark, bookmark);
2925
+ this.#bookmark = bookmark;
2937
2926
  }
2938
2927
  return this;
2939
2928
  }
2940
2929
  setSkip(skip) {
2941
- __privateSet(this, _skip, skip);
2930
+ this.#skip = skip;
2942
2931
  return this;
2943
2932
  }
2944
2933
  excludeDocs() {
2945
- __privateSet(this, _includeDocs, false);
2934
+ this.#includeDocs = false;
2946
2935
  return this;
2947
2936
  }
2948
2937
  includeDocs() {
2949
- __privateSet(this, _includeDocs, true);
2938
+ this.#includeDocs = true;
2950
2939
  return this;
2951
2940
  }
2952
2941
  addString(key, partial) {
2953
- __privateGet(this, _query).string[key] = partial;
2942
+ this.#query.string[key] = partial;
2954
2943
  return this;
2955
2944
  }
2956
2945
  addFuzzy(key, fuzzy) {
2957
- __privateGet(this, _query).fuzzy[key] = fuzzy;
2946
+ this.#query.fuzzy[key] = fuzzy;
2958
2947
  return this;
2959
2948
  }
2960
2949
  addRange(key, low, high) {
2961
- __privateGet(this, _query).range[key] = {
2950
+ this.#query.range[key] = {
2962
2951
  low,
2963
2952
  high
2964
2953
  };
2965
2954
  return this;
2966
2955
  }
2967
2956
  addEqual(key, value) {
2968
- __privateGet(this, _query).equal[key] = value;
2957
+ this.#query.equal[key] = value;
2969
2958
  return this;
2970
2959
  }
2971
2960
  addNotEqual(key, value) {
2972
- __privateGet(this, _query).notEqual[key] = value;
2961
+ this.#query.notEqual[key] = value;
2973
2962
  return this;
2974
2963
  }
2975
2964
  addEmpty(key, value) {
2976
- __privateGet(this, _query).empty[key] = value;
2965
+ this.#query.empty[key] = value;
2977
2966
  return this;
2978
2967
  }
2979
2968
  addNotEmpty(key, value) {
2980
- __privateGet(this, _query).notEmpty[key] = value;
2969
+ this.#query.notEmpty[key] = value;
2981
2970
  return this;
2982
2971
  }
2983
2972
  addOneOf(key, value) {
2984
- __privateGet(this, _query).oneOf[key] = value;
2973
+ this.#query.oneOf[key] = value;
2985
2974
  return this;
2986
2975
  }
2987
2976
  addContains(key, value) {
2988
- __privateGet(this, _query).contains[key] = value;
2977
+ this.#query.contains[key] = value;
2989
2978
  return this;
2990
2979
  }
2991
2980
  addNotContains(key, value) {
2992
- __privateGet(this, _query).notContains[key] = value;
2981
+ this.#query.notContains[key] = value;
2993
2982
  return this;
2994
2983
  }
2995
2984
  addContainsAny(key, value) {
2996
- __privateGet(this, _query).containsAny[key] = value;
2985
+ this.#query.containsAny[key] = value;
2997
2986
  return this;
2998
2987
  }
2999
2988
  setAllOr() {
3000
- __privateGet(this, _query).allOr = true;
2989
+ this.#query.allOr = true;
3001
2990
  }
3002
2991
  handleSpaces(input) {
3003
- if (__privateGet(this, _noEscaping)) {
2992
+ if (this.#noEscaping) {
3004
2993
  return input;
3005
2994
  } else {
3006
2995
  return input.replace(/ /g, "_");
@@ -3014,12 +3003,12 @@ var init_lucene = __esm({
3014
3003
  * @returns {string|*}
3015
3004
  */
3016
3005
  preprocess(value, { escape, lowercase, wrap, type } = {}) {
3017
- const hasVersion = !!__privateGet(this, _version);
3006
+ const hasVersion = !!this.#version;
3018
3007
  const originalType = typeof value;
3019
3008
  if (value && lowercase) {
3020
3009
  value = value.toLowerCase ? value.toLowerCase() : value;
3021
3010
  }
3022
- if (!__privateGet(this, _noEscaping) && escape && originalType === "string") {
3011
+ if (!this.#noEscaping && escape && originalType === "string") {
3023
3012
  value = `${value}`.replace(/[ \/#+\-&|!(){}\]^"~*?:\\]/g, "\\$&");
3024
3013
  }
3025
3014
  if (originalType === "string" && !isNaN(value) && !type) {
@@ -3031,7 +3020,7 @@ var init_lucene = __esm({
3031
3020
  }
3032
3021
  isMultiCondition() {
3033
3022
  let count = 0;
3034
- for (let filters of Object.values(__privateGet(this, _query))) {
3023
+ for (let filters of Object.values(this.#query)) {
3035
3024
  if (typeof filters === "object") {
3036
3025
  count += Object.keys(filters).length;
3037
3026
  }
@@ -3057,13 +3046,13 @@ var init_lucene = __esm({
3057
3046
  }
3058
3047
  buildSearchQuery() {
3059
3048
  const builder = this;
3060
- let allOr = __privateGet(this, _query) && __privateGet(this, _query).allOr;
3049
+ let allOr = this.#query && this.#query.allOr;
3061
3050
  let query = allOr ? "" : "*:*";
3062
3051
  const allPreProcessingOpts = { escape: true, lowercase: true, wrap: true };
3063
3052
  let tableId;
3064
- if (__privateGet(this, _query).equal.tableId) {
3065
- tableId = __privateGet(this, _query).equal.tableId;
3066
- delete __privateGet(this, _query).equal.tableId;
3053
+ if (this.#query.equal.tableId) {
3054
+ tableId = this.#query.equal.tableId;
3055
+ delete this.#query.equal.tableId;
3067
3056
  }
3068
3057
  const equal = (key, value) => {
3069
3058
  if (!value && value !== 0) {
@@ -3137,19 +3126,19 @@ var init_lucene = __esm({
3137
3126
  continue;
3138
3127
  }
3139
3128
  if (built.length > 0 || query.length > 0) {
3140
- const mode = (opts == null ? void 0 : opts.mode) ? opts.mode : allOr ? "OR" : "AND";
3129
+ const mode = opts?.mode ? opts.mode : allOr ? "OR" : "AND";
3141
3130
  built += ` ${mode} `;
3142
3131
  }
3143
3132
  built += expression;
3144
3133
  }
3145
- if (opts == null ? void 0 : opts.returnBuilt) {
3134
+ if (opts?.returnBuilt) {
3146
3135
  return built;
3147
3136
  } else {
3148
3137
  query += built;
3149
3138
  }
3150
3139
  }
3151
- if (__privateGet(this, _query).string) {
3152
- build(__privateGet(this, _query).string, (key, value) => {
3140
+ if (this.#query.string) {
3141
+ build(this.#query.string, (key, value) => {
3153
3142
  if (!value) {
3154
3143
  return null;
3155
3144
  }
@@ -3161,8 +3150,8 @@ var init_lucene = __esm({
3161
3150
  return `${key}:${value}*`;
3162
3151
  });
3163
3152
  }
3164
- if (__privateGet(this, _query).range) {
3165
- build(__privateGet(this, _query).range, (key, value) => {
3153
+ if (this.#query.range) {
3154
+ build(this.#query.range, (key, value) => {
3166
3155
  if (!value) {
3167
3156
  return null;
3168
3157
  }
@@ -3177,14 +3166,14 @@ var init_lucene = __esm({
3177
3166
  return `${key}:[${low} TO ${high}]`;
3178
3167
  });
3179
3168
  }
3180
- if (__privateGet(this, _query).fuzzy) {
3181
- build(__privateGet(this, _query).fuzzy, fuzzy);
3169
+ if (this.#query.fuzzy) {
3170
+ build(this.#query.fuzzy, fuzzy);
3182
3171
  }
3183
- if (__privateGet(this, _query).equal) {
3184
- build(__privateGet(this, _query).equal, equal);
3172
+ if (this.#query.equal) {
3173
+ build(this.#query.equal, equal);
3185
3174
  }
3186
- if (__privateGet(this, _query).notEqual) {
3187
- build(__privateGet(this, _query).notEqual, (key, value) => {
3175
+ if (this.#query.notEqual) {
3176
+ build(this.#query.notEqual, (key, value) => {
3188
3177
  if (!value) {
3189
3178
  return null;
3190
3179
  }
@@ -3194,23 +3183,23 @@ var init_lucene = __esm({
3194
3183
  return `!${key}:${builder.preprocess(value, allPreProcessingOpts)}`;
3195
3184
  });
3196
3185
  }
3197
- if (__privateGet(this, _query).empty) {
3198
- build(__privateGet(this, _query).empty, (key) => `(*:* -${key}:["" TO *])`);
3186
+ if (this.#query.empty) {
3187
+ build(this.#query.empty, (key) => `(*:* -${key}:["" TO *])`);
3199
3188
  }
3200
- if (__privateGet(this, _query).notEmpty) {
3201
- build(__privateGet(this, _query).notEmpty, (key) => `${key}:["" TO *]`);
3189
+ if (this.#query.notEmpty) {
3190
+ build(this.#query.notEmpty, (key) => `${key}:["" TO *]`);
3202
3191
  }
3203
- if (__privateGet(this, _query).oneOf) {
3204
- build(__privateGet(this, _query).oneOf, oneOf);
3192
+ if (this.#query.oneOf) {
3193
+ build(this.#query.oneOf, oneOf);
3205
3194
  }
3206
- if (__privateGet(this, _query).contains) {
3207
- build(__privateGet(this, _query).contains, contains);
3195
+ if (this.#query.contains) {
3196
+ build(this.#query.contains, contains);
3208
3197
  }
3209
- if (__privateGet(this, _query).notContains) {
3210
- build(this.compressFilters(__privateGet(this, _query).notContains), notContains);
3198
+ if (this.#query.notContains) {
3199
+ build(this.compressFilters(this.#query.notContains), notContains);
3211
3200
  }
3212
- if (__privateGet(this, _query).containsAny) {
3213
- build(__privateGet(this, _query).containsAny, containsAny);
3201
+ if (this.#query.containsAny) {
3202
+ build(this.#query.containsAny, containsAny);
3214
3203
  }
3215
3204
  if (tableId) {
3216
3205
  query = this.isMultiCondition() ? `(${query})` : query;
@@ -3222,75 +3211,63 @@ var init_lucene = __esm({
3222
3211
  buildSearchBody() {
3223
3212
  let body = {
3224
3213
  q: this.buildSearchQuery(),
3225
- limit: Math.min(__privateGet(this, _limit), _QueryBuilder.maxLimit),
3226
- include_docs: __privateGet(this, _includeDocs)
3214
+ limit: Math.min(this.#limit, _QueryBuilder.maxLimit),
3215
+ include_docs: this.#includeDocs
3227
3216
  };
3228
- if (__privateGet(this, _bookmark)) {
3229
- body.bookmark = __privateGet(this, _bookmark);
3217
+ if (this.#bookmark) {
3218
+ body.bookmark = this.#bookmark;
3230
3219
  }
3231
- if (__privateGet(this, _sort)) {
3232
- const order = __privateGet(this, _sortOrder) === "descending" ? "-" : "";
3233
- const type = `<${__privateGet(this, _sortType)}>`;
3234
- body.sort = `${order}${this.handleSpaces(__privateGet(this, _sort))}${type}`;
3220
+ if (this.#sort) {
3221
+ const order = this.#sortOrder === "descending" ? "-" : "";
3222
+ const type = `<${this.#sortType}>`;
3223
+ body.sort = `${order}${this.handleSpaces(this.#sort)}${type}`;
3235
3224
  }
3236
3225
  return body;
3237
3226
  }
3238
3227
  async run() {
3239
- if (__privateGet(this, _skip)) {
3240
- await __privateMethod(this, _skipItems, skipItems_fn).call(this, __privateGet(this, _skip));
3228
+ if (this.#skip) {
3229
+ await this.#skipItems(this.#skip);
3241
3230
  }
3242
- return await __privateMethod(this, _execute, execute_fn).call(this);
3231
+ return await this.#execute();
3243
3232
  }
3244
- };
3245
- _dbName = new WeakMap();
3246
- _index = new WeakMap();
3247
- _query = new WeakMap();
3248
- _limit = new WeakMap();
3249
- _sort = new WeakMap();
3250
- _bookmark = new WeakMap();
3251
- _sortOrder = new WeakMap();
3252
- _sortType = new WeakMap();
3253
- _includeDocs = new WeakMap();
3254
- _version = new WeakMap();
3255
- _indexBuilder = new WeakMap();
3256
- _noEscaping = new WeakMap();
3257
- _skip = new WeakMap();
3258
- _skipItems = new WeakSet();
3259
- skipItems_fn = async function(skip) {
3260
- const prevIncludeDocs = __privateGet(this, _includeDocs);
3261
- const prevLimit = __privateGet(this, _limit);
3262
- this.excludeDocs();
3263
- let skipRemaining = skip;
3264
- let iterationFetched = 0;
3265
- do {
3266
- const toSkip = Math.min(_QueryBuilder.maxLimit, skipRemaining);
3267
- this.setLimit(toSkip);
3268
- const { bookmark, rows } = await __privateMethod(this, _execute, execute_fn).call(this);
3269
- this.setBookmark(bookmark);
3270
- iterationFetched = rows.length;
3271
- skipRemaining -= rows.length;
3272
- } while (skipRemaining > 0 && iterationFetched > 0);
3273
- __privateSet(this, _includeDocs, prevIncludeDocs);
3274
- __privateSet(this, _limit, prevLimit);
3275
- };
3276
- _execute = new WeakSet();
3277
- execute_fn = async function() {
3278
- const { url, cookie } = getCouchInfo();
3279
- const fullPath = `${url}/${__privateGet(this, _dbName)}/_design/database/_search/${__privateGet(this, _index)}`;
3280
- const body = this.buildSearchBody();
3281
- try {
3282
- return await runQuery(fullPath, body, cookie);
3283
- } catch (err) {
3284
- if (err.status === 404 && __privateGet(this, _indexBuilder)) {
3285
- await __privateGet(this, _indexBuilder).call(this);
3233
+ /**
3234
+ * Lucene queries do not support pagination and use bookmarks instead.
3235
+ * For the given builder, walk through pages using bookmarks until the desired
3236
+ * page has been met.
3237
+ */
3238
+ async #skipItems(skip) {
3239
+ const prevIncludeDocs = this.#includeDocs;
3240
+ const prevLimit = this.#limit;
3241
+ this.excludeDocs();
3242
+ let skipRemaining = skip;
3243
+ let iterationFetched = 0;
3244
+ do {
3245
+ const toSkip = Math.min(_QueryBuilder.maxLimit, skipRemaining);
3246
+ this.setLimit(toSkip);
3247
+ const { bookmark, rows } = await this.#execute();
3248
+ this.setBookmark(bookmark);
3249
+ iterationFetched = rows.length;
3250
+ skipRemaining -= rows.length;
3251
+ } while (skipRemaining > 0 && iterationFetched > 0);
3252
+ this.#includeDocs = prevIncludeDocs;
3253
+ this.#limit = prevLimit;
3254
+ }
3255
+ async #execute() {
3256
+ const { url, cookie } = getCouchInfo();
3257
+ const fullPath = `${url}/${this.#dbName}/_design/database/_search/${this.#index}`;
3258
+ const body = this.buildSearchBody();
3259
+ try {
3286
3260
  return await runQuery(fullPath, body, cookie);
3287
- } else {
3288
- throw err;
3261
+ } catch (err) {
3262
+ if (err.status === 404 && this.#indexBuilder) {
3263
+ await this.#indexBuilder();
3264
+ return await runQuery(fullPath, body, cookie);
3265
+ } else {
3266
+ throw err;
3267
+ }
3289
3268
  }
3290
3269
  }
3291
3270
  };
3292
- _QueryBuilder.maxLimit = 200;
3293
- QueryBuilder = _QueryBuilder;
3294
3271
  }
3295
3272
  });
3296
3273
 
@@ -3443,7 +3420,7 @@ function getFullPath(fileName) {
3443
3420
  }
3444
3421
  function getSingleFileMaxSizeInfo(totalMaxSize) {
3445
3422
  const regex = /(\d+)([A-Za-z])/;
3446
- const match = totalMaxSize == null ? void 0 : totalMaxSize.match(regex);
3423
+ const match = totalMaxSize?.match(regex);
3447
3424
  if (!match) {
3448
3425
  console.warn(`totalMaxSize does not have a valid value`, {
3449
3426
  totalMaxSize
@@ -3475,9 +3452,9 @@ function localFileDestination() {
3475
3452
  const fileInfo = getSingleFileMaxSizeInfo(environment_default.ROLLING_LOG_MAX_SIZE);
3476
3453
  const outFile = rfs.createStream(logsFileName, {
3477
3454
  // As we have a rolling size, we want to half the max size
3478
- size: fileInfo == null ? void 0 : fileInfo.size,
3455
+ size: fileInfo?.size,
3479
3456
  path: logsPath,
3480
- maxFiles: (fileInfo == null ? void 0 : fileInfo.totalHistoryFiles) || 1,
3457
+ maxFiles: fileInfo?.totalHistoryFiles || 1,
3481
3458
  immutable: true,
3482
3459
  history: budibaseLogsHistoryFileName,
3483
3460
  initialRotation: false
@@ -3552,8 +3529,8 @@ var init_logger = __esm({
3552
3529
  tenantId: getTenantId2(),
3553
3530
  appId: getAppId2(),
3554
3531
  automationId: getAutomationId2(),
3555
- identityId: identity == null ? void 0 : identity._id,
3556
- identityType: identity == null ? void 0 : identity.type,
3532
+ identityId: identity?._id,
3533
+ identityType: identity?.type,
3557
3534
  correlationId: getId()
3558
3535
  };
3559
3536
  const mergingObject = {
@@ -3617,30 +3594,30 @@ var init_logger = __esm({
3617
3594
  pinoInstance = destinations.length ? (0, import_pino.default)(pinoOptions, import_pino.default.multistream(destinations)) : (0, import_pino.default)(pinoOptions);
3618
3595
  console.log = (...arg) => {
3619
3596
  const [obj, msg] = getLogParams2(arg);
3620
- pinoInstance == null ? void 0 : pinoInstance.info(obj, msg);
3597
+ pinoInstance?.info(obj, msg);
3621
3598
  };
3622
3599
  console.info = (...arg) => {
3623
3600
  const [obj, msg] = getLogParams2(arg);
3624
- pinoInstance == null ? void 0 : pinoInstance.info(obj, msg);
3601
+ pinoInstance?.info(obj, msg);
3625
3602
  };
3626
3603
  console.warn = (...arg) => {
3627
3604
  const [obj, msg] = getLogParams2(arg);
3628
- pinoInstance == null ? void 0 : pinoInstance.warn(obj, msg);
3605
+ pinoInstance?.warn(obj, msg);
3629
3606
  };
3630
3607
  console.error = (...arg) => {
3631
3608
  const [obj, msg] = getLogParams2(arg);
3632
- pinoInstance == null ? void 0 : pinoInstance.error(obj, msg);
3609
+ pinoInstance?.error(obj, msg);
3633
3610
  };
3634
3611
  console.trace = (...arg) => {
3635
3612
  const [obj, msg] = getLogParams2(arg);
3636
3613
  if (!obj.err) {
3637
3614
  obj.err = new Error();
3638
3615
  }
3639
- pinoInstance == null ? void 0 : pinoInstance.trace(obj, msg);
3616
+ pinoInstance?.trace(obj, msg);
3640
3617
  };
3641
3618
  console.debug = (...arg) => {
3642
3619
  const [obj, msg] = getLogParams2(arg);
3643
- pinoInstance == null ? void 0 : pinoInstance.debug(obj, msg);
3620
+ pinoInstance?.debug(obj, msg);
3644
3621
  };
3645
3622
  const getTenantId2 = () => {
3646
3623
  let tenantId;
@@ -4126,7 +4103,6 @@ async function getSettingsConfigDoc() {
4126
4103
  async function getPlatformUrl(opts = {
4127
4104
  tenantAware: true
4128
4105
  }) {
4129
- var _a;
4130
4106
  let platformUrl = environment_default.PLATFORM_URL || "http://localhost:10000";
4131
4107
  if (!environment_default.SELF_HOSTED && environment_default.MULTI_TENANCY && opts.tenantAware) {
4132
4108
  const tenantId = getTenantId();
@@ -4134,11 +4110,11 @@ async function getPlatformUrl(opts = {
4134
4110
  platformUrl = platformUrl.replace("://", `://${tenantId}.`);
4135
4111
  }
4136
4112
  } else if (environment_default.SELF_HOSTED) {
4137
- const config = (opts == null ? void 0 : opts.config) ? opts.config : (
4113
+ const config = opts?.config ? opts.config : (
4138
4114
  // direct to db to prevent infinite loop
4139
- (_a = await getConfig("settings" /* SETTINGS */)) == null ? void 0 : _a.config
4115
+ (await getConfig("settings" /* SETTINGS */))?.config
4140
4116
  );
4141
- if (config == null ? void 0 : config.platformUrl) {
4117
+ if (config?.platformUrl) {
4142
4118
  platformUrl = config.platformUrl;
4143
4119
  }
4144
4120
  }
@@ -4162,14 +4138,13 @@ var init_configs2 = __esm({
4162
4138
  "analyticsEnabled" /* ANALYTICS_ENABLED */,
4163
4139
  86400 /* ONE_DAY */,
4164
4140
  async () => {
4165
- var _a;
4166
- const config = (opts == null ? void 0 : opts.config) ? opts.config : (
4141
+ const config = opts?.config ? opts.config : (
4167
4142
  // direct to db to prevent infinite loop
4168
- (_a = await getConfig("settings" /* SETTINGS */)) == null ? void 0 : _a.config
4143
+ (await getConfig("settings" /* SETTINGS */))?.config
4169
4144
  );
4170
- if ((config == null ? void 0 : config.analyticsEnabled) === false) {
4145
+ if (config?.analyticsEnabled === false) {
4171
4146
  return false;
4172
- } else if ((config == null ? void 0 : config.analyticsEnabled) === true) {
4147
+ } else if (config?.analyticsEnabled === true) {
4173
4148
  return true;
4174
4149
  }
4175
4150
  }
@@ -4671,7 +4646,6 @@ function handleStalled(queue, removeStalledCb) {
4671
4646
  });
4672
4647
  }
4673
4648
  function getLogParams(eventType, event, opts = {}, extra = {}) {
4674
- var _a, _b, _c;
4675
4649
  const message = `[BULL] ${eventType}=${event}`;
4676
4650
  const err = opts.error;
4677
4651
  const bullLog = {
@@ -4679,11 +4653,11 @@ function getLogParams(eventType, event, opts = {}, extra = {}) {
4679
4653
  eventType,
4680
4654
  event,
4681
4655
  job: opts.job,
4682
- jobId: opts.jobId || ((_a = opts.job) == null ? void 0 : _a.id),
4656
+ jobId: opts.jobId || opts.job?.id,
4683
4657
  ...extra
4684
4658
  };
4685
4659
  let automationLog;
4686
- if ((_c = (_b = opts.job) == null ? void 0 : _b.data) == null ? void 0 : _c.automation) {
4660
+ if (opts.job?.data?.automation) {
4687
4661
  automationLog = {
4688
4662
  _logKey: "automation",
4689
4663
  trigger: opts.job ? opts.job.data.automation.definition.trigger.event : void 0
@@ -4692,11 +4666,9 @@ function getLogParams(eventType, event, opts = {}, extra = {}) {
4692
4666
  return [message, err, bullLog, automationLog];
4693
4667
  }
4694
4668
  function logging(queue, jobQueue) {
4695
- var _a;
4696
4669
  const eventType = EventTypeMap[jobQueue];
4697
4670
  function doInJobContext(job, task) {
4698
- var _a2;
4699
- const appId = (_a2 = job.data.event) == null ? void 0 : _a2.appId;
4671
+ const appId = job.data.event?.appId;
4700
4672
  if (appId) {
4701
4673
  return doInContext(appId, task);
4702
4674
  } else {
@@ -4710,7 +4682,7 @@ function logging(queue, jobQueue) {
4710
4682
  }).on("error" /* ERROR */, (error) => {
4711
4683
  console.error(...getLogParams(eventType, "error" /* ERROR */, { error }));
4712
4684
  });
4713
- if ((_a = process.env.NODE_DEBUG) == null ? void 0 : _a.includes("bull")) {
4685
+ if (process.env.NODE_DEBUG?.includes("bull")) {
4714
4686
  queue.on("waiting" /* WAITING */, (jobId) => {
4715
4687
  console.info(...getLogParams(eventType, "waiting" /* WAITING */, { jobId }));
4716
4688
  }).on("active" /* ACTIVE */, async (job, jobPromise) => {
@@ -4790,7 +4762,7 @@ function createQueue(jobQueue, opts = {}) {
4790
4762
  } else {
4791
4763
  queue = new inMemoryQueue_default(jobQueue, queueConfig);
4792
4764
  }
4793
- addListeners(queue, jobQueue, opts == null ? void 0 : opts.removeStalledCb);
4765
+ addListeners(queue, jobQueue, opts?.removeStalledCb);
4794
4766
  QUEUES.push(queue);
4795
4767
  if (!cleanupInterval && !environment_default.isTest()) {
4796
4768
  cleanupInterval = set(cleanup, CLEANUP_PERIOD_MS);
@@ -4825,7 +4797,7 @@ var init_queue2 = __esm({
4825
4797
  });
4826
4798
 
4827
4799
  // src/events/processors/AuditLogsProcessor.ts
4828
- var _AuditLogsProcessor, AuditLogsProcessor;
4800
+ var AuditLogsProcessor;
4829
4801
  var init_AuditLogsProcessor = __esm({
4830
4802
  "src/events/processors/AuditLogsProcessor.ts"() {
4831
4803
  "use strict";
@@ -4834,7 +4806,10 @@ var init_AuditLogsProcessor = __esm({
4834
4806
  init_queue2();
4835
4807
  init_utils6();
4836
4808
  init_environment2();
4837
- _AuditLogsProcessor = class _AuditLogsProcessor {
4809
+ AuditLogsProcessor = class _AuditLogsProcessor {
4810
+ static {
4811
+ this.auditLogsEnabled = false;
4812
+ }
4838
4813
  // can't use constructor as need to return promise
4839
4814
  static init(fn) {
4840
4815
  _AuditLogsProcessor.auditLogsEnabled = true;
@@ -4886,12 +4861,9 @@ var init_AuditLogsProcessor = __esm({
4886
4861
  async identifyGroup(group, timestamp) {
4887
4862
  }
4888
4863
  shutdown() {
4889
- var _a;
4890
- (_a = _AuditLogsProcessor.auditLogQueue) == null ? void 0 : _a.close();
4864
+ _AuditLogsProcessor.auditLogQueue?.close();
4891
4865
  }
4892
4866
  };
4893
- _AuditLogsProcessor.auditLogsEnabled = false;
4894
- AuditLogsProcessor = _AuditLogsProcessor;
4895
4867
  }
4896
4868
  });
4897
4869
 
@@ -5219,13 +5191,12 @@ __export(users_exports2, {
5219
5191
  isGlobalBuilder: () => isGlobalBuilder
5220
5192
  });
5221
5193
  function isBuilder(user2, appId) {
5222
- var _a, _b, _c;
5223
5194
  if (!user2) {
5224
5195
  return false;
5225
5196
  }
5226
- if ((_a = user2.builder) == null ? void 0 : _a.global) {
5197
+ if (user2.builder?.global) {
5227
5198
  return true;
5228
- } else if (appId && ((_c = (_b = user2.builder) == null ? void 0 : _b.apps) == null ? void 0 : _c.includes(getProdAppID2(appId)))) {
5199
+ } else if (appId && user2.builder?.apps?.includes(getProdAppID2(appId))) {
5229
5200
  return true;
5230
5201
  }
5231
5202
  return false;
@@ -5243,27 +5214,24 @@ function isAdminOrBuilder(user2, appId) {
5243
5214
  return isBuilder(user2, appId) || isAdmin(user2);
5244
5215
  }
5245
5216
  function hasAppBuilderPermissions(user2) {
5246
- var _a, _b, _c;
5247
5217
  if (!user2) {
5248
5218
  return false;
5249
5219
  }
5250
- const appLength = (_b = (_a = user2.builder) == null ? void 0 : _a.apps) == null ? void 0 : _b.length;
5251
- const isGlobalBuilder3 = !!((_c = user2.builder) == null ? void 0 : _c.global);
5220
+ const appLength = user2.builder?.apps?.length;
5221
+ const isGlobalBuilder3 = !!user2.builder?.global;
5252
5222
  return !isGlobalBuilder3 && appLength != null && appLength > 0;
5253
5223
  }
5254
5224
  function hasBuilderPermissions(user2) {
5255
- var _a;
5256
5225
  if (!user2) {
5257
5226
  return false;
5258
5227
  }
5259
- return ((_a = user2.builder) == null ? void 0 : _a.global) || hasAppBuilderPermissions(user2);
5228
+ return user2.builder?.global || hasAppBuilderPermissions(user2);
5260
5229
  }
5261
5230
  function hasAdminPermissions(user2) {
5262
- var _a;
5263
5231
  if (!user2) {
5264
5232
  return false;
5265
5233
  }
5266
- return !!((_a = user2.admin) == null ? void 0 : _a.global);
5234
+ return !!user2.admin?.global;
5267
5235
  }
5268
5236
  var init_users5 = __esm({
5269
5237
  "../shared-core/src/sdk/documents/users.ts"() {
@@ -5511,8 +5479,8 @@ var init_identification2 = __esm({
5511
5479
  if (isSSOUser(user2)) {
5512
5480
  providerType3 = user2.providerType;
5513
5481
  }
5514
- const accountHolder = (account2 == null ? void 0 : account2.budibaseUserId) === user2._id || false;
5515
- const verified2 = account2 && (account2 == null ? void 0 : account2.budibaseUserId) === user2._id ? account2.verified : false;
5482
+ const accountHolder = account2?.budibaseUserId === user2._id || false;
5483
+ const verified2 = account2 && account2?.budibaseUserId === user2._id ? account2.verified : false;
5516
5484
  const installationId = await getInstallationId();
5517
5485
  const hosting = account2 ? account2.hosting : getHostingFromEnv();
5518
5486
  const environment2 = getDeploymentEnvironment();
@@ -5679,7 +5647,7 @@ var init_backfill2 = __esm({
5679
5647
  };
5680
5648
  isBackfillingEvent = async (event) => {
5681
5649
  const backfill = await getBackfillMetadata();
5682
- const events2 = backfill == null ? void 0 : backfill.eventWhitelist;
5650
+ const events2 = backfill?.eventWhitelist;
5683
5651
  if (events2 && events2.includes(event)) {
5684
5652
  return true;
5685
5653
  } else {
@@ -6072,12 +6040,11 @@ var init_auth4 = __esm({
6072
6040
 
6073
6041
  // src/events/publishers/automation.ts
6074
6042
  async function created3(automation, timestamp) {
6075
- var _a, _b, _c, _d;
6076
6043
  const properties = {
6077
6044
  appId: automation.appId,
6078
6045
  automationId: automation._id,
6079
- triggerId: (_b = (_a = automation.definition) == null ? void 0 : _a.trigger) == null ? void 0 : _b.id,
6080
- triggerType: (_d = (_c = automation.definition) == null ? void 0 : _c.trigger) == null ? void 0 : _d.stepId,
6046
+ triggerId: automation.definition?.trigger?.id,
6047
+ triggerType: automation.definition?.trigger?.stepId,
6081
6048
  audited: {
6082
6049
  name: automation.name
6083
6050
  }
@@ -6085,22 +6052,20 @@ async function created3(automation, timestamp) {
6085
6052
  await publishEvent("automation:created" /* AUTOMATION_CREATED */, properties, timestamp);
6086
6053
  }
6087
6054
  async function triggerUpdated(automation) {
6088
- var _a, _b, _c, _d;
6089
6055
  const properties = {
6090
6056
  appId: automation.appId,
6091
6057
  automationId: automation._id,
6092
- triggerId: (_b = (_a = automation.definition) == null ? void 0 : _a.trigger) == null ? void 0 : _b.id,
6093
- triggerType: (_d = (_c = automation.definition) == null ? void 0 : _c.trigger) == null ? void 0 : _d.stepId
6058
+ triggerId: automation.definition?.trigger?.id,
6059
+ triggerType: automation.definition?.trigger?.stepId
6094
6060
  };
6095
6061
  await publishEvent("automation:trigger:updated" /* AUTOMATION_TRIGGER_UPDATED */, properties);
6096
6062
  }
6097
6063
  async function deleted3(automation) {
6098
- var _a, _b, _c, _d;
6099
6064
  const properties = {
6100
6065
  appId: automation.appId,
6101
6066
  automationId: automation._id,
6102
- triggerId: (_b = (_a = automation.definition) == null ? void 0 : _a.trigger) == null ? void 0 : _b.id,
6103
- triggerType: (_d = (_c = automation.definition) == null ? void 0 : _c.trigger) == null ? void 0 : _d.stepId,
6067
+ triggerId: automation.definition?.trigger?.id,
6068
+ triggerType: automation.definition?.trigger?.stepId,
6104
6069
  audited: {
6105
6070
  name: automation.name
6106
6071
  }
@@ -6108,22 +6073,20 @@ async function deleted3(automation) {
6108
6073
  await publishEvent("automation:deleted" /* AUTOMATION_DELETED */, properties);
6109
6074
  }
6110
6075
  async function tested(automation) {
6111
- var _a, _b, _c, _d;
6112
6076
  const properties = {
6113
6077
  appId: automation.appId,
6114
6078
  automationId: automation._id,
6115
- triggerId: (_b = (_a = automation.definition) == null ? void 0 : _a.trigger) == null ? void 0 : _b.id,
6116
- triggerType: (_d = (_c = automation.definition) == null ? void 0 : _c.trigger) == null ? void 0 : _d.stepId
6079
+ triggerId: automation.definition?.trigger?.id,
6080
+ triggerType: automation.definition?.trigger?.stepId
6117
6081
  };
6118
6082
  await publishEvent("automation:tested" /* AUTOMATION_TESTED */, properties);
6119
6083
  }
6120
6084
  async function stepCreated(automation, step, timestamp) {
6121
- var _a, _b, _c, _d;
6122
6085
  const properties = {
6123
6086
  appId: automation.appId,
6124
6087
  automationId: automation._id,
6125
- triggerId: (_b = (_a = automation.definition) == null ? void 0 : _a.trigger) == null ? void 0 : _b.id,
6126
- triggerType: (_d = (_c = automation.definition) == null ? void 0 : _c.trigger) == null ? void 0 : _d.stepId,
6088
+ triggerId: automation.definition?.trigger?.id,
6089
+ triggerType: automation.definition?.trigger?.stepId,
6127
6090
  stepId: step.id,
6128
6091
  stepType: step.stepId,
6129
6092
  audited: {
@@ -6133,12 +6096,11 @@ async function stepCreated(automation, step, timestamp) {
6133
6096
  await publishEvent("automation:step:created" /* AUTOMATION_STEP_CREATED */, properties, timestamp);
6134
6097
  }
6135
6098
  async function stepDeleted(automation, step) {
6136
- var _a, _b, _c, _d;
6137
6099
  const properties = {
6138
6100
  appId: automation.appId,
6139
6101
  automationId: automation._id,
6140
- triggerId: (_b = (_a = automation.definition) == null ? void 0 : _a.trigger) == null ? void 0 : _b.id,
6141
- triggerType: (_d = (_c = automation.definition) == null ? void 0 : _c.trigger) == null ? void 0 : _d.stepId,
6102
+ triggerId: automation.definition?.trigger?.id,
6103
+ triggerType: automation.definition?.trigger?.stepId,
6142
6104
  stepId: step.id,
6143
6105
  stepType: step.stepId,
6144
6106
  audited: {
@@ -6487,25 +6449,23 @@ var init_role3 = __esm({
6487
6449
 
6488
6450
  // src/events/publishers/screen.ts
6489
6451
  async function created8(screen, timestamp) {
6490
- var _a;
6491
6452
  const properties = {
6492
6453
  layoutId: screen.layoutId,
6493
6454
  screenId: screen._id,
6494
6455
  roleId: screen.routing.roleId,
6495
6456
  audited: {
6496
- name: (_a = screen.routing) == null ? void 0 : _a.route
6457
+ name: screen.routing?.route
6497
6458
  }
6498
6459
  };
6499
6460
  await publishEvent("screen:created" /* SCREEN_CREATED */, properties, timestamp);
6500
6461
  }
6501
6462
  async function deleted8(screen) {
6502
- var _a;
6503
6463
  const properties = {
6504
6464
  layoutId: screen.layoutId,
6505
6465
  screenId: screen._id,
6506
6466
  roleId: screen.routing.roleId,
6507
6467
  audited: {
6508
- name: (_a = screen.routing) == null ? void 0 : _a.route
6468
+ name: screen.routing?.route
6509
6469
  }
6510
6470
  };
6511
6471
  await publishEvent("screen:deleted" /* SCREEN_DELETED */, properties);
@@ -8175,7 +8135,6 @@ var appBuilderUser = (appId, userProps) => {
8175
8135
  };
8176
8136
  };
8177
8137
  function ssoUser(opts = {}) {
8178
- var _a, _b, _c;
8179
8138
  const base = user(opts.user);
8180
8139
  delete base.password;
8181
8140
  if (!opts.details) {
@@ -8184,9 +8143,9 @@ function ssoUser(opts = {}) {
8184
8143
  return {
8185
8144
  ...base,
8186
8145
  forceResetPassword: false,
8187
- oauth2: (_a = opts.details) == null ? void 0 : _a.oauth2,
8188
- provider: (_b = opts.details) == null ? void 0 : _b.provider,
8189
- providerType: (_c = opts.details) == null ? void 0 : _c.providerType,
8146
+ oauth2: opts.details?.oauth2,
8147
+ provider: opts.details?.provider,
8148
+ providerType: opts.details?.providerType,
8190
8149
  thirdPartyProfile: {
8191
8150
  email: base.email,
8192
8151
  picture: base.pictureUrl
@@ -8352,7 +8311,7 @@ __export(testContainerUtils_exports, {
8352
8311
  var import_child_process = require("child_process");
8353
8312
  var dockerPsResult;
8354
8313
  function formatDockerPsResult(serverName, port) {
8355
- const lines = dockerPsResult == null ? void 0 : dockerPsResult.split("\n");
8314
+ const lines = dockerPsResult?.split("\n");
8356
8315
  let first = true;
8357
8316
  if (!lines) {
8358
8317
  return null;
@@ -8409,11 +8368,14 @@ function getContainerInfo(containerName, port) {
8409
8368
  function getCouchConfig() {
8410
8369
  return getContainerInfo("couchdb-service", 5984);
8411
8370
  }
8371
+ function getMinioConfig() {
8372
+ return getContainerInfo("minio-service", 9e3);
8373
+ }
8412
8374
  function getRedisConfig() {
8413
8375
  return getContainerInfo("redis-service", 6379);
8414
8376
  }
8415
8377
  function setupEnv(...envs) {
8416
- const couch = getCouchConfig(), minio = getCouchConfig(), redis2 = getRedisConfig();
8378
+ const couch = getCouchConfig(), minio = getMinioConfig(), redis2 = getRedisConfig();
8417
8379
  const configs = [
8418
8380
  { key: "COUCH_DB_PORT", value: couch.port },
8419
8381
  { key: "COUCH_DB_URL", value: couch.url },