@budibase/backend-core 2.9.39-alpha.0 → 2.9.39-alpha.2

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 (479) hide show
  1. package/dist/package.json +5 -5
  2. package/dist/src/accounts/accounts.js +100 -0
  3. package/dist/src/accounts/accounts.js.map +7 -0
  4. package/dist/src/accounts/api.js +78 -0
  5. package/dist/src/accounts/api.js.map +7 -0
  6. package/dist/src/accounts/index.js +23 -0
  7. package/dist/src/accounts/index.js.map +7 -0
  8. package/dist/src/auth/auth.js +208 -0
  9. package/dist/src/auth/auth.js.map +7 -0
  10. package/dist/src/auth/index.js +23 -0
  11. package/dist/src/auth/index.js.map +7 -0
  12. package/dist/src/auth/tests/auth.spec.js +37 -0
  13. package/dist/src/auth/tests/auth.spec.js.map +7 -0
  14. package/dist/src/blacklist/blacklist.js +88 -0
  15. package/dist/src/blacklist/blacklist.js.map +7 -0
  16. package/dist/src/blacklist/index.js +23 -0
  17. package/dist/src/blacklist/index.js.map +7 -0
  18. package/dist/src/blacklist/tests/blacklist.spec.js +61 -0
  19. package/dist/src/blacklist/tests/blacklist.spec.js.map +7 -0
  20. package/dist/src/cache/appMetadata.js +86 -0
  21. package/dist/src/cache/appMetadata.js.map +7 -0
  22. package/dist/src/cache/base/index.js +102 -0
  23. package/dist/src/cache/base/index.js.map +7 -0
  24. package/dist/src/cache/generic.js +69 -0
  25. package/dist/src/cache/generic.js.map +7 -0
  26. package/dist/src/cache/index.js +51 -0
  27. package/dist/src/cache/index.js.map +7 -0
  28. package/dist/src/cache/tests/writethrough.spec.js +132 -0
  29. package/dist/src/cache/tests/writethrough.spec.js.map +7 -0
  30. package/dist/src/cache/user.js +99 -0
  31. package/dist/src/cache/user.js.map +7 -0
  32. package/dist/src/cache/writethrough.js +144 -0
  33. package/dist/src/cache/writethrough.js.map +7 -0
  34. package/dist/src/configs/configs.js +228 -0
  35. package/dist/src/configs/configs.js.map +7 -0
  36. package/dist/src/configs/index.js +23 -0
  37. package/dist/src/configs/index.js.map +7 -0
  38. package/dist/src/configs/tests/configs.spec.js +182 -0
  39. package/dist/src/configs/tests/configs.spec.js.map +7 -0
  40. package/dist/src/constants/db.js +107 -0
  41. package/dist/src/constants/db.js.map +7 -0
  42. package/dist/src/constants/index.js +25 -0
  43. package/dist/src/constants/index.js.map +7 -0
  44. package/dist/src/constants/misc.js +92 -0
  45. package/dist/src/constants/misc.js.map +7 -0
  46. package/dist/src/context/Context.js +36 -0
  47. package/dist/src/context/Context.js.map +7 -0
  48. package/dist/src/context/identity.js +87 -0
  49. package/dist/src/context/identity.js.map +7 -0
  50. package/dist/src/context/index.js +45 -0
  51. package/dist/src/context/index.js.map +7 -0
  52. package/dist/src/context/mainContext.js +320 -0
  53. package/dist/src/context/mainContext.js.map +7 -0
  54. package/dist/src/context/tests/index.spec.js +147 -0
  55. package/dist/src/context/tests/index.spec.js.map +7 -0
  56. package/dist/src/context/types.js +17 -0
  57. package/dist/src/context/types.js.map +7 -0
  58. package/dist/src/db/Replication.js +89 -0
  59. package/dist/src/db/Replication.js.map +7 -0
  60. package/dist/src/db/constants.js +39 -0
  61. package/dist/src/db/constants.js.map +7 -0
  62. package/dist/src/db/couch/DatabaseImpl.js +224 -0
  63. package/dist/src/db/couch/DatabaseImpl.js.map +7 -0
  64. package/dist/src/db/couch/connections.js +103 -0
  65. package/dist/src/db/couch/connections.js.map +7 -0
  66. package/dist/src/db/couch/index.js +44 -0
  67. package/dist/src/db/couch/index.js.map +7 -0
  68. package/dist/src/db/couch/pouchDB.js +118 -0
  69. package/dist/src/db/couch/pouchDB.js.map +7 -0
  70. package/dist/src/db/couch/pouchDump.js +2 -0
  71. package/dist/src/db/couch/pouchDump.js.map +7 -0
  72. package/dist/src/db/couch/utils.js +76 -0
  73. package/dist/src/db/couch/utils.js.map +7 -0
  74. package/dist/src/db/db.js +73 -0
  75. package/dist/src/db/db.js.map +7 -0
  76. package/dist/src/db/errors.js +43 -0
  77. package/dist/src/db/errors.js.map +7 -0
  78. package/dist/src/db/index.js +64 -0
  79. package/dist/src/db/index.js.map +7 -0
  80. package/dist/src/db/lucene.js +595 -0
  81. package/dist/src/db/lucene.js.map +7 -0
  82. package/dist/src/db/searchIndexes/index.js +23 -0
  83. package/dist/src/db/searchIndexes/index.js.map +7 -0
  84. package/dist/src/db/searchIndexes/searchIndexes.js +82 -0
  85. package/dist/src/db/searchIndexes/searchIndexes.js.map +7 -0
  86. package/dist/src/db/tests/index.spec.js +24 -0
  87. package/dist/src/db/tests/index.spec.js.map +7 -0
  88. package/dist/src/db/tests/lucene.spec.js +312 -0
  89. package/dist/src/db/tests/lucene.spec.js.map +7 -0
  90. package/dist/src/db/tests/pouch.spec.js +63 -0
  91. package/dist/src/db/tests/pouch.spec.js.map +7 -0
  92. package/dist/src/db/tests/utils.spec.js +50 -0
  93. package/dist/src/db/tests/utils.spec.js.map +7 -0
  94. package/dist/src/db/utils.js +198 -0
  95. package/dist/src/db/utils.js.map +7 -0
  96. package/dist/src/db/views.js +223 -0
  97. package/dist/src/db/views.js.map +7 -0
  98. package/dist/src/docIds/conversions.js +83 -0
  99. package/dist/src/docIds/conversions.js.map +7 -0
  100. package/dist/src/docIds/ids.js +101 -0
  101. package/dist/src/docIds/ids.js.map +7 -0
  102. package/dist/src/docIds/index.js +25 -0
  103. package/dist/src/docIds/index.js.map +7 -0
  104. package/dist/src/docIds/newid.js +32 -0
  105. package/dist/src/docIds/newid.js.map +7 -0
  106. package/dist/src/docIds/params.js +136 -0
  107. package/dist/src/docIds/params.js.map +7 -0
  108. package/dist/src/docUpdates/index.js +61 -0
  109. package/dist/src/docUpdates/index.js.map +7 -0
  110. package/dist/src/environment.js +181 -0
  111. package/dist/src/environment.js.map +7 -0
  112. package/dist/src/errors/errors.js +126 -0
  113. package/dist/src/errors/errors.js.map +7 -0
  114. package/dist/src/errors/index.js +23 -0
  115. package/dist/src/errors/index.js.map +7 -0
  116. package/dist/src/events/analytics.js +42 -0
  117. package/dist/src/events/analytics.js.map +7 -0
  118. package/dist/src/events/asyncEvents/index.js +25 -0
  119. package/dist/src/events/asyncEvents/index.js.map +7 -0
  120. package/dist/src/events/asyncEvents/publisher.js +39 -0
  121. package/dist/src/events/asyncEvents/publisher.js.map +7 -0
  122. package/dist/src/events/asyncEvents/queue.js +42 -0
  123. package/dist/src/events/asyncEvents/queue.js.map +7 -0
  124. package/dist/src/events/backfill.js +172 -0
  125. package/dist/src/events/backfill.js.map +7 -0
  126. package/dist/src/events/documentId.js +51 -0
  127. package/dist/src/events/documentId.js.map +7 -0
  128. package/dist/src/events/events.js +63 -0
  129. package/dist/src/events/events.js.map +7 -0
  130. package/dist/src/events/identification.js +275 -0
  131. package/dist/src/events/identification.js.map +7 -0
  132. package/dist/src/events/index.js +62 -0
  133. package/dist/src/events/index.js.map +7 -0
  134. package/dist/src/events/processors/AnalyticsProcessor.js +76 -0
  135. package/dist/src/events/processors/AnalyticsProcessor.js.map +7 -0
  136. package/dist/src/events/processors/AuditLogsProcessor.js +97 -0
  137. package/dist/src/events/processors/AuditLogsProcessor.js.map +7 -0
  138. package/dist/src/events/processors/LoggingProcessor.js +58 -0
  139. package/dist/src/events/processors/LoggingProcessor.js.map +7 -0
  140. package/dist/src/events/processors/Processors.js +57 -0
  141. package/dist/src/events/processors/Processors.js.map +7 -0
  142. package/dist/src/events/processors/async/DocumentUpdateProcessor.js +53 -0
  143. package/dist/src/events/processors/async/DocumentUpdateProcessor.js.map +7 -0
  144. package/dist/src/events/processors/index.js +57 -0
  145. package/dist/src/events/processors/index.js.map +7 -0
  146. package/dist/src/events/processors/posthog/PosthogProcessor.js +126 -0
  147. package/dist/src/events/processors/posthog/PosthogProcessor.js.map +7 -0
  148. package/dist/src/events/processors/posthog/index.js +36 -0
  149. package/dist/src/events/processors/posthog/index.js.map +7 -0
  150. package/dist/src/events/processors/posthog/rateLimiting.js +105 -0
  151. package/dist/src/events/processors/posthog/rateLimiting.js.map +7 -0
  152. package/dist/src/events/processors/posthog/tests/PosthogProcessor.spec.js +154 -0
  153. package/dist/src/events/processors/posthog/tests/PosthogProcessor.spec.js.map +7 -0
  154. package/dist/src/events/processors/types.js +29 -0
  155. package/dist/src/events/processors/types.js.map +7 -0
  156. package/dist/src/events/publishers/account.js +49 -0
  157. package/dist/src/events/publishers/account.js.map +7 -0
  158. package/dist/src/events/publishers/app.js +145 -0
  159. package/dist/src/events/publishers/app.js.map +7 -0
  160. package/dist/src/events/publishers/auditLog.js +42 -0
  161. package/dist/src/events/publishers/auditLog.js.map +7 -0
  162. package/dist/src/events/publishers/auth.js +80 -0
  163. package/dist/src/events/publishers/auth.js.map +7 -0
  164. package/dist/src/events/publishers/automation.js +111 -0
  165. package/dist/src/events/publishers/automation.js.map +7 -0
  166. package/dist/src/events/publishers/backfill.js +92 -0
  167. package/dist/src/events/publishers/backfill.js.map +7 -0
  168. package/dist/src/events/publishers/backup.js +49 -0
  169. package/dist/src/events/publishers/backup.js.map +7 -0
  170. package/dist/src/events/publishers/datasource.js +59 -0
  171. package/dist/src/events/publishers/datasource.js.map +7 -0
  172. package/dist/src/events/publishers/email.js +38 -0
  173. package/dist/src/events/publishers/email.js.map +7 -0
  174. package/dist/src/events/publishers/environmentVariable.js +53 -0
  175. package/dist/src/events/publishers/environmentVariable.js.map +7 -0
  176. package/dist/src/events/publishers/group.js +105 -0
  177. package/dist/src/events/publishers/group.js.map +7 -0
  178. package/dist/src/events/publishers/index.js +108 -0
  179. package/dist/src/events/publishers/index.js.map +7 -0
  180. package/dist/src/events/publishers/installation.js +56 -0
  181. package/dist/src/events/publishers/installation.js.map +7 -0
  182. package/dist/src/events/publishers/layout.js +42 -0
  183. package/dist/src/events/publishers/layout.js.map +7 -0
  184. package/dist/src/events/publishers/license.js +78 -0
  185. package/dist/src/events/publishers/license.js.map +7 -0
  186. package/dist/src/events/publishers/org.js +53 -0
  187. package/dist/src/events/publishers/org.js.map +7 -0
  188. package/dist/src/events/publishers/plugin.js +61 -0
  189. package/dist/src/events/publishers/plugin.js.map +7 -0
  190. package/dist/src/events/publishers/query.js +85 -0
  191. package/dist/src/events/publishers/query.js.map +7 -0
  192. package/dist/src/events/publishers/role.js +71 -0
  193. package/dist/src/events/publishers/role.js.map +7 -0
  194. package/dist/src/events/publishers/rows.js +43 -0
  195. package/dist/src/events/publishers/rows.js.map +7 -0
  196. package/dist/src/events/publishers/screen.js +52 -0
  197. package/dist/src/events/publishers/screen.js.map +7 -0
  198. package/dist/src/events/publishers/serve.js +53 -0
  199. package/dist/src/events/publishers/serve.js.map +7 -0
  200. package/dist/src/events/publishers/table.js +79 -0
  201. package/dist/src/events/publishers/table.js.map +7 -0
  202. package/dist/src/events/publishers/user.js +191 -0
  203. package/dist/src/events/publishers/user.js.map +7 -0
  204. package/dist/src/events/publishers/view.js +102 -0
  205. package/dist/src/events/publishers/view.js.map +7 -0
  206. package/dist/src/features/index.js +105 -0
  207. package/dist/src/features/index.js.map +7 -0
  208. package/dist/src/features/installation.js +42 -0
  209. package/dist/src/features/installation.js.map +7 -0
  210. package/dist/src/features/tests/featureFlags.spec.js +86 -0
  211. package/dist/src/features/tests/featureFlags.spec.js.map +7 -0
  212. package/dist/src/helpers.js +31 -0
  213. package/dist/src/helpers.js.map +7 -0
  214. package/dist/src/index.js +154 -0
  215. package/dist/src/index.js.map +7 -0
  216. package/dist/src/installation.js +139 -0
  217. package/dist/src/installation.js.map +7 -0
  218. package/dist/src/logging/alerts.js +49 -0
  219. package/dist/src/logging/alerts.js.map +7 -0
  220. package/dist/src/logging/correlation/correlation.js +41 -0
  221. package/dist/src/logging/correlation/correlation.js.map +7 -0
  222. package/dist/src/logging/correlation/index.js +23 -0
  223. package/dist/src/logging/correlation/index.js.map +7 -0
  224. package/dist/src/logging/correlation/middleware.js +37 -0
  225. package/dist/src/logging/correlation/middleware.js.map +7 -0
  226. package/dist/src/logging/index.js +48 -0
  227. package/dist/src/logging/index.js.map +7 -0
  228. package/dist/src/logging/pino/logger.js +197 -0
  229. package/dist/src/logging/pino/logger.js.map +7 -0
  230. package/dist/src/logging/pino/middleware.js +77 -0
  231. package/dist/src/logging/pino/middleware.js.map +7 -0
  232. package/dist/src/logging/system.js +110 -0
  233. package/dist/src/logging/system.js.map +7 -0
  234. package/dist/src/logging/tests/system.spec.js +59 -0
  235. package/dist/src/logging/tests/system.spec.js.map +7 -0
  236. package/dist/src/middleware/adminOnly.js +31 -0
  237. package/dist/src/middleware/adminOnly.js.map +7 -0
  238. package/dist/src/middleware/auditLog.js +27 -0
  239. package/dist/src/middleware/auditLog.js.map +7 -0
  240. package/dist/src/middleware/authenticated.js +178 -0
  241. package/dist/src/middleware/authenticated.js.map +7 -0
  242. package/dist/src/middleware/builderOnly.js +48 -0
  243. package/dist/src/middleware/builderOnly.js.map +7 -0
  244. package/dist/src/middleware/builderOrAdmin.js +48 -0
  245. package/dist/src/middleware/builderOrAdmin.js.map +7 -0
  246. package/dist/src/middleware/csrf.js +60 -0
  247. package/dist/src/middleware/csrf.js.map +7 -0
  248. package/dist/src/middleware/errorHandling.js +62 -0
  249. package/dist/src/middleware/errorHandling.js.map +7 -0
  250. package/dist/src/middleware/index.js +95 -0
  251. package/dist/src/middleware/index.js.map +7 -0
  252. package/dist/src/middleware/internalApi.js +39 -0
  253. package/dist/src/middleware/internalApi.js.map +7 -0
  254. package/dist/src/middleware/joi-validator.js +73 -0
  255. package/dist/src/middleware/joi-validator.js.map +7 -0
  256. package/dist/src/middleware/matchers.js +62 -0
  257. package/dist/src/middleware/matchers.js.map +7 -0
  258. package/dist/src/middleware/passport/datasource/google.js +103 -0
  259. package/dist/src/middleware/passport/datasource/google.js.map +7 -0
  260. package/dist/src/middleware/passport/local.js +73 -0
  261. package/dist/src/middleware/passport/local.js.map +7 -0
  262. package/dist/src/middleware/passport/sso/google.js +93 -0
  263. package/dist/src/middleware/passport/sso/google.js.map +7 -0
  264. package/dist/src/middleware/passport/sso/oidc.js +135 -0
  265. package/dist/src/middleware/passport/sso/oidc.js.map +7 -0
  266. package/dist/src/middleware/passport/sso/sso.js +149 -0
  267. package/dist/src/middleware/passport/sso/sso.js.map +7 -0
  268. package/dist/src/middleware/passport/sso/tests/google.spec.js +77 -0
  269. package/dist/src/middleware/passport/sso/tests/google.spec.js.map +7 -0
  270. package/dist/src/middleware/passport/sso/tests/oidc.spec.js +143 -0
  271. package/dist/src/middleware/passport/sso/tests/oidc.spec.js.map +7 -0
  272. package/dist/src/middleware/passport/sso/tests/sso.spec.js +167 -0
  273. package/dist/src/middleware/passport/sso/tests/sso.spec.js.map +7 -0
  274. package/dist/src/middleware/passport/utils.js +62 -0
  275. package/dist/src/middleware/passport/utils.js.map +7 -0
  276. package/dist/src/middleware/querystringToBody.js +45 -0
  277. package/dist/src/middleware/querystringToBody.js.map +7 -0
  278. package/dist/src/middleware/tenancy.js +46 -0
  279. package/dist/src/middleware/tenancy.js.map +7 -0
  280. package/dist/src/middleware/tests/builder.spec.js +169 -0
  281. package/dist/src/middleware/tests/builder.spec.js.map +7 -0
  282. package/dist/src/middleware/tests/matchers.spec.js +120 -0
  283. package/dist/src/middleware/tests/matchers.spec.js.map +7 -0
  284. package/dist/src/migrations/definitions.js +63 -0
  285. package/dist/src/migrations/definitions.js.map +7 -0
  286. package/dist/src/migrations/index.js +25 -0
  287. package/dist/src/migrations/index.js.map +7 -0
  288. package/dist/src/migrations/migrations.js +178 -0
  289. package/dist/src/migrations/migrations.js.map +7 -0
  290. package/dist/src/migrations/tests/migrations.spec.js +78 -0
  291. package/dist/src/migrations/tests/migrations.spec.js.map +7 -0
  292. package/dist/src/objectStore/buckets/app.js +65 -0
  293. package/dist/src/objectStore/buckets/app.js.map +7 -0
  294. package/dist/src/objectStore/buckets/global.js +63 -0
  295. package/dist/src/objectStore/buckets/global.js.map +7 -0
  296. package/dist/src/objectStore/buckets/index.js +27 -0
  297. package/dist/src/objectStore/buckets/index.js.map +7 -0
  298. package/dist/src/objectStore/buckets/plugins.js +101 -0
  299. package/dist/src/objectStore/buckets/plugins.js.map +7 -0
  300. package/dist/src/objectStore/buckets/tests/app.spec.js +171 -0
  301. package/dist/src/objectStore/buckets/tests/app.spec.js.map +7 -0
  302. package/dist/src/objectStore/buckets/tests/global.spec.js +87 -0
  303. package/dist/src/objectStore/buckets/tests/global.spec.js.map +7 -0
  304. package/dist/src/objectStore/buckets/tests/plugins.spec.js +123 -0
  305. package/dist/src/objectStore/buckets/tests/plugins.spec.js.map +7 -0
  306. package/dist/src/objectStore/cloudfront.js +74 -0
  307. package/dist/src/objectStore/cloudfront.js.map +7 -0
  308. package/dist/src/objectStore/index.js +27 -0
  309. package/dist/src/objectStore/index.js.map +7 -0
  310. package/dist/src/objectStore/objectStore.js +372 -0
  311. package/dist/src/objectStore/objectStore.js.map +7 -0
  312. package/dist/src/objectStore/utils.js +58 -0
  313. package/dist/src/objectStore/utils.js.map +7 -0
  314. package/dist/src/platform/index.js +45 -0
  315. package/dist/src/platform/index.js.map +7 -0
  316. package/dist/src/platform/platformDb.js +33 -0
  317. package/dist/src/platform/platformDb.js.map +7 -0
  318. package/dist/src/platform/tenants.js +123 -0
  319. package/dist/src/platform/tenants.js.map +7 -0
  320. package/dist/src/platform/tests/tenants.spec.js +46 -0
  321. package/dist/src/platform/tests/tenants.spec.js.map +7 -0
  322. package/dist/src/platform/users.js +104 -0
  323. package/dist/src/platform/users.js.map +7 -0
  324. package/dist/src/plugin/index.js +23 -0
  325. package/dist/src/plugin/index.js.map +7 -0
  326. package/dist/src/plugin/tests/validation.spec.js +97 -0
  327. package/dist/src/plugin/tests/validation.spec.js.map +7 -0
  328. package/dist/src/plugin/utils.js +153 -0
  329. package/dist/src/plugin/utils.js.map +7 -0
  330. package/dist/src/queue/constants.js +35 -0
  331. package/dist/src/queue/constants.js.map +7 -0
  332. package/dist/src/queue/inMemoryQueue.js +139 -0
  333. package/dist/src/queue/inMemoryQueue.js.map +7 -0
  334. package/dist/src/queue/index.js +25 -0
  335. package/dist/src/queue/index.js.map +7 -0
  336. package/dist/src/queue/listeners.js +177 -0
  337. package/dist/src/queue/listeners.js.map +7 -0
  338. package/dist/src/queue/queue.js +85 -0
  339. package/dist/src/queue/queue.js.map +7 -0
  340. package/dist/src/redis/index.js +48 -0
  341. package/dist/src/redis/index.js.map +7 -0
  342. package/dist/src/redis/init.js +128 -0
  343. package/dist/src/redis/init.js.map +7 -0
  344. package/dist/src/redis/redis.js +277 -0
  345. package/dist/src/redis/redis.js.map +7 -0
  346. package/dist/src/redis/redlockImpl.js +145 -0
  347. package/dist/src/redis/redlockImpl.js.map +7 -0
  348. package/dist/src/redis/utils.js +136 -0
  349. package/dist/src/redis/utils.js.map +7 -0
  350. package/dist/src/security/encryption.js +184 -0
  351. package/dist/src/security/encryption.js.map +7 -0
  352. package/dist/src/security/permissions.js +188 -0
  353. package/dist/src/security/permissions.js.map +7 -0
  354. package/dist/src/security/roles.js +337 -0
  355. package/dist/src/security/roles.js.map +7 -0
  356. package/dist/src/security/sessions.js +135 -0
  357. package/dist/src/security/sessions.js.map +7 -0
  358. package/dist/src/security/tests/encryption.spec.js +51 -0
  359. package/dist/src/security/tests/encryption.spec.js.map +7 -0
  360. package/dist/src/security/tests/permissions.spec.js +154 -0
  361. package/dist/src/security/tests/permissions.spec.js.map +7 -0
  362. package/dist/src/security/tests/sessions.spec.js +33 -0
  363. package/dist/src/security/tests/sessions.spec.js.map +7 -0
  364. package/dist/src/tenancy/db.js +33 -0
  365. package/dist/src/tenancy/db.js.map +7 -0
  366. package/dist/src/tenancy/index.js +25 -0
  367. package/dist/src/tenancy/index.js.map +7 -0
  368. package/dist/src/tenancy/tenancy.js +129 -0
  369. package/dist/src/tenancy/tenancy.js.map +7 -0
  370. package/dist/src/tenancy/tests/tenancy.spec.js +154 -0
  371. package/dist/src/tenancy/tests/tenancy.spec.js.map +7 -0
  372. package/dist/src/timers/index.js +23 -0
  373. package/dist/src/timers/index.js.map +7 -0
  374. package/dist/src/timers/timers.js +51 -0
  375. package/dist/src/timers/timers.js.map +7 -0
  376. package/dist/src/users/db.js +381 -0
  377. package/dist/src/users/db.js.map +7 -0
  378. package/dist/src/users/events.js +152 -0
  379. package/dist/src/users/events.js.map +7 -0
  380. package/dist/src/users/index.js +36 -0
  381. package/dist/src/users/index.js.map +7 -0
  382. package/dist/src/users/lookup.js +110 -0
  383. package/dist/src/users/lookup.js.map +7 -0
  384. package/dist/src/users/users.js +257 -0
  385. package/dist/src/users/users.js.map +7 -0
  386. package/dist/src/users/utils.js +95 -0
  387. package/dist/src/users/utils.js.map +7 -0
  388. package/dist/src/utils/hashing.js +53 -0
  389. package/dist/src/utils/hashing.js.map +7 -0
  390. package/dist/src/utils/index.js +27 -0
  391. package/dist/src/utils/index.js.map +7 -0
  392. package/dist/src/utils/stringUtils.js +33 -0
  393. package/dist/src/utils/stringUtils.js.map +7 -0
  394. package/dist/src/utils/tests/utils.spec.js +165 -0
  395. package/dist/src/utils/tests/utils.spec.js.map +7 -0
  396. package/dist/src/utils/utils.js +207 -0
  397. package/dist/src/utils/utils.js.map +7 -0
  398. package/dist/tests/core/logging.js +57 -0
  399. package/dist/tests/core/logging.js.map +7 -0
  400. package/dist/tests/core/utilities/index.js +54 -0
  401. package/dist/tests/core/utilities/index.js.map +7 -0
  402. package/dist/tests/core/utilities/jestUtils.js +50 -0
  403. package/dist/tests/core/utilities/jestUtils.js.map +7 -0
  404. package/dist/tests/core/utilities/mocks/alerts.js +41 -0
  405. package/dist/tests/core/utilities/mocks/alerts.js.map +7 -0
  406. package/dist/tests/core/utilities/mocks/date.js +32 -0
  407. package/dist/tests/core/utilities/mocks/date.js.map +7 -0
  408. package/dist/tests/core/utilities/mocks/events.js +133 -0
  409. package/dist/tests/core/utilities/mocks/events.js.map +7 -0
  410. package/dist/tests/core/utilities/mocks/fetch.js +39 -0
  411. package/dist/tests/core/utilities/mocks/fetch.js.map +7 -0
  412. package/dist/tests/core/utilities/mocks/index.js +55 -0
  413. package/dist/tests/core/utilities/mocks/index.js.map +7 -0
  414. package/dist/tests/core/utilities/mocks/licenses.js +145 -0
  415. package/dist/tests/core/utilities/mocks/licenses.js.map +7 -0
  416. package/dist/tests/core/utilities/mocks/posthog.js +9 -0
  417. package/dist/tests/core/utilities/mocks/posthog.js.map +7 -0
  418. package/dist/tests/core/utilities/structures/Chance.js +48 -0
  419. package/dist/tests/core/utilities/structures/Chance.js.map +7 -0
  420. package/dist/tests/core/utilities/structures/accounts.js +148 -0
  421. package/dist/tests/core/utilities/structures/accounts.js.map +7 -0
  422. package/dist/tests/core/utilities/structures/apps.js +47 -0
  423. package/dist/tests/core/utilities/structures/apps.js.map +7 -0
  424. package/dist/tests/core/utilities/structures/common.js +35 -0
  425. package/dist/tests/core/utilities/structures/common.js.map +7 -0
  426. package/dist/tests/core/utilities/structures/db.js +40 -0
  427. package/dist/tests/core/utilities/structures/db.js.map +7 -0
  428. package/dist/tests/core/utilities/structures/documents/index.js +23 -0
  429. package/dist/tests/core/utilities/structures/documents/index.js.map +7 -0
  430. package/dist/tests/core/utilities/structures/documents/platform/index.js +39 -0
  431. package/dist/tests/core/utilities/structures/documents/platform/index.js.map +7 -0
  432. package/dist/tests/core/utilities/structures/documents/platform/installation.js +48 -0
  433. package/dist/tests/core/utilities/structures/documents/platform/installation.js.map +7 -0
  434. package/dist/tests/core/utilities/structures/generator.js +40 -0
  435. package/dist/tests/core/utilities/structures/generator.js.map +7 -0
  436. package/dist/tests/core/utilities/structures/index.js +81 -0
  437. package/dist/tests/core/utilities/structures/index.js.map +7 -0
  438. package/dist/tests/core/utilities/structures/koa.js +42 -0
  439. package/dist/tests/core/utilities/structures/koa.js.map +7 -0
  440. package/dist/tests/core/utilities/structures/licenses.js +175 -0
  441. package/dist/tests/core/utilities/structures/licenses.js.map +7 -0
  442. package/dist/tests/core/utilities/structures/plugins.js +46 -0
  443. package/dist/tests/core/utilities/structures/plugins.js.map +7 -0
  444. package/dist/tests/core/utilities/structures/quotas.js +94 -0
  445. package/dist/tests/core/utilities/structures/quotas.js.map +7 -0
  446. package/dist/tests/core/utilities/structures/scim.js +90 -0
  447. package/dist/tests/core/utilities/structures/scim.js.map +7 -0
  448. package/dist/tests/core/utilities/structures/shared.js +46 -0
  449. package/dist/tests/core/utilities/structures/shared.js.map +7 -0
  450. package/dist/tests/core/utilities/structures/sso.js +144 -0
  451. package/dist/tests/core/utilities/structures/sso.js.map +7 -0
  452. package/dist/tests/core/utilities/structures/tenants.js +32 -0
  453. package/dist/tests/core/utilities/structures/tenants.js.map +7 -0
  454. package/dist/tests/core/utilities/structures/userGroups.js +36 -0
  455. package/dist/tests/core/utilities/structures/userGroups.js.map +7 -0
  456. package/dist/tests/core/utilities/structures/users.js +96 -0
  457. package/dist/tests/core/utilities/structures/users.js.map +7 -0
  458. package/dist/tests/core/utilities/testContainerUtils.js +100 -0
  459. package/dist/tests/core/utilities/testContainerUtils.js.map +7 -0
  460. package/dist/tests/core/utilities/utils/index.js +39 -0
  461. package/dist/tests/core/utilities/utils/index.js.map +7 -0
  462. package/dist/tests/core/utilities/utils/time.js +31 -0
  463. package/dist/tests/core/utilities/utils/time.js.map +7 -0
  464. package/dist/tests/extra/DBTestConfiguration.js +61 -0
  465. package/dist/tests/extra/DBTestConfiguration.js.map +7 -0
  466. package/dist/tests/extra/index.js +42 -0
  467. package/dist/tests/extra/index.js.map +7 -0
  468. package/dist/tests/extra/testEnv.js +106 -0
  469. package/dist/tests/extra/testEnv.js.map +7 -0
  470. package/dist/tests/index.js +23 -0
  471. package/dist/tests/index.js.map +7 -0
  472. package/dist/tests/jestEnv.js +8 -0
  473. package/dist/tests/jestEnv.js.map +7 -0
  474. package/dist/tests/jestSetup.js +41 -0
  475. package/dist/tests/jestSetup.js.map +7 -0
  476. package/package.json +5 -5
  477. package/dist/tests.js +0 -8467
  478. package/dist/tests.js.map +0 -7
  479. package/dist/tests.js.meta.json +0 -1
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var alerts_exports = {};
20
+ __export(alerts_exports, {
21
+ logAlert: () => logAlert,
22
+ logAlertWithInfo: () => logAlertWithInfo,
23
+ logWarn: () => logWarn
24
+ });
25
+ module.exports = __toCommonJS(alerts_exports);
26
+ const NonErrors = ["AccountError"];
27
+ function isSuppressed(e) {
28
+ return e && e["suppressAlert"];
29
+ }
30
+ function logAlert(message, e) {
31
+ if (e && NonErrors.includes(e.name) && isSuppressed(e)) {
32
+ return;
33
+ }
34
+ console.error(`bb-alert: ${message}`, e);
35
+ }
36
+ function logAlertWithInfo(message, db, id, error) {
37
+ message = `${message} - db: ${db} - doc: ${id} - error: `;
38
+ logAlert(message, error);
39
+ }
40
+ function logWarn(message, e) {
41
+ console.warn(`bb-warn: ${message}`, e);
42
+ }
43
+ // Annotate the CommonJS export names for ESM import in node:
44
+ 0 && (module.exports = {
45
+ logAlert,
46
+ logAlertWithInfo,
47
+ logWarn
48
+ });
49
+ //# sourceMappingURL=alerts.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/logging/alerts.ts"],
4
+ "sourcesContent": ["const NonErrors = [\"AccountError\"]\n\nfunction isSuppressed(e?: any) {\n return e && e[\"suppressAlert\"]\n}\n\nexport function logAlert(message: string, e?: any) {\n if (e && NonErrors.includes(e.name) && isSuppressed(e)) {\n return\n }\n console.error(`bb-alert: ${message}`, e)\n}\n\nexport function logAlertWithInfo(\n message: string,\n db: string,\n id: string,\n error: any\n) {\n message = `${message} - db: ${db} - doc: ${id} - error: `\n logAlert(message, error)\n}\n\nexport function logWarn(message: string, e?: any) {\n console.warn(`bb-warn: ${message}`, e)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,YAAY,CAAC,cAAc;AAEjC,SAAS,aAAa,GAAS;AAC7B,SAAO,KAAK,EAAE,eAAe;AAC/B;AAEO,SAAS,SAAS,SAAiB,GAAS;AACjD,MAAI,KAAK,UAAU,SAAS,EAAE,IAAI,KAAK,aAAa,CAAC,GAAG;AACtD;AAAA,EACF;AACA,UAAQ,MAAM,aAAa,OAAO,IAAI,CAAC;AACzC;AAEO,SAAS,iBACd,SACA,IACA,IACA,OACA;AACA,YAAU,GAAG,OAAO,UAAU,EAAE,WAAW,EAAE;AAC7C,WAAS,SAAS,KAAK;AACzB;AAEO,SAAS,QAAQ,SAAiB,GAAS;AAChD,UAAQ,KAAK,YAAY,OAAO,IAAI,CAAC;AACvC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var correlation_exports = {};
20
+ __export(correlation_exports, {
21
+ getId: () => getId,
22
+ setHeader: () => setHeader
23
+ });
24
+ module.exports = __toCommonJS(correlation_exports);
25
+ var import_constants = require("../../constants");
26
+ const correlator = require("correlation-id");
27
+ const setHeader = (headers) => {
28
+ const correlationId = correlator.getId();
29
+ if (correlationId) {
30
+ headers[import_constants.Header.CORRELATION_ID] = correlationId;
31
+ }
32
+ };
33
+ function getId() {
34
+ return correlator.getId();
35
+ }
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ getId,
39
+ setHeader
40
+ });
41
+ //# sourceMappingURL=correlation.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/logging/correlation/correlation.ts"],
4
+ "sourcesContent": ["import { Header } from \"../../constants\"\nconst correlator = require(\"correlation-id\")\n\nexport const setHeader = (headers: any) => {\n const correlationId = correlator.getId()\n if (correlationId) {\n headers[Header.CORRELATION_ID] = correlationId\n }\n}\n\nexport function getId() {\n return correlator.getId()\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAuB;AACvB,MAAM,aAAa,QAAQ,gBAAgB;AAEpC,MAAM,YAAY,CAAC,YAAiB;AACzC,QAAM,gBAAgB,WAAW,MAAM;AACvC,MAAI,eAAe;AACjB,YAAQ,wBAAO,cAAc,IAAI;AAAA,EACnC;AACF;AAEO,SAAS,QAAQ;AACtB,SAAO,WAAW,MAAM;AAC1B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var correlation_exports = {};
17
+ module.exports = __toCommonJS(correlation_exports);
18
+ __reExport(correlation_exports, require("./correlation"), module.exports);
19
+ // Annotate the CommonJS export names for ESM import in node:
20
+ 0 && (module.exports = {
21
+ ...require("./correlation")
22
+ });
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/logging/correlation/index.ts"],
4
+ "sourcesContent": ["export * from \"./correlation\"\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,gCAAc,0BAAd;",
6
+ "names": []
7
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var middleware_exports = {};
20
+ __export(middleware_exports, {
21
+ default: () => middleware_default
22
+ });
23
+ module.exports = __toCommonJS(middleware_exports);
24
+ var import_constants = require("../../constants");
25
+ var import_uuid = require("uuid");
26
+ const correlator = require("correlation-id");
27
+ const correlation = (ctx, next) => {
28
+ let correlationId = ctx.headers[import_constants.Header.CORRELATION_ID];
29
+ if (!correlationId) {
30
+ correlationId = (0, import_uuid.v4)();
31
+ }
32
+ return correlator.withId(correlationId, () => {
33
+ return next();
34
+ });
35
+ };
36
+ var middleware_default = correlation;
37
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/logging/correlation/middleware.ts"],
4
+ "sourcesContent": ["import { Header } from \"../../constants\"\nimport { v4 as uuid } from \"uuid\"\nconst correlator = require(\"correlation-id\")\n\nconst correlation = (ctx: any, next: any) => {\n // use the provided correlation id header if present\n let correlationId = ctx.headers[Header.CORRELATION_ID]\n if (!correlationId) {\n correlationId = uuid()\n }\n\n return correlator.withId(correlationId, () => {\n return next()\n })\n}\n\nexport default correlation\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAuB;AACvB,kBAA2B;AAC3B,MAAM,aAAa,QAAQ,gBAAgB;AAE3C,MAAM,cAAc,CAAC,KAAU,SAAc;AAE3C,MAAI,gBAAgB,IAAI,QAAQ,wBAAO,cAAc;AACrD,MAAI,CAAC,eAAe;AAClB,wBAAgB,YAAAA,IAAK;AAAA,EACvB;AAEA,SAAO,WAAW,OAAO,eAAe,MAAM;AAC5C,WAAO,KAAK;AAAA,EACd,CAAC;AACH;AAEA,IAAO,qBAAQ;",
6
+ "names": ["uuid"]
7
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var logging_exports = {};
31
+ __export(logging_exports, {
32
+ correlation: () => correlation,
33
+ logger: () => import_logger.logger,
34
+ system: () => system
35
+ });
36
+ module.exports = __toCommonJS(logging_exports);
37
+ var correlation = __toESM(require("./correlation/correlation"));
38
+ var import_logger = require("./pino/logger");
39
+ __reExport(logging_exports, require("./alerts"), module.exports);
40
+ var system = __toESM(require("./system"));
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ correlation,
44
+ logger,
45
+ system,
46
+ ...require("./alerts")
47
+ });
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/logging/index.ts"],
4
+ "sourcesContent": ["export * as correlation from \"./correlation/correlation\"\nexport { logger } from \"./pino/logger\"\nexport * from \"./alerts\"\nexport * as system from \"./system\"\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B;AAC7B,oBAAuB;AACvB,4BAAc,qBAFd;AAGA,aAAwB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var logger_exports = {};
30
+ __export(logger_exports, {
31
+ logger: () => logger
32
+ });
33
+ module.exports = __toCommonJS(logger_exports);
34
+ var import_pino = __toESM(require("pino"));
35
+ var import_pino_pretty = __toESM(require("pino-pretty"));
36
+ var import_environment = __toESM(require("../../environment"));
37
+ var context = __toESM(require("../../context"));
38
+ var correlation = __toESM(require("../correlation"));
39
+ var import_system = require("../system");
40
+ let pinoInstance;
41
+ if (!import_environment.default.DISABLE_PINO_LOGGER) {
42
+ let isPlainObject = function(obj) {
43
+ return typeof obj === "object" && obj !== null && !(obj instanceof Error);
44
+ }, isError = function(obj) {
45
+ return obj instanceof Error;
46
+ }, isMessage = function(obj) {
47
+ return typeof obj === "string";
48
+ }, getLogParams = function(args) {
49
+ let error = void 0;
50
+ let objects = [];
51
+ let message = "";
52
+ args.forEach((arg) => {
53
+ if (isMessage(arg)) {
54
+ message = `${message} ${arg}`.trimStart();
55
+ }
56
+ if (isPlainObject(arg)) {
57
+ objects.push(arg);
58
+ }
59
+ if (isError(arg)) {
60
+ error = arg;
61
+ }
62
+ });
63
+ const identity = getIdentity();
64
+ let contextObject = {};
65
+ contextObject = {
66
+ tenantId: getTenantId(),
67
+ appId: getAppId(),
68
+ automationId: getAutomationId(),
69
+ identityId: identity?._id,
70
+ identityType: identity?.type,
71
+ correlationId: correlation.getId()
72
+ };
73
+ const mergingObject = {
74
+ err: error,
75
+ pid: process.pid,
76
+ ...contextObject
77
+ };
78
+ if (objects.length) {
79
+ const data = {};
80
+ let dataIndex = 0;
81
+ for (let i = 0; i < objects.length; i++) {
82
+ const object = objects[i];
83
+ const logKey = object._logKey;
84
+ if (logKey) {
85
+ delete object._logKey;
86
+ mergingObject[logKey] = object;
87
+ } else {
88
+ data[dataIndex] = object;
89
+ dataIndex++;
90
+ }
91
+ }
92
+ if (Object.keys(data).length) {
93
+ mergingObject.data = data;
94
+ }
95
+ }
96
+ return [mergingObject, message];
97
+ };
98
+ var isPlainObject2 = isPlainObject, isError2 = isError, isMessage2 = isMessage, getLogParams2 = getLogParams;
99
+ const level = import_environment.default.LOG_LEVEL;
100
+ const pinoOptions = {
101
+ level,
102
+ formatters: {
103
+ level: (level2) => {
104
+ return { level: level2.toUpperCase() };
105
+ },
106
+ bindings: () => {
107
+ if (import_environment.default.SELF_HOSTED) {
108
+ return {
109
+ service: import_environment.default.SERVICE_NAME
110
+ };
111
+ } else {
112
+ return {};
113
+ }
114
+ }
115
+ },
116
+ timestamp: () => `,"timestamp":"${new Date(Date.now()).toISOString()}"`
117
+ };
118
+ const destinations = [];
119
+ destinations.push(
120
+ import_environment.default.isDev() ? {
121
+ stream: (0, import_pino_pretty.default)({ singleLine: true }),
122
+ level
123
+ } : { stream: process.stdout, level }
124
+ );
125
+ if (import_environment.default.SELF_HOSTED) {
126
+ destinations.push({
127
+ stream: (0, import_system.localFileDestination)(),
128
+ level
129
+ });
130
+ }
131
+ pinoInstance = destinations.length ? (0, import_pino.default)(pinoOptions, import_pino.default.multistream(destinations)) : (0, import_pino.default)(pinoOptions);
132
+ console.log = (...arg) => {
133
+ const [obj, msg] = getLogParams(arg);
134
+ pinoInstance?.info(obj, msg);
135
+ };
136
+ console.info = (...arg) => {
137
+ const [obj, msg] = getLogParams(arg);
138
+ pinoInstance?.info(obj, msg);
139
+ };
140
+ console.warn = (...arg) => {
141
+ const [obj, msg] = getLogParams(arg);
142
+ pinoInstance?.warn(obj, msg);
143
+ };
144
+ console.error = (...arg) => {
145
+ const [obj, msg] = getLogParams(arg);
146
+ pinoInstance?.error(obj, msg);
147
+ };
148
+ console.trace = (...arg) => {
149
+ const [obj, msg] = getLogParams(arg);
150
+ if (!obj.err) {
151
+ obj.err = new Error();
152
+ }
153
+ pinoInstance?.trace(obj, msg);
154
+ };
155
+ console.debug = (...arg) => {
156
+ const [obj, msg] = getLogParams(arg);
157
+ pinoInstance?.debug(obj, msg);
158
+ };
159
+ const getTenantId = () => {
160
+ let tenantId;
161
+ try {
162
+ tenantId = context.getTenantId();
163
+ } catch (e) {
164
+ }
165
+ return tenantId;
166
+ };
167
+ const getAppId = () => {
168
+ let appId;
169
+ try {
170
+ appId = context.getAppId();
171
+ } catch (e) {
172
+ }
173
+ return appId;
174
+ };
175
+ const getAutomationId = () => {
176
+ let appId;
177
+ try {
178
+ appId = context.getAutomationId();
179
+ } catch (e) {
180
+ }
181
+ return appId;
182
+ };
183
+ const getIdentity = () => {
184
+ let identity;
185
+ try {
186
+ identity = context.getIdentity();
187
+ } catch (e) {
188
+ }
189
+ return identity;
190
+ };
191
+ }
192
+ const logger = pinoInstance;
193
+ // Annotate the CommonJS export names for ESM import in node:
194
+ 0 && (module.exports = {
195
+ logger
196
+ });
197
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/logging/pino/logger.ts"],
4
+ "sourcesContent": ["import pino, { LoggerOptions } from \"pino\"\nimport pinoPretty from \"pino-pretty\"\n\nimport { IdentityType } from \"@budibase/types\"\nimport env from \"../../environment\"\nimport * as context from \"../../context\"\nimport * as correlation from \"../correlation\"\n\nimport { localFileDestination } from \"../system\"\n\n// LOGGER\n\nlet pinoInstance: pino.Logger | undefined\nif (!env.DISABLE_PINO_LOGGER) {\n const level = env.LOG_LEVEL\n const pinoOptions: LoggerOptions = {\n level,\n formatters: {\n level: level => {\n return { level: level.toUpperCase() }\n },\n bindings: () => {\n if (env.SELF_HOSTED) {\n // \"service\" is being injected in datadog using the pod names,\n // so we should leave it blank to allow the default behaviour if it's not running self-hosted\n return {\n service: env.SERVICE_NAME,\n }\n } else {\n return {}\n }\n },\n },\n timestamp: () => `,\"timestamp\":\"${new Date(Date.now()).toISOString()}\"`,\n }\n\n const destinations: pino.StreamEntry[] = []\n\n destinations.push(\n env.isDev()\n ? {\n stream: pinoPretty({ singleLine: true }),\n level: level as pino.Level,\n }\n : { stream: process.stdout, level: level as pino.Level }\n )\n\n if (env.SELF_HOSTED) {\n destinations.push({\n stream: localFileDestination(),\n level: level as pino.Level,\n })\n }\n\n pinoInstance = destinations.length\n ? pino(pinoOptions, pino.multistream(destinations))\n : pino(pinoOptions)\n\n // CONSOLE OVERRIDES\n\n interface MergingObject {\n objects?: any[]\n tenantId?: string\n appId?: string\n automationId?: string\n identityId?: string\n identityType?: IdentityType\n correlationId?: string\n err?: Error\n }\n\n function isPlainObject(obj: any) {\n return typeof obj === \"object\" && obj !== null && !(obj instanceof Error)\n }\n\n function isError(obj: any) {\n return obj instanceof Error\n }\n\n function isMessage(obj: any) {\n return typeof obj === \"string\"\n }\n\n /**\n * Backwards compatibility between console logging statements\n * and pino logging requirements.\n */\n function getLogParams(args: any[]): [MergingObject, string] {\n let error = undefined\n let objects: any[] = []\n let message = \"\"\n\n args.forEach(arg => {\n if (isMessage(arg)) {\n message = `${message} ${arg}`.trimStart()\n }\n if (isPlainObject(arg)) {\n objects.push(arg)\n }\n if (isError(arg)) {\n error = arg\n }\n })\n\n const identity = getIdentity()\n\n let contextObject = {}\n\n contextObject = {\n tenantId: getTenantId(),\n appId: getAppId(),\n automationId: getAutomationId(),\n identityId: identity?._id,\n identityType: identity?.type,\n correlationId: correlation.getId(),\n }\n\n const mergingObject: any = {\n err: error,\n pid: process.pid,\n ...contextObject,\n }\n\n if (objects.length) {\n // init generic data object for params supplied that don't have a\n // '_logKey' field. This prints an object using argument index as the key\n // e.g. { 0: {}, 1: {} }\n const data: any = {}\n let dataIndex = 0\n\n for (let i = 0; i < objects.length; i++) {\n const object = objects[i]\n // the object has specified a log key\n // use this instead of generic key\n const logKey = object._logKey\n if (logKey) {\n delete object._logKey\n mergingObject[logKey] = object\n } else {\n data[dataIndex] = object\n dataIndex++\n }\n }\n\n if (Object.keys(data).length) {\n mergingObject.data = data\n }\n }\n\n return [mergingObject, message]\n }\n\n console.log = (...arg: any[]) => {\n const [obj, msg] = getLogParams(arg)\n pinoInstance?.info(obj, msg)\n }\n console.info = (...arg: any[]) => {\n const [obj, msg] = getLogParams(arg)\n pinoInstance?.info(obj, msg)\n }\n console.warn = (...arg: any[]) => {\n const [obj, msg] = getLogParams(arg)\n pinoInstance?.warn(obj, msg)\n }\n console.error = (...arg: any[]) => {\n const [obj, msg] = getLogParams(arg)\n pinoInstance?.error(obj, msg)\n }\n\n /**\n * custom trace impl - this resembles the node trace behaviour rather\n * than traditional trace logging\n * @param arg\n */\n console.trace = (...arg: any[]) => {\n const [obj, msg] = getLogParams(arg)\n if (!obj.err) {\n // to get stack trace\n obj.err = new Error()\n }\n pinoInstance?.trace(obj, msg)\n }\n\n console.debug = (...arg: any) => {\n const [obj, msg] = getLogParams(arg)\n pinoInstance?.debug(obj, msg)\n }\n\n // CONTEXT\n\n const getTenantId = () => {\n let tenantId\n try {\n tenantId = context.getTenantId()\n } catch (e: any) {\n // do nothing\n }\n return tenantId\n }\n\n const getAppId = () => {\n let appId\n try {\n appId = context.getAppId()\n } catch (e) {\n // do nothing\n }\n return appId\n }\n\n const getAutomationId = () => {\n let appId\n try {\n appId = context.getAutomationId()\n } catch (e) {\n // do nothing\n }\n return appId\n }\n\n const getIdentity = () => {\n let identity\n try {\n identity = context.getIdentity()\n } catch (e) {\n // do nothing\n }\n return identity\n }\n}\n\nexport const logger = pinoInstance\n"],
5
+ "mappings": "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",
6
+ "names": ["env", "isPlainObject", "isError", "isMessage", "getLogParams", "level", "pinoPretty", "pino"]
7
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var middleware_exports = {};
30
+ __export(middleware_exports, {
31
+ default: () => middleware_default,
32
+ pinoSettings: () => pinoSettings
33
+ });
34
+ module.exports = __toCommonJS(middleware_exports);
35
+ var import_environment = __toESM(require("../../environment"));
36
+ var import_logger = require("./logger");
37
+ const pino = require("koa-pino-logger");
38
+ const correlator = require("correlation-id");
39
+ function pinoSettings() {
40
+ return {
41
+ logger: import_logger.logger,
42
+ genReqId: correlator.getId,
43
+ autoLogging: {
44
+ ignore: (req) => !!req.url?.includes("/health")
45
+ },
46
+ serializers: {
47
+ req: (req) => {
48
+ return {
49
+ method: req.method,
50
+ url: req.url,
51
+ correlationId: req.id
52
+ };
53
+ },
54
+ res: (res) => {
55
+ return {
56
+ status: res.statusCode
57
+ };
58
+ }
59
+ }
60
+ };
61
+ }
62
+ function getMiddleware() {
63
+ if (import_environment.default.HTTP_LOGGING) {
64
+ return pino(pinoSettings());
65
+ } else {
66
+ return (ctx, next) => {
67
+ return next();
68
+ };
69
+ }
70
+ }
71
+ const pinoMiddleware = getMiddleware();
72
+ var middleware_default = pinoMiddleware;
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
75
+ pinoSettings
76
+ });
77
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/logging/pino/middleware.ts"],
4
+ "sourcesContent": ["import env from \"../../environment\"\nimport { logger } from \"./logger\"\nimport { IncomingMessage } from \"http\"\nconst pino = require(\"koa-pino-logger\")\nimport { Options } from \"pino-http\"\nimport { Ctx } from \"@budibase/types\"\nconst correlator = require(\"correlation-id\")\n\nexport function pinoSettings(): Options {\n return {\n logger,\n genReqId: correlator.getId,\n autoLogging: {\n ignore: (req: IncomingMessage) => !!req.url?.includes(\"/health\"),\n },\n serializers: {\n req: req => {\n return {\n method: req.method,\n url: req.url,\n correlationId: req.id,\n }\n },\n res: res => {\n return {\n status: res.statusCode,\n }\n },\n },\n }\n}\n\nfunction getMiddleware() {\n if (env.HTTP_LOGGING) {\n return pino(pinoSettings())\n } else {\n return (ctx: Ctx, next: any) => {\n return next()\n }\n }\n}\n\nconst pinoMiddleware = getMiddleware()\n\nexport default pinoMiddleware\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAAgB;AAChB,oBAAuB;AAEvB,MAAM,OAAO,QAAQ,iBAAiB;AAGtC,MAAM,aAAa,QAAQ,gBAAgB;AAEpC,SAAS,eAAwB;AACtC,SAAO;AAAA,IACL;AAAA,IACA,UAAU,WAAW;AAAA,IACrB,aAAa;AAAA,MACX,QAAQ,CAAC,QAAyB,CAAC,CAAC,IAAI,KAAK,SAAS,SAAS;AAAA,IACjE;AAAA,IACA,aAAa;AAAA,MACX,KAAK,SAAO;AACV,eAAO;AAAA,UACL,QAAQ,IAAI;AAAA,UACZ,KAAK,IAAI;AAAA,UACT,eAAe,IAAI;AAAA,QACrB;AAAA,MACF;AAAA,MACA,KAAK,SAAO;AACV,eAAO;AAAA,UACL,QAAQ,IAAI;AAAA,QACd;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,gBAAgB;AACvB,MAAI,mBAAAA,QAAI,cAAc;AACpB,WAAO,KAAK,aAAa,CAAC;AAAA,EAC5B,OAAO;AACL,WAAO,CAAC,KAAU,SAAc;AAC9B,aAAO,KAAK;AAAA,IACd;AAAA,EACF;AACF;AAEA,MAAM,iBAAiB,cAAc;AAErC,IAAO,qBAAQ;",
6
+ "names": ["env"]
7
+ }
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var system_exports = {};
30
+ __export(system_exports, {
31
+ getLogReadStream: () => getLogReadStream,
32
+ getSingleFileMaxSizeInfo: () => getSingleFileMaxSizeInfo,
33
+ localFileDestination: () => localFileDestination
34
+ });
35
+ module.exports = __toCommonJS(system_exports);
36
+ var import_fs = __toESM(require("fs"));
37
+ var import_path = __toESM(require("path"));
38
+ var rfs = __toESM(require("rotating-file-stream"));
39
+ var import_environment = __toESM(require("../environment"));
40
+ var import_objectStore = require("../objectStore");
41
+ const logsFileName = `budibase.log`;
42
+ const budibaseLogsHistoryFileName = "budibase-logs-history.txt";
43
+ const logsPath = import_path.default.join((0, import_objectStore.budibaseTempDir)(), "systemlogs");
44
+ function getFullPath(fileName) {
45
+ return import_path.default.join(logsPath, fileName);
46
+ }
47
+ function getSingleFileMaxSizeInfo(totalMaxSize) {
48
+ const regex = /(\d+)([A-Za-z])/;
49
+ const match = totalMaxSize?.match(regex);
50
+ if (!match) {
51
+ console.warn(`totalMaxSize does not have a valid value`, {
52
+ totalMaxSize
53
+ });
54
+ return void 0;
55
+ }
56
+ const size = +match[1];
57
+ const unit = match[2];
58
+ if (size === 1) {
59
+ switch (unit) {
60
+ case "B":
61
+ return { size: `${size}B`, totalHistoryFiles: 1 };
62
+ case "K":
63
+ return { size: `${size * 1e3 / 2}B`, totalHistoryFiles: 1 };
64
+ case "M":
65
+ return { size: `${size * 1e3 / 2}K`, totalHistoryFiles: 1 };
66
+ case "G":
67
+ return { size: `${size * 1e3 / 2}M`, totalHistoryFiles: 1 };
68
+ default:
69
+ return void 0;
70
+ }
71
+ }
72
+ if (size % 2 === 0) {
73
+ return { size: `${size / 2}${unit}`, totalHistoryFiles: 1 };
74
+ }
75
+ return { size: `1${unit}`, totalHistoryFiles: size - 1 };
76
+ }
77
+ function localFileDestination() {
78
+ const fileInfo = getSingleFileMaxSizeInfo(import_environment.default.ROLLING_LOG_MAX_SIZE);
79
+ const outFile = rfs.createStream(logsFileName, {
80
+ // As we have a rolling size, we want to half the max size
81
+ size: fileInfo?.size,
82
+ path: logsPath,
83
+ maxFiles: fileInfo?.totalHistoryFiles || 1,
84
+ immutable: true,
85
+ history: budibaseLogsHistoryFileName,
86
+ initialRotation: false
87
+ });
88
+ return outFile;
89
+ }
90
+ function getLogReadStream() {
91
+ const streams = [];
92
+ const historyFile = getFullPath(budibaseLogsHistoryFileName);
93
+ if (import_fs.default.existsSync(historyFile)) {
94
+ const fileContent = import_fs.default.readFileSync(historyFile, "utf-8");
95
+ const historyFiles = fileContent.split("\n");
96
+ for (const historyFile2 of historyFiles.filter((x) => x)) {
97
+ streams.push(import_fs.default.readFileSync(historyFile2));
98
+ }
99
+ }
100
+ streams.push(import_fs.default.readFileSync(getFullPath(logsFileName)));
101
+ const combinedContent = Buffer.concat(streams);
102
+ return combinedContent;
103
+ }
104
+ // Annotate the CommonJS export names for ESM import in node:
105
+ 0 && (module.exports = {
106
+ getLogReadStream,
107
+ getSingleFileMaxSizeInfo,
108
+ localFileDestination
109
+ });
110
+ //# sourceMappingURL=system.js.map