@budibase/backend-core 3.2.26 → 3.2.27

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 (466) hide show
  1. package/dist/index.js +62 -23
  2. package/dist/index.js.map +4 -4
  3. package/dist/index.js.meta.json +1 -1
  4. package/dist/package.json +7 -7
  5. package/dist/plugins.js.map +2 -2
  6. package/dist/plugins.js.meta.json +1 -1
  7. package/dist/src/events/processors/types.d.ts +1 -1
  8. package/dist/src/events/publishers/index.d.ts +1 -0
  9. package/dist/src/events/publishers/rowAction.d.ts +6 -0
  10. package/dist/src/events/publishers/table.d.ts +2 -2
  11. package/dist/src/events/publishers/view.d.ts +17 -6
  12. package/dist/src/index.d.ts +11 -11
  13. package/dist/src/platform/platformDb.d.ts +1 -1
  14. package/dist/src/queue/queue.d.ts +1 -1
  15. package/dist/src/tenancy/db.d.ts +1 -1
  16. package/package.json +7 -7
  17. package/dist/jest.config.js +0 -25
  18. package/dist/jest.config.js.map +0 -1
  19. package/dist/src/accounts/accounts.js +0 -83
  20. package/dist/src/accounts/accounts.js.map +0 -1
  21. package/dist/src/accounts/api.js +0 -102
  22. package/dist/src/accounts/api.js.map +0 -1
  23. package/dist/src/accounts/index.js +0 -18
  24. package/dist/src/accounts/index.js.map +0 -1
  25. package/dist/src/auth/auth.js +0 -198
  26. package/dist/src/auth/auth.js.map +0 -1
  27. package/dist/src/auth/index.js +0 -18
  28. package/dist/src/auth/index.js.map +0 -1
  29. package/dist/src/blacklist/blacklist.js +0 -75
  30. package/dist/src/blacklist/blacklist.js.map +0 -1
  31. package/dist/src/blacklist/index.js +0 -18
  32. package/dist/src/blacklist/index.js.map +0 -1
  33. package/dist/src/cache/appMetadata.js +0 -96
  34. package/dist/src/cache/appMetadata.js.map +0 -1
  35. package/dist/src/cache/base/index.js +0 -189
  36. package/dist/src/cache/base/index.js.map +0 -1
  37. package/dist/src/cache/docWritethrough.js +0 -123
  38. package/dist/src/cache/docWritethrough.js.map +0 -1
  39. package/dist/src/cache/generic.js +0 -37
  40. package/dist/src/cache/generic.js.map +0 -1
  41. package/dist/src/cache/index.js +0 -48
  42. package/dist/src/cache/index.js.map +0 -1
  43. package/dist/src/cache/invite.js +0 -128
  44. package/dist/src/cache/invite.js.map +0 -1
  45. package/dist/src/cache/passwordReset.js +0 -92
  46. package/dist/src/cache/passwordReset.js.map +0 -1
  47. package/dist/src/cache/user.js +0 -183
  48. package/dist/src/cache/user.js.map +0 -1
  49. package/dist/src/cache/writethrough.js +0 -170
  50. package/dist/src/cache/writethrough.js.map +0 -1
  51. package/dist/src/configs/configs.js +0 -294
  52. package/dist/src/configs/configs.js.map +0 -1
  53. package/dist/src/configs/index.js +0 -18
  54. package/dist/src/configs/index.js.map +0 -1
  55. package/dist/src/constants/db.js +0 -75
  56. package/dist/src/constants/db.js.map +0 -1
  57. package/dist/src/constants/index.js +0 -19
  58. package/dist/src/constants/index.js.map +0 -1
  59. package/dist/src/constants/misc.js +0 -40
  60. package/dist/src/constants/misc.js.map +0 -1
  61. package/dist/src/context/Context.js +0 -14
  62. package/dist/src/context/Context.js.map +0 -1
  63. package/dist/src/context/identity.js +0 -81
  64. package/dist/src/context/identity.js.map +0 -1
  65. package/dist/src/context/index.js +0 -44
  66. package/dist/src/context/index.js.map +0 -1
  67. package/dist/src/context/mainContext.js +0 -446
  68. package/dist/src/context/mainContext.js.map +0 -1
  69. package/dist/src/context/types.js +0 -3
  70. package/dist/src/context/types.js.map +0 -1
  71. package/dist/src/db/Replication.js +0 -90
  72. package/dist/src/db/Replication.js.map +0 -1
  73. package/dist/src/db/couch/DatabaseImpl.js +0 -475
  74. package/dist/src/db/couch/DatabaseImpl.js.map +0 -1
  75. package/dist/src/db/couch/connections.js +0 -101
  76. package/dist/src/db/couch/connections.js.map +0 -1
  77. package/dist/src/db/couch/index.js +0 -26
  78. package/dist/src/db/couch/index.js.map +0 -1
  79. package/dist/src/db/couch/pouchDB.js +0 -108
  80. package/dist/src/db/couch/pouchDB.js.map +0 -1
  81. package/dist/src/db/couch/pouchDump.js +0 -2
  82. package/dist/src/db/couch/pouchDump.js.map +0 -1
  83. package/dist/src/db/couch/utils.js +0 -60
  84. package/dist/src/db/couch/utils.js.map +0 -1
  85. package/dist/src/db/db.js +0 -47
  86. package/dist/src/db/db.js.map +0 -1
  87. package/dist/src/db/errors.js +0 -21
  88. package/dist/src/db/errors.js.map +0 -1
  89. package/dist/src/db/index.js +0 -58
  90. package/dist/src/db/index.js.map +0 -1
  91. package/dist/src/db/instrumentation.js +0 -202
  92. package/dist/src/db/instrumentation.js.map +0 -1
  93. package/dist/src/db/lucene.js +0 -638
  94. package/dist/src/db/lucene.js.map +0 -1
  95. package/dist/src/db/searchIndexes/index.js +0 -18
  96. package/dist/src/db/searchIndexes/index.js.map +0 -1
  97. package/dist/src/db/searchIndexes/searchIndexes.js +0 -76
  98. package/dist/src/db/searchIndexes/searchIndexes.js.map +0 -1
  99. package/dist/src/db/utils.js +0 -212
  100. package/dist/src/db/utils.js.map +0 -1
  101. package/dist/src/db/views.js +0 -224
  102. package/dist/src/db/views.js.map +0 -1
  103. package/dist/src/docIds/conversions.js +0 -62
  104. package/dist/src/docIds/conversions.js.map +0 -1
  105. package/dist/src/docIds/ids.js +0 -125
  106. package/dist/src/docIds/ids.js.map +0 -1
  107. package/dist/src/docIds/index.js +0 -19
  108. package/dist/src/docIds/index.js.map +0 -1
  109. package/dist/src/docIds/newid.js +0 -8
  110. package/dist/src/docIds/newid.js.map +0 -1
  111. package/dist/src/docIds/params.js +0 -141
  112. package/dist/src/docIds/params.js.map +0 -1
  113. package/dist/src/docUpdates/index.js +0 -35
  114. package/dist/src/docUpdates/index.js.map +0 -1
  115. package/dist/src/environment.js +0 -182
  116. package/dist/src/environment.js.map +0 -1
  117. package/dist/src/errors/errors.js +0 -97
  118. package/dist/src/errors/errors.js.map +0 -1
  119. package/dist/src/errors/index.js +0 -18
  120. package/dist/src/errors/index.js.map +0 -1
  121. package/dist/src/events/analytics.js +0 -52
  122. package/dist/src/events/analytics.js.map +0 -1
  123. package/dist/src/events/asyncEvents/index.js +0 -19
  124. package/dist/src/events/asyncEvents/index.js.map +0 -1
  125. package/dist/src/events/asyncEvents/publisher.js +0 -26
  126. package/dist/src/events/asyncEvents/publisher.js.map +0 -1
  127. package/dist/src/events/asyncEvents/queue.js +0 -26
  128. package/dist/src/events/asyncEvents/queue.js.map +0 -1
  129. package/dist/src/events/backfill.js +0 -189
  130. package/dist/src/events/backfill.js.map +0 -1
  131. package/dist/src/events/documentId.js +0 -27
  132. package/dist/src/events/documentId.js.map +0 -1
  133. package/dist/src/events/events.js +0 -87
  134. package/dist/src/events/events.js.map +0 -1
  135. package/dist/src/events/identification.js +0 -299
  136. package/dist/src/events/identification.js.map +0 -1
  137. package/dist/src/events/index.js +0 -59
  138. package/dist/src/events/index.js.map +0 -1
  139. package/dist/src/events/processors/AnalyticsProcessor.js +0 -103
  140. package/dist/src/events/processors/AnalyticsProcessor.js.map +0 -1
  141. package/dist/src/events/processors/AuditLogsProcessor.js +0 -86
  142. package/dist/src/events/processors/AuditLogsProcessor.js.map +0 -1
  143. package/dist/src/events/processors/LoggingProcessor.js +0 -47
  144. package/dist/src/events/processors/LoggingProcessor.js.map +0 -1
  145. package/dist/src/events/processors/Processors.js +0 -52
  146. package/dist/src/events/processors/Processors.js.map +0 -1
  147. package/dist/src/events/processors/async/DocumentUpdateProcessor.js +0 -44
  148. package/dist/src/events/processors/async/DocumentUpdateProcessor.js.map +0 -1
  149. package/dist/src/events/processors/index.js +0 -23
  150. package/dist/src/events/processors/index.js.map +0 -1
  151. package/dist/src/events/processors/posthog/PosthogProcessor.js +0 -149
  152. package/dist/src/events/processors/posthog/PosthogProcessor.js.map +0 -1
  153. package/dist/src/events/processors/posthog/index.js +0 -8
  154. package/dist/src/events/processors/posthog/index.js.map +0 -1
  155. package/dist/src/events/processors/posthog/rateLimiting.js +0 -129
  156. package/dist/src/events/processors/posthog/rateLimiting.js.map +0 -1
  157. package/dist/src/events/processors/types.js +0 -3
  158. package/dist/src/events/processors/types.js.map +0 -1
  159. package/dist/src/events/publishers/account.js +0 -43
  160. package/dist/src/events/publishers/account.js.map +0 -1
  161. package/dist/src/events/publishers/ai.js +0 -30
  162. package/dist/src/events/publishers/ai.js.map +0 -1
  163. package/dist/src/events/publishers/app.js +0 -166
  164. package/dist/src/events/publishers/app.js.map +0 -1
  165. package/dist/src/events/publishers/auditLog.js +0 -34
  166. package/dist/src/events/publishers/auditLog.js.map +0 -1
  167. package/dist/src/events/publishers/auth.js +0 -80
  168. package/dist/src/events/publishers/auth.js.map +0 -1
  169. package/dist/src/events/publishers/automation.js +0 -117
  170. package/dist/src/events/publishers/automation.js.map +0 -1
  171. package/dist/src/events/publishers/backfill.js +0 -85
  172. package/dist/src/events/publishers/backfill.js.map +0 -1
  173. package/dist/src/events/publishers/backup.js +0 -41
  174. package/dist/src/events/publishers/backup.js.map +0 -1
  175. package/dist/src/events/publishers/datasource.js +0 -54
  176. package/dist/src/events/publishers/datasource.js.map +0 -1
  177. package/dist/src/events/publishers/email.js +0 -30
  178. package/dist/src/events/publishers/email.js.map +0 -1
  179. package/dist/src/events/publishers/environmentVariable.js +0 -44
  180. package/dist/src/events/publishers/environmentVariable.js.map +0 -1
  181. package/dist/src/events/publishers/group.js +0 -107
  182. package/dist/src/events/publishers/group.js.map +0 -1
  183. package/dist/src/events/publishers/index.js +0 -57
  184. package/dist/src/events/publishers/index.js.map +0 -1
  185. package/dist/src/events/publishers/installation.js +0 -52
  186. package/dist/src/events/publishers/installation.js.map +0 -1
  187. package/dist/src/events/publishers/layout.js +0 -34
  188. package/dist/src/events/publishers/layout.js.map +0 -1
  189. package/dist/src/events/publishers/license.js +0 -77
  190. package/dist/src/events/publishers/license.js.map +0 -1
  191. package/dist/src/events/publishers/org.js +0 -52
  192. package/dist/src/events/publishers/org.js.map +0 -1
  193. package/dist/src/events/publishers/plugin.js +0 -55
  194. package/dist/src/events/publishers/plugin.js.map +0 -1
  195. package/dist/src/events/publishers/query.js +0 -74
  196. package/dist/src/events/publishers/query.js.map +0 -1
  197. package/dist/src/events/publishers/role.js +0 -69
  198. package/dist/src/events/publishers/role.js.map +0 -1
  199. package/dist/src/events/publishers/rows.js +0 -32
  200. package/dist/src/events/publishers/rows.js.map +0 -1
  201. package/dist/src/events/publishers/screen.js +0 -46
  202. package/dist/src/events/publishers/screen.js.map +0 -1
  203. package/dist/src/events/publishers/serve.js +0 -47
  204. package/dist/src/events/publishers/serve.js.map +0 -1
  205. package/dist/src/events/publishers/table.js +0 -77
  206. package/dist/src/events/publishers/table.js.map +0 -1
  207. package/dist/src/events/publishers/user.js +0 -201
  208. package/dist/src/events/publishers/user.js.map +0 -1
  209. package/dist/src/events/publishers/view.js +0 -111
  210. package/dist/src/events/publishers/view.js.map +0 -1
  211. package/dist/src/features/features.js +0 -271
  212. package/dist/src/features/features.js.map +0 -1
  213. package/dist/src/features/index.js +0 -42
  214. package/dist/src/features/index.js.map +0 -1
  215. package/dist/src/features/tests/utils.js +0 -56
  216. package/dist/src/features/tests/utils.js.map +0 -1
  217. package/dist/src/helpers.js +0 -13
  218. package/dist/src/helpers.js.map +0 -1
  219. package/dist/src/index.js +0 -99
  220. package/dist/src/index.js.map +0 -1
  221. package/dist/src/installation.js +0 -159
  222. package/dist/src/installation.js.map +0 -1
  223. package/dist/src/logging/alerts.js +0 -23
  224. package/dist/src/logging/alerts.js.map +0 -1
  225. package/dist/src/logging/correlation/correlation.js +0 -18
  226. package/dist/src/logging/correlation/correlation.js.map +0 -1
  227. package/dist/src/logging/correlation/index.js +0 -18
  228. package/dist/src/logging/correlation/index.js.map +0 -1
  229. package/dist/src/logging/correlation/middleware.js +0 -17
  230. package/dist/src/logging/correlation/middleware.js.map +0 -1
  231. package/dist/src/logging/index.js +0 -45
  232. package/dist/src/logging/index.js.map +0 -1
  233. package/dist/src/logging/pino/logger.js +0 -234
  234. package/dist/src/logging/pino/logger.js.map +0 -1
  235. package/dist/src/logging/pino/middleware.js +0 -46
  236. package/dist/src/logging/pino/middleware.js.map +0 -1
  237. package/dist/src/logging/system.js +0 -110
  238. package/dist/src/logging/system.js.map +0 -1
  239. package/dist/src/middleware/adminOnly.js +0 -19
  240. package/dist/src/middleware/adminOnly.js.map +0 -1
  241. package/dist/src/middleware/auditLog.js +0 -18
  242. package/dist/src/middleware/auditLog.js.map +0 -1
  243. package/dist/src/middleware/authenticated.js +0 -254
  244. package/dist/src/middleware/authenticated.js.map +0 -1
  245. package/dist/src/middleware/builderOnly.js +0 -33
  246. package/dist/src/middleware/builderOnly.js.map +0 -1
  247. package/dist/src/middleware/builderOrAdmin.js +0 -33
  248. package/dist/src/middleware/builderOrAdmin.js.map +0 -1
  249. package/dist/src/middleware/contentSecurityPolicy.js +0 -124
  250. package/dist/src/middleware/contentSecurityPolicy.js.map +0 -1
  251. package/dist/src/middleware/csrf.js +0 -81
  252. package/dist/src/middleware/csrf.js.map +0 -1
  253. package/dist/src/middleware/errorHandling.js +0 -88
  254. package/dist/src/middleware/errorHandling.js.map +0 -1
  255. package/dist/src/middleware/index.js +0 -79
  256. package/dist/src/middleware/index.js.map +0 -1
  257. package/dist/src/middleware/internalApi.js +0 -30
  258. package/dist/src/middleware/internalApi.js.map +0 -1
  259. package/dist/src/middleware/ip.js +0 -23
  260. package/dist/src/middleware/ip.js.map +0 -1
  261. package/dist/src/middleware/joi-validator.js +0 -53
  262. package/dist/src/middleware/joi-validator.js.map +0 -1
  263. package/dist/src/middleware/matchers.js +0 -36
  264. package/dist/src/middleware/matchers.js.map +0 -1
  265. package/dist/src/middleware/passport/datasource/google.js +0 -107
  266. package/dist/src/middleware/passport/datasource/google.js.map +0 -1
  267. package/dist/src/middleware/passport/local.js +0 -91
  268. package/dist/src/middleware/passport/local.js.map +0 -1
  269. package/dist/src/middleware/passport/sso/google.js +0 -98
  270. package/dist/src/middleware/passport/sso/google.js.map +0 -1
  271. package/dist/src/middleware/passport/sso/oidc.js +0 -158
  272. package/dist/src/middleware/passport/sso/oidc.js.map +0 -1
  273. package/dist/src/middleware/passport/sso/sso.js +0 -150
  274. package/dist/src/middleware/passport/sso/sso.js.map +0 -1
  275. package/dist/src/middleware/passport/utils.js +0 -75
  276. package/dist/src/middleware/passport/utils.js.map +0 -1
  277. package/dist/src/middleware/querystringToBody.js +0 -29
  278. package/dist/src/middleware/querystringToBody.js.map +0 -1
  279. package/dist/src/middleware/tenancy.js +0 -37
  280. package/dist/src/middleware/tenancy.js.map +0 -1
  281. package/dist/src/migrations/definitions.js +0 -39
  282. package/dist/src/migrations/definitions.js.map +0 -1
  283. package/dist/src/migrations/index.js +0 -19
  284. package/dist/src/migrations/index.js.map +0 -1
  285. package/dist/src/migrations/migrations.js +0 -203
  286. package/dist/src/migrations/migrations.js.map +0 -1
  287. package/dist/src/objectStore/buckets/app.js +0 -95
  288. package/dist/src/objectStore/buckets/app.js.map +0 -1
  289. package/dist/src/objectStore/buckets/global.js +0 -68
  290. package/dist/src/objectStore/buckets/global.js.map +0 -1
  291. package/dist/src/objectStore/buckets/index.js +0 -20
  292. package/dist/src/objectStore/buckets/index.js.map +0 -1
  293. package/dist/src/objectStore/buckets/plugins.js +0 -104
  294. package/dist/src/objectStore/buckets/plugins.js.map +0 -1
  295. package/dist/src/objectStore/cloudfront.js +0 -73
  296. package/dist/src/objectStore/cloudfront.js.map +0 -1
  297. package/dist/src/objectStore/index.js +0 -20
  298. package/dist/src/objectStore/index.js.map +0 -1
  299. package/dist/src/objectStore/objectStore.js +0 -509
  300. package/dist/src/objectStore/objectStore.js.map +0 -1
  301. package/dist/src/objectStore/utils.js +0 -148
  302. package/dist/src/objectStore/utils.js.map +0 -1
  303. package/dist/src/platform/index.js +0 -43
  304. package/dist/src/platform/index.js.map +0 -1
  305. package/dist/src/platform/platformDb.js +0 -9
  306. package/dist/src/platform/platformDb.js.map +0 -1
  307. package/dist/src/platform/tenants.js +0 -149
  308. package/dist/src/platform/tenants.js.map +0 -1
  309. package/dist/src/platform/users.js +0 -118
  310. package/dist/src/platform/users.js.map +0 -1
  311. package/dist/src/plugin/index.js +0 -18
  312. package/dist/src/plugin/index.js.map +0 -1
  313. package/dist/src/plugin/utils.js +0 -158
  314. package/dist/src/plugin/utils.js.map +0 -1
  315. package/dist/src/queue/constants.js +0 -13
  316. package/dist/src/queue/constants.js.map +0 -1
  317. package/dist/src/queue/inMemoryQueue.js +0 -192
  318. package/dist/src/queue/inMemoryQueue.js.map +0 -1
  319. package/dist/src/queue/index.js +0 -19
  320. package/dist/src/queue/index.js.map +0 -1
  321. package/dist/src/queue/listeners.js +0 -199
  322. package/dist/src/queue/listeners.js.map +0 -1
  323. package/dist/src/queue/queue.js +0 -124
  324. package/dist/src/queue/queue.js.map +0 -1
  325. package/dist/src/redis/index.js +0 -47
  326. package/dist/src/redis/index.js.map +0 -1
  327. package/dist/src/redis/init.js +0 -184
  328. package/dist/src/redis/init.js.map +0 -1
  329. package/dist/src/redis/redis.js +0 -396
  330. package/dist/src/redis/redis.js.map +0 -1
  331. package/dist/src/redis/redlockImpl.js +0 -181
  332. package/dist/src/redis/redlockImpl.js.map +0 -1
  333. package/dist/src/redis/utils.js +0 -131
  334. package/dist/src/redis/utils.js.map +0 -1
  335. package/dist/src/security/auth.js +0 -26
  336. package/dist/src/security/auth.js.map +0 -1
  337. package/dist/src/security/encryption.js +0 -169
  338. package/dist/src/security/encryption.js.map +0 -1
  339. package/dist/src/security/index.js +0 -18
  340. package/dist/src/security/index.js.map +0 -1
  341. package/dist/src/security/permissions.js +0 -147
  342. package/dist/src/security/permissions.js.map +0 -1
  343. package/dist/src/security/roles.js +0 -566
  344. package/dist/src/security/roles.js.map +0 -1
  345. package/dist/src/security/secrets.js +0 -53
  346. package/dist/src/security/secrets.js.map +0 -1
  347. package/dist/src/security/sessions.js +0 -156
  348. package/dist/src/security/sessions.js.map +0 -1
  349. package/dist/src/sql/designDoc.js +0 -19
  350. package/dist/src/sql/designDoc.js.map +0 -1
  351. package/dist/src/sql/index.js +0 -47
  352. package/dist/src/sql/index.js.map +0 -1
  353. package/dist/src/sql/sql.js +0 -1536
  354. package/dist/src/sql/sql.js.map +0 -1
  355. package/dist/src/sql/sqlTable.js +0 -256
  356. package/dist/src/sql/sqlTable.js.map +0 -1
  357. package/dist/src/sql/utils.js +0 -179
  358. package/dist/src/sql/utils.js.map +0 -1
  359. package/dist/src/tenancy/db.js +0 -9
  360. package/dist/src/tenancy/db.js.map +0 -1
  361. package/dist/src/tenancy/index.js +0 -19
  362. package/dist/src/tenancy/index.js.map +0 -1
  363. package/dist/src/tenancy/tenancy.js +0 -125
  364. package/dist/src/tenancy/tenancy.js.map +0 -1
  365. package/dist/src/timers/index.js +0 -18
  366. package/dist/src/timers/index.js.map +0 -1
  367. package/dist/src/timers/timers.js +0 -25
  368. package/dist/src/timers/timers.js.map +0 -1
  369. package/dist/src/users/db.js +0 -489
  370. package/dist/src/users/db.js.map +0 -1
  371. package/dist/src/users/events.js +0 -179
  372. package/dist/src/users/events.js.map +0 -1
  373. package/dist/src/users/index.js +0 -23
  374. package/dist/src/users/index.js.map +0 -1
  375. package/dist/src/users/lookup.js +0 -126
  376. package/dist/src/users/lookup.js.map +0 -1
  377. package/dist/src/users/users.js +0 -376
  378. package/dist/src/users/users.js.map +0 -1
  379. package/dist/src/users/utils.js +0 -127
  380. package/dist/src/users/utils.js.map +0 -1
  381. package/dist/src/utils/Duration.js +0 -54
  382. package/dist/src/utils/Duration.js.map +0 -1
  383. package/dist/src/utils/hashing.js +0 -46
  384. package/dist/src/utils/hashing.js.map +0 -1
  385. package/dist/src/utils/index.js +0 -21
  386. package/dist/src/utils/index.js.map +0 -1
  387. package/dist/src/utils/stringUtils.js +0 -8
  388. package/dist/src/utils/stringUtils.js.map +0 -1
  389. package/dist/src/utils/utils.js +0 -267
  390. package/dist/src/utils/utils.js.map +0 -1
  391. package/dist/tests/core/logging.js +0 -33
  392. package/dist/tests/core/logging.js.map +0 -1
  393. package/dist/tests/core/utilities/index.js +0 -48
  394. package/dist/tests/core/utilities/index.js.map +0 -1
  395. package/dist/tests/core/utilities/jestUtils.js +0 -21
  396. package/dist/tests/core/utilities/jestUtils.js.map +0 -1
  397. package/dist/tests/core/utilities/mocks/alerts.js +0 -40
  398. package/dist/tests/core/utilities/mocks/alerts.js.map +0 -1
  399. package/dist/tests/core/utilities/mocks/date.js +0 -6
  400. package/dist/tests/core/utilities/mocks/date.js.map +0 -1
  401. package/dist/tests/core/utilities/mocks/events.js +0 -154
  402. package/dist/tests/core/utilities/mocks/events.js.map +0 -1
  403. package/dist/tests/core/utilities/mocks/index.js +0 -47
  404. package/dist/tests/core/utilities/mocks/index.js.map +0 -1
  405. package/dist/tests/core/utilities/mocks/licenses.js +0 -109
  406. package/dist/tests/core/utilities/mocks/licenses.js.map +0 -1
  407. package/dist/tests/core/utilities/queue.js +0 -21
  408. package/dist/tests/core/utilities/queue.js.map +0 -1
  409. package/dist/tests/core/utilities/structures/Chance.js +0 -21
  410. package/dist/tests/core/utilities/structures/Chance.js.map +0 -1
  411. package/dist/tests/core/utilities/structures/accounts.js +0 -43
  412. package/dist/tests/core/utilities/structures/accounts.js.map +0 -1
  413. package/dist/tests/core/utilities/structures/apps.js +0 -23
  414. package/dist/tests/core/utilities/structures/apps.js.map +0 -1
  415. package/dist/tests/core/utilities/structures/common.js +0 -11
  416. package/dist/tests/core/utilities/structures/common.js.map +0 -1
  417. package/dist/tests/core/utilities/structures/db.js +0 -15
  418. package/dist/tests/core/utilities/structures/db.js.map +0 -1
  419. package/dist/tests/core/utilities/structures/documents/index.js +0 -18
  420. package/dist/tests/core/utilities/structures/documents/index.js.map +0 -1
  421. package/dist/tests/core/utilities/structures/documents/platform/index.js +0 -38
  422. package/dist/tests/core/utilities/structures/documents/platform/index.js.map +0 -1
  423. package/dist/tests/core/utilities/structures/documents/platform/installation.js +0 -47
  424. package/dist/tests/core/utilities/structures/documents/platform/installation.js.map +0 -1
  425. package/dist/tests/core/utilities/structures/generator.js +0 -9
  426. package/dist/tests/core/utilities/structures/generator.js.map +0 -1
  427. package/dist/tests/core/utilities/structures/index.js +0 -56
  428. package/dist/tests/core/utilities/structures/index.js.map +0 -1
  429. package/dist/tests/core/utilities/structures/koa.js +0 -10
  430. package/dist/tests/core/utilities/structures/koa.js.map +0 -1
  431. package/dist/tests/core/utilities/structures/licenses.js +0 -157
  432. package/dist/tests/core/utilities/structures/licenses.js.map +0 -1
  433. package/dist/tests/core/utilities/structures/plugins.js +0 -22
  434. package/dist/tests/core/utilities/structures/plugins.js.map +0 -1
  435. package/dist/tests/core/utilities/structures/quotas.js +0 -73
  436. package/dist/tests/core/utilities/structures/quotas.js.map +0 -1
  437. package/dist/tests/core/utilities/structures/scim.js +0 -62
  438. package/dist/tests/core/utilities/structures/scim.js.map +0 -1
  439. package/dist/tests/core/utilities/structures/sso.js +0 -140
  440. package/dist/tests/core/utilities/structures/sso.js.map +0 -1
  441. package/dist/tests/core/utilities/structures/tenants.js +0 -8
  442. package/dist/tests/core/utilities/structures/tenants.js.map +0 -1
  443. package/dist/tests/core/utilities/structures/userGroups.js +0 -12
  444. package/dist/tests/core/utilities/structures/userGroups.js.map +0 -1
  445. package/dist/tests/core/utilities/structures/users.js +0 -53
  446. package/dist/tests/core/utilities/structures/users.js.map +0 -1
  447. package/dist/tests/core/utilities/testContainerUtils.js +0 -161
  448. package/dist/tests/core/utilities/testContainerUtils.js.map +0 -1
  449. package/dist/tests/core/utilities/utils/index.js +0 -39
  450. package/dist/tests/core/utilities/utils/index.js.map +0 -1
  451. package/dist/tests/core/utilities/utils/queue.js +0 -37
  452. package/dist/tests/core/utilities/utils/queue.js.map +0 -1
  453. package/dist/tests/core/utilities/utils/time.js +0 -7
  454. package/dist/tests/core/utilities/utils/time.js.map +0 -1
  455. package/dist/tests/extra/DBTestConfiguration.js +0 -65
  456. package/dist/tests/extra/DBTestConfiguration.js.map +0 -1
  457. package/dist/tests/extra/index.js +0 -43
  458. package/dist/tests/extra/index.js.map +0 -1
  459. package/dist/tests/extra/testEnv.js +0 -136
  460. package/dist/tests/extra/testEnv.js.map +0 -1
  461. package/dist/tests/index.js +0 -19
  462. package/dist/tests/index.js.map +0 -1
  463. package/dist/tests/jestEnv.js +0 -12
  464. package/dist/tests/jestEnv.js.map +0 -1
  465. package/dist/tests/jestSetup.js +0 -33
  466. package/dist/tests/jestSetup.js.map +0 -1
@@ -1,566 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AccessController = exports.RoleHierarchyTraversal = exports.Role = exports.RoleIDVersion = exports.BUILTIN_ROLE_IDS = void 0;
16
- exports.getBuiltinRoles = getBuiltinRoles;
17
- exports.isBuiltin = isBuiltin;
18
- exports.prefixRoleIDNoBuiltin = prefixRoleIDNoBuiltin;
19
- exports.getBuiltinRole = getBuiltinRole;
20
- exports.validInherits = validInherits;
21
- exports.builtinRoleToNumber = builtinRoleToNumber;
22
- exports.roleToNumber = roleToNumber;
23
- exports.lowerBuiltinRoleID = lowerBuiltinRoleID;
24
- exports.roleIDsAreEqual = roleIDsAreEqual;
25
- exports.externalRole = externalRole;
26
- exports.findRole = findRole;
27
- exports.getRole = getRole;
28
- exports.saveRoles = saveRoles;
29
- exports.getUserRoleIdHierarchy = getUserRoleIdHierarchy;
30
- exports.getUserRoleHierarchy = getUserRoleHierarchy;
31
- exports.checkForRoleResourceArray = checkForRoleResourceArray;
32
- exports.getAllRoleIds = getAllRoleIds;
33
- exports.getAllRoles = getAllRoles;
34
- exports.getDBRoleID = getDBRoleID;
35
- exports.getExternalRoleID = getExternalRoleID;
36
- exports.getExternalRoleIDs = getExternalRoleIDs;
37
- const semver_1 = __importDefault(require("semver"));
38
- const db_1 = require("../db");
39
- const context_1 = require("../context");
40
- const types_1 = require("@budibase/types");
41
- const cloneDeep_1 = __importDefault(require("lodash/fp/cloneDeep"));
42
- const shared_core_1 = require("@budibase/shared-core");
43
- const lodash_1 = require("lodash");
44
- const environment_1 = __importDefault(require("../environment"));
45
- exports.BUILTIN_ROLE_IDS = {
46
- ADMIN: "ADMIN",
47
- POWER: "POWER",
48
- BASIC: "BASIC",
49
- PUBLIC: "PUBLIC",
50
- };
51
- const BUILTIN_IDS = Object.assign(Object.assign({}, exports.BUILTIN_ROLE_IDS), { BUILDER: "BUILDER" });
52
- exports.RoleIDVersion = {
53
- // original version, with a UUID based ID
54
- UUID: undefined,
55
- // new version - with name based ID
56
- NAME: "name",
57
- };
58
- function rolesInList(roleIds, ids) {
59
- if (Array.isArray(ids)) {
60
- return ids.filter(id => roleIds.includes(id)).length === ids.length;
61
- }
62
- else {
63
- return roleIds.includes(ids);
64
- }
65
- }
66
- class Role {
67
- constructor(id, name, permissionId, uiMetadata) {
68
- this.permissions = {};
69
- this._id = id;
70
- this.name = name;
71
- this.uiMetadata = uiMetadata;
72
- this.permissionId = permissionId;
73
- // version for managing the ID - removing the role_ when responding
74
- this.version = exports.RoleIDVersion.NAME;
75
- }
76
- addInheritance(inherits) {
77
- // make sure IDs are correct format
78
- if (inherits && typeof inherits === "string") {
79
- inherits = prefixRoleIDNoBuiltin(inherits);
80
- }
81
- else if (inherits && Array.isArray(inherits)) {
82
- inherits = inherits.map(prefixRoleIDNoBuiltin);
83
- }
84
- this.inherits = inherits;
85
- return this;
86
- }
87
- }
88
- exports.Role = Role;
89
- class RoleHierarchyTraversal {
90
- constructor(allRoles, opts) {
91
- this.allRoles = allRoles;
92
- this.opts = opts;
93
- }
94
- walk(role) {
95
- const opts = this.opts, allRoles = this.allRoles;
96
- // this will be a full walked list of roles - which may contain duplicates
97
- let roleList = [];
98
- if (!role || !role._id) {
99
- return roleList;
100
- }
101
- roleList.push(role);
102
- if (Array.isArray(role.inherits)) {
103
- for (let roleId of role.inherits) {
104
- const foundRole = findRole(roleId, allRoles, opts);
105
- if (foundRole) {
106
- roleList = roleList.concat(this.walk(foundRole));
107
- }
108
- }
109
- }
110
- else {
111
- const foundRoleIds = [];
112
- let currentRole = role;
113
- while (currentRole &&
114
- currentRole.inherits &&
115
- !rolesInList(foundRoleIds, currentRole.inherits)) {
116
- if (Array.isArray(currentRole.inherits)) {
117
- return roleList.concat(this.walk(currentRole));
118
- }
119
- else {
120
- foundRoleIds.push(currentRole.inherits);
121
- currentRole = findRole(currentRole.inherits, allRoles, opts);
122
- if (currentRole) {
123
- roleList.push(currentRole);
124
- }
125
- }
126
- // loop now found - stop iterating
127
- if (shared_core_1.helpers.roles.checkForRoleInheritanceLoops(roleList)) {
128
- break;
129
- }
130
- }
131
- }
132
- return (0, lodash_1.uniqBy)(roleList, role => role._id);
133
- }
134
- }
135
- exports.RoleHierarchyTraversal = RoleHierarchyTraversal;
136
- const BUILTIN_ROLES = {
137
- ADMIN: new Role(BUILTIN_IDS.ADMIN, BUILTIN_IDS.ADMIN, types_1.BuiltinPermissionID.ADMIN, {
138
- displayName: "App admin",
139
- description: "Can do everything",
140
- color: shared_core_1.RoleColor.ADMIN,
141
- }).addInheritance(BUILTIN_IDS.POWER),
142
- POWER: new Role(BUILTIN_IDS.POWER, BUILTIN_IDS.POWER, types_1.BuiltinPermissionID.POWER, {
143
- displayName: "App power user",
144
- description: "An app user with more access",
145
- color: shared_core_1.RoleColor.POWER,
146
- }).addInheritance(BUILTIN_IDS.BASIC),
147
- BASIC: new Role(BUILTIN_IDS.BASIC, BUILTIN_IDS.BASIC, types_1.BuiltinPermissionID.WRITE, {
148
- displayName: "App user",
149
- description: "Any logged in user",
150
- color: shared_core_1.RoleColor.BASIC,
151
- }).addInheritance(BUILTIN_IDS.PUBLIC),
152
- PUBLIC: new Role(BUILTIN_IDS.PUBLIC, BUILTIN_IDS.PUBLIC, types_1.BuiltinPermissionID.PUBLIC, {
153
- displayName: "Public user",
154
- description: "Accessible to anyone",
155
- color: shared_core_1.RoleColor.PUBLIC,
156
- }),
157
- BUILDER: new Role(BUILTIN_IDS.BUILDER, BUILTIN_IDS.BUILDER, types_1.BuiltinPermissionID.ADMIN, {
158
- displayName: "Builder user",
159
- description: "Users that can edit this app",
160
- color: shared_core_1.RoleColor.BUILDER,
161
- }),
162
- };
163
- function getBuiltinRoles() {
164
- return (0, cloneDeep_1.default)(BUILTIN_ROLES);
165
- }
166
- function isBuiltin(role) {
167
- return Object.values(exports.BUILTIN_ROLE_IDS).includes(role);
168
- }
169
- function prefixRoleIDNoBuiltin(roleId) {
170
- if (isBuiltin(roleId)) {
171
- return roleId;
172
- }
173
- else {
174
- return (0, db_1.prefixRoleID)(roleId);
175
- }
176
- }
177
- function getBuiltinRole(roleId) {
178
- const role = Object.values(BUILTIN_ROLES).find(role => roleId.includes(role._id));
179
- if (!role) {
180
- return undefined;
181
- }
182
- return (0, cloneDeep_1.default)(role);
183
- }
184
- function validInherits(allRoles, inherits) {
185
- if (!inherits) {
186
- return false;
187
- }
188
- const find = (id) => allRoles.find(r => roleIDsAreEqual(r._id, id));
189
- if (Array.isArray(inherits)) {
190
- const filtered = inherits.filter(roleId => find(roleId));
191
- return inherits.length !== 0 && filtered.length === inherits.length;
192
- }
193
- else {
194
- return !!find(inherits);
195
- }
196
- }
197
- /**
198
- * Works through the inheritance ranks to see how far up the builtin stack this ID is.
199
- */
200
- function builtinRoleToNumber(id) {
201
- const builtins = getBuiltinRoles();
202
- const MAX = Object.values(builtins).length + 1;
203
- if (roleIDsAreEqual(id, BUILTIN_IDS.ADMIN) ||
204
- roleIDsAreEqual(id, BUILTIN_IDS.BUILDER)) {
205
- return MAX;
206
- }
207
- let role = builtins[id], count = 0;
208
- do {
209
- if (!role) {
210
- break;
211
- }
212
- if (Array.isArray(role.inherits)) {
213
- throw new Error("Built-in roles don't support multi-inheritance");
214
- }
215
- else {
216
- role = builtins[role.inherits];
217
- }
218
- count++;
219
- } while (role !== null);
220
- return count;
221
- }
222
- /**
223
- * Converts any role to a number, but has to be async to get the roles from db.
224
- */
225
- function roleToNumber(id) {
226
- return __awaiter(this, void 0, void 0, function* () {
227
- if (isBuiltin(id)) {
228
- return builtinRoleToNumber(id);
229
- }
230
- const hierarchy = (yield getUserRoleHierarchy(id, {
231
- defaultPublic: true,
232
- }));
233
- const findNumber = (role) => {
234
- if (!role.inherits) {
235
- return 0;
236
- }
237
- if (Array.isArray(role.inherits)) {
238
- // find the built-in roles, get their number, sort it, then get the last one
239
- const highestBuiltin = role.inherits
240
- .map(roleId => {
241
- const foundRole = hierarchy.find(role => roleIDsAreEqual(role._id, roleId));
242
- if (foundRole) {
243
- return findNumber(foundRole) + 1;
244
- }
245
- })
246
- .filter(number => number)
247
- .sort()
248
- .pop();
249
- if (highestBuiltin != undefined) {
250
- return highestBuiltin;
251
- }
252
- }
253
- else if (isBuiltin(role.inherits)) {
254
- return builtinRoleToNumber(role.inherits) + 1;
255
- }
256
- return 0;
257
- };
258
- return Math.max(...hierarchy.map(findNumber));
259
- });
260
- }
261
- /**
262
- * Returns whichever builtin roleID is lower.
263
- */
264
- function lowerBuiltinRoleID(roleId1, roleId2) {
265
- if (!roleId1) {
266
- return roleId2;
267
- }
268
- if (!roleId2) {
269
- return roleId1;
270
- }
271
- return builtinRoleToNumber(roleId1) > builtinRoleToNumber(roleId2)
272
- ? roleId2
273
- : roleId1;
274
- }
275
- function roleIDsAreEqual(roleId1, roleId2) {
276
- // make sure both role IDs are prefixed correctly
277
- return (0, db_1.prefixRoleID)(roleId1) === (0, db_1.prefixRoleID)(roleId2);
278
- }
279
- function externalRole(role) {
280
- let _id;
281
- if (role._id) {
282
- _id = getExternalRoleID(role._id);
283
- }
284
- return Object.assign(Object.assign({}, role), { _id, inherits: getExternalRoleIDs(role.inherits, role.version) });
285
- }
286
- /**
287
- * Given a list of roles, this will pick the role out, accounting for built ins.
288
- */
289
- function findRole(roleId, roles, opts) {
290
- // built in roles mostly come from the in-code implementation,
291
- // but can be extended by a doc stored about them (e.g. permissions)
292
- let role = getBuiltinRole(roleId);
293
- if (!role) {
294
- // make sure has the prefix (if it has it then it won't be added)
295
- roleId = (0, db_1.prefixRoleID)(roleId);
296
- }
297
- const dbRole = roles.find(role => role._id && roleIDsAreEqual(role._id, roleId));
298
- if (!dbRole && !isBuiltin(roleId) && (opts === null || opts === void 0 ? void 0 : opts.defaultPublic)) {
299
- return (0, cloneDeep_1.default)(BUILTIN_ROLES.PUBLIC);
300
- }
301
- // combine the roles
302
- role = Object.assign(role || {}, dbRole);
303
- // finalise the ID
304
- if (role === null || role === void 0 ? void 0 : role._id) {
305
- role._id = getExternalRoleID(role._id, role.version);
306
- }
307
- return Object.keys(role).length === 0 ? undefined : role;
308
- }
309
- /**
310
- * Gets the role object, this is mainly useful for two purposes, to check if the level exists and
311
- * to check if the role inherits any others.
312
- * @param roleId The level ID to lookup.
313
- * @param opts options for the function, like whether to halt errors, instead return public.
314
- * @returns The role object, which may contain an "inherits" property.
315
- */
316
- function getRole(roleId, opts) {
317
- return __awaiter(this, void 0, void 0, function* () {
318
- const db = (0, context_1.getAppDB)();
319
- const roleList = [];
320
- if (!isBuiltin(roleId)) {
321
- const role = yield db.tryGet(getDBRoleID(roleId));
322
- if (role) {
323
- roleList.push(role);
324
- }
325
- }
326
- return findRole(roleId, roleList, opts);
327
- });
328
- }
329
- function saveRoles(roles) {
330
- return __awaiter(this, void 0, void 0, function* () {
331
- const db = (0, context_1.getAppDB)();
332
- yield db.bulkDocs(roles
333
- .filter(role => role._id)
334
- .map(role => (Object.assign(Object.assign({}, role), { _id: (0, db_1.prefixRoleID)(role._id) }))));
335
- });
336
- }
337
- /**
338
- * Simple function to get all the roles based on the top level user role ID.
339
- */
340
- function getAllUserRoles(userRoleId, opts) {
341
- return __awaiter(this, void 0, void 0, function* () {
342
- const allRoles = yield getAllRoles();
343
- // admins have access to all roles
344
- if (roleIDsAreEqual(userRoleId, BUILTIN_IDS.ADMIN)) {
345
- return allRoles;
346
- }
347
- // get all the inherited roles
348
- const foundRole = findRole(userRoleId, allRoles, opts);
349
- let roles = [];
350
- if (foundRole) {
351
- const traversal = new RoleHierarchyTraversal(allRoles, opts);
352
- roles = traversal.walk(foundRole);
353
- }
354
- return roles;
355
- });
356
- }
357
- function getUserRoleIdHierarchy(userRoleId) {
358
- return __awaiter(this, void 0, void 0, function* () {
359
- const roles = yield getUserRoleHierarchy(userRoleId);
360
- return roles.map(role => role._id);
361
- });
362
- }
363
- /**
364
- * Returns an ordered array of the user's inherited role IDs, this can be used
365
- * to determine if a user can access something that requires a specific role.
366
- * @param userRoleId The user's role ID, this can be found in their access token.
367
- * @param opts optional - if want to default to public use this.
368
- * @returns returns an ordered array of the roles, with the first being their
369
- * highest level of access and the last being the lowest level.
370
- */
371
- function getUserRoleHierarchy(userRoleId, opts) {
372
- return __awaiter(this, void 0, void 0, function* () {
373
- // special case, if they don't have a role then they are a public user
374
- return getAllUserRoles(userRoleId, opts);
375
- });
376
- }
377
- // this function checks that the provided permissions are in an array format
378
- // some templates/older apps will use a simple string instead of array for roles
379
- // convert the string to an array using the theory that write is higher than read
380
- function checkForRoleResourceArray(rolePerms, resourceId) {
381
- if (rolePerms && !Array.isArray(rolePerms[resourceId])) {
382
- const permLevel = rolePerms[resourceId];
383
- rolePerms[resourceId] = [permLevel];
384
- if (permLevel === types_1.PermissionLevel.WRITE) {
385
- rolePerms[resourceId].push(types_1.PermissionLevel.READ);
386
- }
387
- }
388
- return rolePerms;
389
- }
390
- function getAllRoleIds(appId) {
391
- return __awaiter(this, void 0, void 0, function* () {
392
- const roles = yield getAllRoles(appId);
393
- return roles.map(role => role._id);
394
- });
395
- }
396
- /**
397
- * Given an app ID this will retrieve all of the roles that are currently within that app.
398
- * @return An array of the role objects that were found.
399
- */
400
- function getAllRoles(appId) {
401
- return __awaiter(this, void 0, void 0, function* () {
402
- if (appId) {
403
- return (0, db_1.doWithDB)(appId, internal);
404
- }
405
- else {
406
- let appDB;
407
- try {
408
- appDB = (0, context_1.getAppDB)();
409
- }
410
- catch (error) {
411
- // We don't have any apps, so we'll just use the built-in roles
412
- }
413
- return internal(appDB);
414
- }
415
- function internal(db) {
416
- return __awaiter(this, void 0, void 0, function* () {
417
- let roles = [];
418
- if (db) {
419
- const body = yield db.allDocs((0, db_1.getRoleParams)(null, {
420
- include_docs: true,
421
- }));
422
- roles = body.rows.map((row) => row.doc);
423
- roles.forEach(role => (role._id = getExternalRoleID(role._id, role.version)));
424
- }
425
- const builtinRoles = getBuiltinRoles();
426
- // exclude internal roles like builder
427
- let externalBuiltinRoles = [];
428
- if (!db || (yield shouldIncludePowerRole(db))) {
429
- externalBuiltinRoles = [
430
- BUILTIN_IDS.ADMIN,
431
- BUILTIN_IDS.POWER,
432
- BUILTIN_IDS.BASIC,
433
- BUILTIN_IDS.PUBLIC,
434
- ];
435
- }
436
- else {
437
- externalBuiltinRoles = [
438
- BUILTIN_IDS.ADMIN,
439
- BUILTIN_IDS.BASIC,
440
- BUILTIN_IDS.PUBLIC,
441
- ];
442
- }
443
- // need to combine builtin with any DB record of them (for sake of permissions)
444
- for (let builtinRoleId of externalBuiltinRoles) {
445
- const builtinRole = builtinRoles[builtinRoleId];
446
- const dbBuiltin = roles.filter(dbRole => roleIDsAreEqual(dbRole._id, builtinRoleId))[0];
447
- if (dbBuiltin == null) {
448
- roles.push(builtinRole || builtinRoles.BASIC);
449
- }
450
- else {
451
- // remove role and all back after combining with the builtin
452
- roles = roles.filter(role => role._id !== dbBuiltin._id);
453
- dbBuiltin._id = getExternalRoleID(builtinRole._id, dbBuiltin.version);
454
- roles.push(Object.assign(Object.assign(Object.assign({}, builtinRole), dbBuiltin), { name: builtinRole.name, _id: getExternalRoleID(builtinRole._id, builtinRole.version) }));
455
- }
456
- }
457
- // check permissions
458
- for (let role of roles) {
459
- if (!role.permissions) {
460
- continue;
461
- }
462
- for (let resourceId of Object.keys(role.permissions)) {
463
- role.permissions = checkForRoleResourceArray(role.permissions, resourceId);
464
- }
465
- }
466
- return roles;
467
- });
468
- }
469
- });
470
- }
471
- function shouldIncludePowerRole(db) {
472
- return __awaiter(this, void 0, void 0, function* () {
473
- const app = yield db.tryGet(db_1.DocumentType.APP_METADATA);
474
- const creationVersion = app === null || app === void 0 ? void 0 : app.creationVersion;
475
- if (!creationVersion || !semver_1.default.valid(creationVersion)) {
476
- // Old apps don't have creationVersion, so we should include it for backward compatibility
477
- return true;
478
- }
479
- const isGreaterThan3x = semver_1.default.gte(creationVersion, environment_1.default.MIN_VERSION_WITHOUT_POWER_ROLE);
480
- return !isGreaterThan3x;
481
- });
482
- }
483
- class AccessController {
484
- constructor() {
485
- this.userHierarchies = {};
486
- }
487
- hasAccess(tryingRoleId, userRoleId) {
488
- return __awaiter(this, void 0, void 0, function* () {
489
- // special cases, the screen has no role, the roles are the same or the user
490
- // is currently in the builder
491
- if (tryingRoleId == null ||
492
- tryingRoleId === "" ||
493
- roleIDsAreEqual(tryingRoleId, BUILTIN_IDS.BUILDER) ||
494
- roleIDsAreEqual(userRoleId, tryingRoleId) ||
495
- roleIDsAreEqual(userRoleId, BUILTIN_IDS.BUILDER)) {
496
- return true;
497
- }
498
- let roleIds = userRoleId ? this.userHierarchies[userRoleId] : null;
499
- if (!roleIds && userRoleId) {
500
- roleIds = yield getUserRoleIdHierarchy(userRoleId);
501
- this.userHierarchies[userRoleId] = roleIds;
502
- }
503
- return ((roleIds === null || roleIds === void 0 ? void 0 : roleIds.find(roleId => roleIDsAreEqual(roleId, tryingRoleId))) !==
504
- undefined);
505
- });
506
- }
507
- checkScreensAccess(screens, userRoleId) {
508
- return __awaiter(this, void 0, void 0, function* () {
509
- let accessibleScreens = [];
510
- // don't want to handle this with Promise.all as this would mean all custom roles would be
511
- // retrieved at same time, it is likely a custom role will be re-used and therefore want
512
- // to work in sync for performance save
513
- for (let screen of screens) {
514
- const accessible = yield this.checkScreenAccess(screen, userRoleId);
515
- if (accessible) {
516
- accessibleScreens.push(accessible);
517
- }
518
- }
519
- return accessibleScreens;
520
- });
521
- }
522
- checkScreenAccess(screen, userRoleId) {
523
- return __awaiter(this, void 0, void 0, function* () {
524
- const roleId = screen && screen.routing ? screen.routing.roleId : undefined;
525
- if (yield this.hasAccess(roleId, userRoleId)) {
526
- return screen;
527
- }
528
- return null;
529
- });
530
- }
531
- }
532
- exports.AccessController = AccessController;
533
- /**
534
- * Adds the "role_" for builtin role IDs which are to be written to the DB (for permissions).
535
- */
536
- function getDBRoleID(roleName) {
537
- if (roleName === null || roleName === void 0 ? void 0 : roleName.startsWith(db_1.DocumentType.ROLE)) {
538
- return roleName;
539
- }
540
- return (0, db_1.prefixRoleID)(roleName);
541
- }
542
- /**
543
- * Remove the "role_" from builtin role IDs that have been written to the DB (for permissions).
544
- */
545
- function getExternalRoleID(roleId, version) {
546
- // for built-in roles we want to remove the DB role ID element (role_)
547
- if (roleId.startsWith(`${db_1.DocumentType.ROLE}${db_1.SEPARATOR}`) &&
548
- (isBuiltin(roleId) || version === exports.RoleIDVersion.NAME)) {
549
- const parts = roleId.split(db_1.SEPARATOR);
550
- parts.shift();
551
- return parts.join(db_1.SEPARATOR);
552
- }
553
- return roleId;
554
- }
555
- function getExternalRoleIDs(roleIds, version) {
556
- if (!roleIds) {
557
- return roleIds;
558
- }
559
- else if (typeof roleIds === "string") {
560
- return getExternalRoleID(roleIds, version);
561
- }
562
- else {
563
- return roleIds.map(roleId => getExternalRoleID(roleId, version));
564
- }
565
- }
566
- //# sourceMappingURL=roles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/security/roles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AA+LA,0CAEC;AAED,8BAEC;AAED,sDAMC;AAED,wCAQC;AAED,sCAcC;AAKD,kDAuBC;AAKD,oCAkCC;AAKD,gDAUC;AAED,0CAGC;AAED,oCAUC;AAKD,4BAyBC;AASD,0BAaC;AAED,8BAUC;AAyBD,wDAKC;AAUD,oDAMC;AAKD,8DAYC;AAED,sCAGC;AAMD,kCA+EC;AA4ED,kCAKC;AAKD,8CAWC;AAED,gDAWC;AAjpBD,oDAA2B;AAC3B,8BAMc;AACd,wCAAqC;AACrC,2CAQwB;AACxB,oEAA2C;AAC3C,uDAA0D;AAC1D,mCAA+B;AAC/B,iEAA+C;AAElC,QAAA,gBAAgB,GAAG;IAC9B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACjB,CAAA;AAED,MAAM,WAAW,mCACZ,wBAAgB,KACnB,OAAO,EAAE,SAAS,GACnB,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,yCAAyC;IACzC,IAAI,EAAE,SAAS;IACf,mCAAmC;IACnC,IAAI,EAAE,MAAM;CACb,CAAA;AAED,SAAS,WAAW,CAAC,OAAiB,EAAE,GAAsB;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAA;IACrE,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,MAAa,IAAI;IAUf,YACE,EAAU,EACV,IAAY,EACZ,YAAiC,EACjC,UAA2B;QAP7B,gBAAW,GAAsC,EAAE,CAAA;QASjD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,mEAAmE;QACnE,IAAI,CAAC,OAAO,GAAG,qBAAa,CAAC,IAAI,CAAA;IACnC,CAAC;IAED,cAAc,CAAC,QAA4B;QACzC,mCAAmC;QACnC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7C,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC;aAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAlCD,oBAkCC;AAED,MAAa,sBAAsB;IAIjC,YAAY,QAAmB,EAAE,IAAkC;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,CAAC,IAAa;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EACpB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC1B,0EAA0E;QAC1E,IAAI,QAAQ,GAAc,EAAE,CAAA;QAC5B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;gBAClD,IAAI,SAAS,EAAE,CAAC;oBACd,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAa,EAAE,CAAA;YACjC,IAAI,WAAW,GAAwB,IAAI,CAAA;YAC3C,OACE,WAAW;gBACX,WAAW,CAAC,QAAQ;gBACpB,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,EAChD,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;gBAChD,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;oBACvC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;oBAC5D,IAAI,WAAW,EAAE,CAAC;wBAChB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;oBAC5B,CAAC;gBACH,CAAC;gBACD,kCAAkC;gBAClC,IAAI,qBAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzD,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAA,eAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3C,CAAC;CACF;AAlDD,wDAkDC;AAED,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,IAAI,IAAI,CACb,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,KAAK,EACjB,2BAAmB,CAAC,KAAK,EACzB;QACE,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,mBAAmB;QAChC,KAAK,EAAE,uBAAS,CAAC,KAAK;KACvB,CACF,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,IAAI,IAAI,CACb,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,KAAK,EACjB,2BAAmB,CAAC,KAAK,EACzB;QACE,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,8BAA8B;QAC3C,KAAK,EAAE,uBAAS,CAAC,KAAK;KACvB,CACF,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,IAAI,IAAI,CACb,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,KAAK,EACjB,2BAAmB,CAAC,KAAK,EACzB;QACE,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,oBAAoB;QACjC,KAAK,EAAE,uBAAS,CAAC,KAAK;KACvB,CACF,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,IAAI,IAAI,CACd,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,MAAM,EAClB,2BAAmB,CAAC,MAAM,EAC1B;QACE,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,sBAAsB;QACnC,KAAK,EAAE,uBAAS,CAAC,MAAM;KACxB,CACF;IACD,OAAO,EAAE,IAAI,IAAI,CACf,WAAW,CAAC,OAAO,EACnB,WAAW,CAAC,OAAO,EACnB,2BAAmB,CAAC,KAAK,EACzB;QACE,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,8BAA8B;QAC3C,KAAK,EAAE,uBAAS,CAAC,OAAO;KACzB,CACF;CACF,CAAA;AAED,SAAgB,eAAe;IAC7B,OAAO,IAAA,mBAAS,EAAC,aAAa,CAAC,CAAA;AACjC,CAAC;AAED,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AACvD,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAc;IAClD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAA;IACf,CAAC;SAAM,CAAC;QACN,OAAO,IAAA,iBAAY,EAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAC1B,CAAA;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAED,SAAgB,aAAa,CAC3B,QAAmB,EACnB,QAA4B;IAE5B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,GAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACxD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAA;IACrE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,EAAU;IAC5C,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAA;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9C,IACE,eAAe,CAAC,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC;QACtC,eAAe,CAAC,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,EACxC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,EACrB,KAAK,GAAG,CAAC,CAAA;IACX,GAAG,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAK;QACP,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAS,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,EAAE,CAAA;IACT,CAAC,QAAQ,IAAI,KAAK,IAAI,EAAC;IACvB,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,SAAsB,YAAY,CAAC,EAAU;;QAC3C,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,MAAM,oBAAoB,CAAC,EAAE,EAAE;YAChD,aAAa,EAAE,IAAI;SACpB,CAAC,CAAc,CAAA;QAChB,MAAM,UAAU,GAAG,CAAC,IAAa,EAAU,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,CAAC,CAAA;YACV,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,4EAA4E;gBAC5E,MAAM,cAAc,GAAuB,IAAI,CAAC,QAAQ;qBACrD,GAAG,CAAC,MAAM,CAAC,EAAE;oBACZ,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtC,eAAe,CAAC,IAAI,CAAC,GAAI,EAAE,MAAM,CAAC,CACnC,CAAA;oBACD,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;oBAClC,CAAC;gBACH,CAAC,CAAC;qBACD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;qBACxB,IAAI,EAAE;qBACN,GAAG,EAAE,CAAA;gBACR,IAAI,cAAc,IAAI,SAAS,EAAE,CAAC;oBAChC,OAAO,cAAc,CAAA;gBACvB,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,OAAO,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAC/C,CAAC;YACD,OAAO,CAAC,CAAA;QACV,CAAC,CAAA;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;IAC/C,CAAC;CAAA;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,OAAgB,EAAE,OAAgB;IACnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAiB,CAAA;IAC1B,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAiB,CAAA;IAC1B,CAAC;IACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAChE,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,OAAO,CAAA;AACb,CAAC;AAED,SAAgB,eAAe,CAAC,OAAe,EAAE,OAAe;IAC9D,iDAAiD;IACjD,OAAO,IAAA,iBAAY,EAAC,OAAO,CAAC,KAAK,IAAA,iBAAY,EAAC,OAAO,CAAC,CAAA;AACxD,CAAC;AAED,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,GAAuB,CAAA;IAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IACD,uCACK,IAAI,KACP,GAAG,EACH,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAC1D;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CACtB,MAAc,EACd,KAAgB,EAChB,IAAkC;IAElC,8DAA8D;IAC9D,oEAAoE;IACpE,IAAI,IAAI,GAAwB,cAAc,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,iEAAiE;QACjE,MAAM,GAAG,IAAA,iBAAY,EAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CACtD,CAAA;IACD,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAA,EAAE,CAAC;QACzD,OAAO,IAAA,mBAAS,EAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IACD,oBAAoB;IACpB,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,CAAA;IACxC,kBAAkB;IAClB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,SAAsB,OAAO,CAC3B,MAAc,EACd,IAAkC;;QAElC,MAAM,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAA;QACrB,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,CAAU,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1D,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;CAAA;AAED,SAAsB,SAAS,CAAC,KAAgB;;QAC9C,MAAM,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAA;QACrB,MAAM,EAAE,CAAC,QAAQ,CACf,KAAK;aACF,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aACxB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,iCACR,IAAI,KACP,GAAG,EAAE,IAAA,iBAAY,EAAC,IAAI,CAAC,GAAI,CAAC,IAC5B,CAAC,CACN,CAAA;IACH,CAAC;CAAA;AAED;;GAEG;AACH,SAAe,eAAe,CAC5B,UAAkB,EAClB,IAAkC;;QAElC,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAA;QACpC,kCAAkC;QAClC,IAAI,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,8BAA8B;QAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;QACtD,IAAI,KAAK,GAAc,EAAE,CAAA;QACzB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAC5D,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CAAA;AAED,SAAsB,sBAAsB,CAC1C,UAAkB;;QAElB,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAA;QACpD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAI,CAAC,CAAA;IACrC,CAAC;CAAA;AAED;;;;;;;GAOG;AACH,SAAsB,oBAAoB,CACxC,UAAkB,EAClB,IAAkC;;QAElC,sEAAsE;QACtE,OAAO,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;CAAA;AAED,4EAA4E;AAC5E,gFAAgF;AAChF,iFAAiF;AACjF,SAAgB,yBAAyB,CACvC,SAA4C,EAC5C,UAAkB;IAElB,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAQ,CAAA;QAC9C,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnC,IAAI,SAAS,KAAK,uBAAe,CAAC,KAAK,EAAE,CAAC;YACxC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,uBAAe,CAAC,IAAI,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAsB,aAAa,CAAC,KAAa;;QAC/C,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAA;QACtC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAI,CAAC,CAAA;IACrC,CAAC;CAAA;AAED;;;GAGG;AACH,SAAsB,WAAW,CAAC,KAAc;;QAC9C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAA,aAAQ,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAA;YACT,IAAI,CAAC;gBACH,KAAK,GAAG,IAAA,kBAAQ,GAAE,CAAA;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+DAA+D;YACjE,CAAC;YACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;QACD,SAAe,QAAQ,CAAC,EAAwB;;gBAC9C,IAAI,KAAK,GAAc,EAAE,CAAA;gBACzB,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAC3B,IAAA,kBAAa,EAAC,IAAI,EAAE;wBAClB,YAAY,EAAE,IAAI;qBACnB,CAAC,CACH,CAAA;oBACD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAC5C,KAAK,CAAC,OAAO,CACX,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAChE,CAAA;gBACH,CAAC;gBACD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;gBAEtC,sCAAsC;gBACtC,IAAI,oBAAoB,GAAG,EAAE,CAAA;gBAE7B,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC9C,oBAAoB,GAAG;wBACrB,WAAW,CAAC,KAAK;wBACjB,WAAW,CAAC,KAAK;wBACjB,WAAW,CAAC,KAAK;wBACjB,WAAW,CAAC,MAAM;qBACnB,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,oBAAoB,GAAG;wBACrB,WAAW,CAAC,KAAK;wBACjB,WAAW,CAAC,KAAK;wBACjB,WAAW,CAAC,MAAM;qBACnB,CAAA;gBACH,CAAC;gBAED,+EAA+E;gBAC/E,KAAK,IAAI,aAAa,IAAI,oBAAoB,EAAE,CAAC;oBAC/C,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;oBAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACtC,eAAe,CAAC,MAAM,CAAC,GAAI,EAAE,aAAa,CAAC,CAC5C,CAAC,CAAC,CAAC,CAAA;oBACJ,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;wBACtB,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC,CAAA;oBAC/C,CAAC;yBAAM,CAAC;wBACN,4DAA4D;wBAC5D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,CAAA;wBACxD,SAAS,CAAC,GAAG,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;wBACtE,KAAK,CAAC,IAAI,+CACL,WAAW,GACX,SAAS,KACZ,IAAI,EAAE,WAAW,CAAC,IAAI,EACtB,GAAG,EAAE,iBAAiB,CAAC,WAAW,CAAC,GAAI,EAAE,WAAW,CAAC,OAAO,CAAC,IAC7D,CAAA;oBACJ,CAAC;gBACH,CAAC;gBACD,oBAAoB;gBACpB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBACtB,SAAQ;oBACV,CAAC;oBACD,KAAK,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;wBACrD,IAAI,CAAC,WAAW,GAAG,yBAAyB,CAC1C,IAAI,CAAC,WAAW,EAChB,UAAU,CACX,CAAA;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC;SAAA;IACH,CAAC;CAAA;AAED,SAAe,sBAAsB,CAAC,EAAY;;QAChD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,MAAM,CAAM,iBAAY,CAAC,YAAY,CAAC,CAAA;QAC3D,MAAM,eAAe,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,eAAe,CAAA;QAC5C,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YACvD,0FAA0F;YAC1F,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,eAAe,GAAG,gBAAM,CAAC,GAAG,CAChC,eAAe,EACf,qBAAG,CAAC,8BAA8B,CACnC,CAAA;QACD,OAAO,CAAC,eAAe,CAAA;IACzB,CAAC;CAAA;AAED,MAAa,gBAAgB;IAE3B;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC3B,CAAC;IAEK,SAAS,CAAC,YAAqB,EAAE,UAAmB;;YACxD,4EAA4E;YAC5E,8BAA8B;YAC9B,IACE,YAAY,IAAI,IAAI;gBACpB,YAAY,KAAK,EAAE;gBACnB,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC;gBAClD,eAAe,CAAC,UAAW,EAAE,YAAY,CAAC;gBAC1C,eAAe,CAAC,UAAW,EAAE,WAAW,CAAC,OAAO,CAAC,EACjD,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAClE,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;gBAC3B,OAAO,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAA;gBAClD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA;YAC5C,CAAC;YAED,OAAO,CACL,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAC9D,SAAS,CACV,CAAA;QACH,CAAC;KAAA;IAEK,kBAAkB,CACtB,OAAiB,EACjB,UAAkB;;YAElB,IAAI,iBAAiB,GAAG,EAAE,CAAA;YAC1B,0FAA0F;YAC1F,wFAAwF;YACxF,uCAAuC;YACvC,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBACnE,IAAI,UAAU,EAAE,CAAC;oBACf,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;KAAA;IAEK,iBAAiB,CAAC,MAAc,EAAE,UAAkB;;YACxD,MAAM,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;YAC3E,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAA;YACf,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;KAAA;CACF;AAtDD,4CAsDC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,QAAgB;IAC1C,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC,iBAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,IAAA,iBAAY,EAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,OAAgB;IAChE,sEAAsE;IACtE,IACE,MAAM,CAAC,UAAU,CAAC,GAAG,iBAAY,CAAC,IAAI,GAAG,cAAS,EAAE,CAAC;QACrD,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,qBAAa,CAAC,IAAI,CAAC,EACrD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,cAAS,CAAC,CAAA;QACrC,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,cAAS,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAAsC,EACtC,OAAgB;IAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAA;IAChB,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAClE,CAAC;AACH,CAAC"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.stringContainsSecret = stringContainsSecret;
37
- const environment_1 = __importStar(require("../environment"));
38
- function stringContainsSecret(str) {
39
- if (str.includes("-----BEGIN PRIVATE KEY-----")) {
40
- return true;
41
- }
42
- for (const key of environment_1.SECRETS) {
43
- const value = environment_1.default[key];
44
- if (typeof value !== "string" || value === "") {
45
- continue;
46
- }
47
- if (str.includes(value)) {
48
- return true;
49
- }
50
- }
51
- return false;
52
- }
53
- //# sourceMappingURL=secrets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/security/secrets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oDAiBC;AAnBD,8DAAqD;AAErD,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,IAAI,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,qBAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,qBAAW,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC9C,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}