@budibase/backend-core 2.9.16 → 2.9.17
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.
- package/dist/index.js +12544 -0
- package/dist/index.js.map +7 -0
- package/dist/index.js.meta.json +1 -0
- package/dist/package.json +5 -5
- package/dist/plugins.js +288 -16
- package/dist/plugins.js.map +7 -1
- package/dist/plugins.js.meta.json +1 -0
- package/dist/tests.js +8476 -0
- package/dist/tests.js.map +7 -0
- package/dist/tests.js.meta.json +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/scripts/build.js +6 -0
- package/tsconfig.build.json +5 -1
- package/tsconfig.json +0 -8
- package/dist/jest.config.js +0 -25
- package/dist/jest.config.js.map +0 -1
- package/dist/plugins.d.ts +0 -1
- package/dist/src/accounts/accounts.js +0 -83
- package/dist/src/accounts/accounts.js.map +0 -1
- package/dist/src/accounts/api.js +0 -92
- package/dist/src/accounts/api.js.map +0 -1
- package/dist/src/accounts/index.js +0 -18
- package/dist/src/accounts/index.js.map +0 -1
- package/dist/src/auth/auth.js +0 -189
- package/dist/src/auth/auth.js.map +0 -1
- package/dist/src/auth/index.js +0 -18
- package/dist/src/auth/index.js.map +0 -1
- package/dist/src/blacklist/blacklist.js +0 -76
- package/dist/src/blacklist/blacklist.js.map +0 -1
- package/dist/src/blacklist/index.js +0 -18
- package/dist/src/blacklist/index.js.map +0 -1
- package/dist/src/cache/appMetadata.js +0 -96
- package/dist/src/cache/appMetadata.js.map +0 -1
- package/dist/src/cache/base/index.js +0 -120
- package/dist/src/cache/base/index.js.map +0 -1
- package/dist/src/cache/generic.js +0 -31
- package/dist/src/cache/generic.js.map +0 -1
- package/dist/src/cache/index.js +0 -35
- package/dist/src/cache/index.js.map +0 -1
- package/dist/src/cache/user.js +0 -108
- package/dist/src/cache/user.js.map +0 -1
- package/dist/src/cache/writethrough.js +0 -159
- package/dist/src/cache/writethrough.js.map +0 -1
- package/dist/src/configs/configs.js +0 -278
- package/dist/src/configs/configs.js.map +0 -1
- package/dist/src/configs/index.js +0 -18
- package/dist/src/configs/index.js.map +0 -1
- package/dist/src/constants/db.js +0 -67
- package/dist/src/constants/db.js.map +0 -1
- package/dist/src/constants/index.js +0 -19
- package/dist/src/constants/index.js.map +0 -1
- package/dist/src/constants/misc.js +0 -54
- package/dist/src/constants/misc.js.map +0 -1
- package/dist/src/context/Context.js +0 -14
- package/dist/src/context/Context.js.map +0 -1
- package/dist/src/context/identity.js +0 -72
- package/dist/src/context/identity.js.map +0 -1
- package/dist/src/context/index.js +0 -34
- package/dist/src/context/index.js.map +0 -1
- package/dist/src/context/mainContext.js +0 -331
- package/dist/src/context/mainContext.js.map +0 -1
- package/dist/src/context/types.js +0 -3
- package/dist/src/context/types.js.map +0 -1
- package/dist/src/db/Replication.js +0 -85
- package/dist/src/db/Replication.js.map +0 -1
- package/dist/src/db/constants.js +0 -13
- package/dist/src/db/constants.js.map +0 -1
- package/dist/src/db/couch/DatabaseImpl.js +0 -248
- package/dist/src/db/couch/DatabaseImpl.js.map +0 -1
- package/dist/src/db/couch/connections.js +0 -88
- package/dist/src/db/couch/connections.js.map +0 -1
- package/dist/src/db/couch/index.js +0 -27
- package/dist/src/db/couch/index.js.map +0 -1
- package/dist/src/db/couch/pouchDB.js +0 -108
- package/dist/src/db/couch/pouchDB.js.map +0 -1
- package/dist/src/db/couch/pouchDump.js +0 -2
- package/dist/src/db/couch/pouchDump.js.map +0 -1
- package/dist/src/db/couch/utils.js +0 -55
- package/dist/src/db/couch/utils.js.map +0 -1
- package/dist/src/db/db.js +0 -59
- package/dist/src/db/db.js.map +0 -1
- package/dist/src/db/errors.js +0 -22
- package/dist/src/db/errors.js.map +0 -1
- package/dist/src/db/index.js +0 -48
- package/dist/src/db/index.js.map +0 -1
- package/dist/src/db/lucene.js +0 -650
- package/dist/src/db/lucene.js.map +0 -1
- package/dist/src/db/searchIndexes/index.js +0 -18
- package/dist/src/db/searchIndexes/index.js.map +0 -1
- package/dist/src/db/searchIndexes/searchIndexes.js +0 -77
- package/dist/src/db/searchIndexes/searchIndexes.js.map +0 -1
- package/dist/src/db/utils.js +0 -213
- package/dist/src/db/utils.js.map +0 -1
- package/dist/src/db/views.js +0 -219
- package/dist/src/db/views.js.map +0 -1
- package/dist/src/docIds/conversions.js +0 -62
- package/dist/src/docIds/conversions.js.map +0 -1
- package/dist/src/docIds/ids.js +0 -112
- package/dist/src/docIds/ids.js.map +0 -1
- package/dist/src/docIds/index.js +0 -19
- package/dist/src/docIds/index.js.map +0 -1
- package/dist/src/docIds/newid.js +0 -9
- package/dist/src/docIds/newid.js.map +0 -1
- package/dist/src/docIds/params.js +0 -138
- package/dist/src/docIds/params.js.map +0 -1
- package/dist/src/docUpdates/index.js +0 -36
- package/dist/src/docUpdates/index.js.map +0 -1
- package/dist/src/environment.js +0 -110
- package/dist/src/environment.js.map +0 -1
- package/dist/src/errors/errors.js +0 -97
- package/dist/src/errors/errors.js.map +0 -1
- package/dist/src/errors/index.js +0 -18
- package/dist/src/errors/index.js.map +0 -1
- package/dist/src/events/analytics.js +0 -42
- package/dist/src/events/analytics.js.map +0 -1
- package/dist/src/events/asyncEvents/index.js +0 -19
- package/dist/src/events/asyncEvents/index.js.map +0 -1
- package/dist/src/events/asyncEvents/publisher.js +0 -27
- package/dist/src/events/asyncEvents/publisher.js.map +0 -1
- package/dist/src/events/asyncEvents/queue.js +0 -26
- package/dist/src/events/asyncEvents/queue.js.map +0 -1
- package/dist/src/events/backfill.js +0 -179
- package/dist/src/events/backfill.js.map +0 -1
- package/dist/src/events/documentId.js +0 -28
- package/dist/src/events/documentId.js.map +0 -1
- package/dist/src/events/events.js +0 -73
- package/dist/src/events/events.js.map +0 -1
- package/dist/src/events/identification.js +0 -300
- package/dist/src/events/identification.js.map +0 -1
- package/dist/src/events/index.js +0 -47
- package/dist/src/events/index.js.map +0 -1
- package/dist/src/events/processors/AnalyticsProcessor.js +0 -93
- package/dist/src/events/processors/AnalyticsProcessor.js.map +0 -1
- package/dist/src/events/processors/AuditLogsProcessor.js +0 -86
- package/dist/src/events/processors/AuditLogsProcessor.js.map +0 -1
- package/dist/src/events/processors/LoggingProcessor.js +0 -47
- package/dist/src/events/processors/LoggingProcessor.js.map +0 -1
- package/dist/src/events/processors/Processors.js +0 -52
- package/dist/src/events/processors/Processors.js.map +0 -1
- package/dist/src/events/processors/async/DocumentUpdateProcessor.js +0 -44
- package/dist/src/events/processors/async/DocumentUpdateProcessor.js.map +0 -1
- package/dist/src/events/processors/index.js +0 -23
- package/dist/src/events/processors/index.js.map +0 -1
- package/dist/src/events/processors/posthog/PosthogProcessor.js +0 -139
- package/dist/src/events/processors/posthog/PosthogProcessor.js.map +0 -1
- package/dist/src/events/processors/posthog/index.js +0 -8
- package/dist/src/events/processors/posthog/index.js.map +0 -1
- package/dist/src/events/processors/posthog/rateLimiting.js +0 -119
- package/dist/src/events/processors/posthog/rateLimiting.js.map +0 -1
- package/dist/src/events/processors/types.js +0 -3
- package/dist/src/events/processors/types.js.map +0 -1
- package/dist/src/events/publishers/account.js +0 -43
- package/dist/src/events/publishers/account.js.map +0 -1
- package/dist/src/events/publishers/app.js +0 -153
- package/dist/src/events/publishers/app.js.map +0 -1
- package/dist/src/events/publishers/auditLog.js +0 -34
- package/dist/src/events/publishers/auditLog.js.map +0 -1
- package/dist/src/events/publishers/auth.js +0 -80
- package/dist/src/events/publishers/auth.js.map +0 -1
- package/dist/src/events/publishers/automation.js +0 -117
- package/dist/src/events/publishers/automation.js.map +0 -1
- package/dist/src/events/publishers/backfill.js +0 -85
- package/dist/src/events/publishers/backfill.js.map +0 -1
- package/dist/src/events/publishers/backup.js +0 -41
- package/dist/src/events/publishers/backup.js.map +0 -1
- package/dist/src/events/publishers/datasource.js +0 -54
- package/dist/src/events/publishers/datasource.js.map +0 -1
- package/dist/src/events/publishers/email.js +0 -30
- package/dist/src/events/publishers/email.js.map +0 -1
- package/dist/src/events/publishers/environmentVariable.js +0 -44
- package/dist/src/events/publishers/environmentVariable.js.map +0 -1
- package/dist/src/events/publishers/group.js +0 -107
- package/dist/src/events/publishers/group.js.map +0 -1
- package/dist/src/events/publishers/index.js +0 -55
- package/dist/src/events/publishers/index.js.map +0 -1
- package/dist/src/events/publishers/installation.js +0 -52
- package/dist/src/events/publishers/installation.js.map +0 -1
- package/dist/src/events/publishers/layout.js +0 -34
- package/dist/src/events/publishers/layout.js.map +0 -1
- package/dist/src/events/publishers/license.js +0 -77
- package/dist/src/events/publishers/license.js.map +0 -1
- package/dist/src/events/publishers/org.js +0 -52
- package/dist/src/events/publishers/org.js.map +0 -1
- package/dist/src/events/publishers/plugin.js +0 -55
- package/dist/src/events/publishers/plugin.js.map +0 -1
- package/dist/src/events/publishers/query.js +0 -74
- package/dist/src/events/publishers/query.js.map +0 -1
- package/dist/src/events/publishers/role.js +0 -69
- package/dist/src/events/publishers/role.js.map +0 -1
- package/dist/src/events/publishers/rows.js +0 -32
- package/dist/src/events/publishers/rows.js.map +0 -1
- package/dist/src/events/publishers/screen.js +0 -46
- package/dist/src/events/publishers/screen.js.map +0 -1
- package/dist/src/events/publishers/serve.js +0 -47
- package/dist/src/events/publishers/serve.js.map +0 -1
- package/dist/src/events/publishers/table.js +0 -77
- package/dist/src/events/publishers/table.js.map +0 -1
- package/dist/src/events/publishers/user.js +0 -202
- package/dist/src/events/publishers/user.js.map +0 -1
- package/dist/src/events/publishers/view.js +0 -111
- package/dist/src/events/publishers/view.js.map +0 -1
- package/dist/src/featureFlags/index.js +0 -96
- package/dist/src/featureFlags/index.js.map +0 -1
- package/dist/src/helpers.js +0 -14
- package/dist/src/helpers.js.map +0 -1
- package/dist/src/index.js +0 -82
- package/dist/src/index.js.map +0 -1
- package/dist/src/installation.js +0 -138
- package/dist/src/installation.js.map +0 -1
- package/dist/src/logging/alerts.js +0 -24
- package/dist/src/logging/alerts.js.map +0 -1
- package/dist/src/logging/correlation/correlation.js +0 -17
- package/dist/src/logging/correlation/correlation.js.map +0 -1
- package/dist/src/logging/correlation/index.js +0 -18
- package/dist/src/logging/correlation/index.js.map +0 -1
- package/dist/src/logging/correlation/middleware.js +0 -17
- package/dist/src/logging/correlation/middleware.js.map +0 -1
- package/dist/src/logging/index.js +0 -35
- package/dist/src/logging/index.js.map +0 -1
- package/dist/src/logging/pino/logger.js +0 -218
- package/dist/src/logging/pino/logger.js.map +0 -1
- package/dist/src/logging/pino/middleware.js +0 -47
- package/dist/src/logging/pino/middleware.js.map +0 -1
- package/dist/src/logging/system.js +0 -101
- package/dist/src/logging/system.js.map +0 -1
- package/dist/src/middleware/adminOnly.js +0 -19
- package/dist/src/middleware/adminOnly.js.map +0 -1
- package/dist/src/middleware/auditLog.js +0 -16
- package/dist/src/middleware/auditLog.js.map +0 -1
- package/dist/src/middleware/authenticated.js +0 -204
- package/dist/src/middleware/authenticated.js.map +0 -1
- package/dist/src/middleware/builderOnly.js +0 -33
- package/dist/src/middleware/builderOnly.js.map +0 -1
- package/dist/src/middleware/builderOrAdmin.js +0 -33
- package/dist/src/middleware/builderOrAdmin.js.map +0 -1
- package/dist/src/middleware/csrf.js +0 -81
- package/dist/src/middleware/csrf.js.map +0 -1
- package/dist/src/middleware/errorHandling.js +0 -64
- package/dist/src/middleware/errorHandling.js.map +0 -1
- package/dist/src/middleware/index.js +0 -65
- package/dist/src/middleware/index.js.map +0 -1
- package/dist/src/middleware/internalApi.js +0 -30
- package/dist/src/middleware/internalApi.js.map +0 -1
- package/dist/src/middleware/joi-validator.js +0 -47
- package/dist/src/middleware/joi-validator.js.map +0 -1
- package/dist/src/middleware/matchers.js +0 -43
- package/dist/src/middleware/matchers.js.map +0 -1
- package/dist/src/middleware/passport/datasource/google.js +0 -95
- package/dist/src/middleware/passport/datasource/google.js.map +0 -1
- package/dist/src/middleware/passport/local.js +0 -81
- package/dist/src/middleware/passport/local.js.map +0 -1
- package/dist/src/middleware/passport/sso/google.js +0 -90
- package/dist/src/middleware/passport/sso/google.js.map +0 -1
- package/dist/src/middleware/passport/sso/oidc.js +0 -151
- package/dist/src/middleware/passport/sso/oidc.js.map +0 -1
- package/dist/src/middleware/passport/sso/sso.js +0 -165
- package/dist/src/middleware/passport/sso/sso.js.map +0 -1
- package/dist/src/middleware/passport/utils.js +0 -66
- package/dist/src/middleware/passport/utils.js.map +0 -1
- package/dist/src/middleware/querystringToBody.js +0 -29
- package/dist/src/middleware/querystringToBody.js.map +0 -1
- package/dist/src/middleware/tenancy.js +0 -37
- package/dist/src/middleware/tenancy.js.map +0 -1
- package/dist/src/migrations/definitions.js +0 -39
- package/dist/src/migrations/definitions.js.map +0 -1
- package/dist/src/migrations/index.js +0 -19
- package/dist/src/migrations/index.js.map +0 -1
- package/dist/src/migrations/migrations.js +0 -198
- package/dist/src/migrations/migrations.js.map +0 -1
- package/dist/src/objectStore/buckets/app.js +0 -73
- package/dist/src/objectStore/buckets/app.js.map +0 -1
- package/dist/src/objectStore/buckets/global.js +0 -58
- package/dist/src/objectStore/buckets/global.js.map +0 -1
- package/dist/src/objectStore/buckets/index.js +0 -20
- package/dist/src/objectStore/buckets/index.js.map +0 -1
- package/dist/src/objectStore/buckets/plugins.js +0 -95
- package/dist/src/objectStore/buckets/plugins.js.map +0 -1
- package/dist/src/objectStore/cloudfront.js +0 -40
- package/dist/src/objectStore/cloudfront.js.map +0 -1
- package/dist/src/objectStore/index.js +0 -20
- package/dist/src/objectStore/index.js.map +0 -1
- package/dist/src/objectStore/objectStore.js +0 -382
- package/dist/src/objectStore/objectStore.js.map +0 -1
- package/dist/src/objectStore/utils.js +0 -32
- package/dist/src/objectStore/utils.js.map +0 -1
- package/dist/src/platform/index.js +0 -33
- package/dist/src/platform/index.js.map +0 -1
- package/dist/src/platform/platformDb.js +0 -10
- package/dist/src/platform/platformDb.js.map +0 -1
- package/dist/src/platform/tenants.js +0 -139
- package/dist/src/platform/tenants.js.map +0 -1
- package/dist/src/platform/users.js +0 -96
- package/dist/src/platform/users.js.map +0 -1
- package/dist/src/plugin/index.js +0 -18
- package/dist/src/plugin/index.js.map +0 -1
- package/dist/src/plugin/utils.js +0 -145
- package/dist/src/plugin/utils.js.map +0 -1
- package/dist/src/queue/constants.js +0 -11
- package/dist/src/queue/constants.js.map +0 -1
- package/dist/src/queue/inMemoryQueue.js +0 -145
- package/dist/src/queue/inMemoryQueue.js.map +0 -1
- package/dist/src/queue/index.js +0 -19
- package/dist/src/queue/index.js.map +0 -1
- package/dist/src/queue/listeners.js +0 -186
- package/dist/src/queue/listeners.js.map +0 -1
- package/dist/src/queue/queue.js +0 -92
- package/dist/src/queue/queue.js.map +0 -1
- package/dist/src/redis/index.js +0 -37
- package/dist/src/redis/index.js.map +0 -1
- package/dist/src/redis/init.js +0 -138
- package/dist/src/redis/init.js.map +0 -1
- package/dist/src/redis/redis.js +0 -335
- package/dist/src/redis/redis.js.map +0 -1
- package/dist/src/redis/redlockImpl.js +0 -162
- package/dist/src/redis/redlockImpl.js.map +0 -1
- package/dist/src/redis/utils.js +0 -123
- package/dist/src/redis/utils.js.map +0 -1
- package/dist/src/security/encryption.js +0 -163
- package/dist/src/security/encryption.js.map +0 -1
- package/dist/src/security/permissions.js +0 -151
- package/dist/src/security/permissions.js.map +0 -1
- package/dist/src/security/roles.js +0 -388
- package/dist/src/security/roles.js.map +0 -1
- package/dist/src/security/sessions.js +0 -121
- package/dist/src/security/sessions.js.map +0 -1
- package/dist/src/tenancy/db.js +0 -10
- package/dist/src/tenancy/db.js.map +0 -1
- package/dist/src/tenancy/index.js +0 -19
- package/dist/src/tenancy/index.js.map +0 -1
- package/dist/src/tenancy/tenancy.js +0 -116
- package/dist/src/tenancy/tenancy.js.map +0 -1
- package/dist/src/timers/index.js +0 -18
- package/dist/src/timers/index.js.map +0 -1
- package/dist/src/timers/timers.js +0 -26
- package/dist/src/timers/timers.js.map +0 -1
- package/dist/src/users/db.js +0 -407
- package/dist/src/users/db.js.map +0 -1
- package/dist/src/users/events.js +0 -169
- package/dist/src/users/events.js.map +0 -1
- package/dist/src/users/index.js +0 -23
- package/dist/src/users/index.js.map +0 -1
- package/dist/src/users/lookup.js +0 -112
- package/dist/src/users/lookup.js.map +0 -1
- package/dist/src/users/users.js +0 -261
- package/dist/src/users/users.js.map +0 -1
- package/dist/src/users/utils.js +0 -92
- package/dist/src/users/utils.js.map +0 -1
- package/dist/src/utils/hashing.js +0 -47
- package/dist/src/utils/hashing.js.map +0 -1
- package/dist/src/utils/index.js +0 -20
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/stringUtils.js +0 -9
- package/dist/src/utils/stringUtils.js.map +0 -1
- package/dist/src/utils/utils.js +0 -247
- package/dist/src/utils/utils.js.map +0 -1
- package/dist/tests/core/logging.js +0 -33
- package/dist/tests/core/logging.js.map +0 -1
- package/dist/tests/core/utilities/index.js +0 -37
- package/dist/tests/core/utilities/index.js.map +0 -1
- package/dist/tests/core/utilities/jestUtils.js +0 -21
- package/dist/tests/core/utilities/jestUtils.js.map +0 -1
- package/dist/tests/core/utilities/mocks/alerts.js +0 -30
- package/dist/tests/core/utilities/mocks/alerts.js.map +0 -1
- package/dist/tests/core/utilities/mocks/date.js +0 -6
- package/dist/tests/core/utilities/mocks/date.js.map +0 -1
- package/dist/tests/core/utilities/mocks/events.js +0 -143
- package/dist/tests/core/utilities/mocks/events.js.map +0 -1
- package/dist/tests/core/utilities/mocks/fetch.js +0 -15
- package/dist/tests/core/utilities/mocks/fetch.js.map +0 -1
- package/dist/tests/core/utilities/mocks/index.js +0 -43
- package/dist/tests/core/utilities/mocks/index.js.map +0 -1
- package/dist/tests/core/utilities/mocks/licenses.js +0 -97
- package/dist/tests/core/utilities/mocks/licenses.js.map +0 -1
- package/dist/tests/core/utilities/mocks/posthog.js +0 -9
- package/dist/tests/core/utilities/mocks/posthog.js.map +0 -1
- package/dist/tests/core/utilities/structures/Chance.js +0 -21
- package/dist/tests/core/utilities/structures/Chance.js.map +0 -1
- package/dist/tests/core/utilities/structures/accounts.js +0 -78
- package/dist/tests/core/utilities/structures/accounts.js.map +0 -1
- package/dist/tests/core/utilities/structures/apps.js +0 -24
- package/dist/tests/core/utilities/structures/apps.js.map +0 -1
- package/dist/tests/core/utilities/structures/common.js +0 -11
- package/dist/tests/core/utilities/structures/common.js.map +0 -1
- package/dist/tests/core/utilities/structures/db.js +0 -16
- package/dist/tests/core/utilities/structures/db.js.map +0 -1
- package/dist/tests/core/utilities/structures/documents/index.js +0 -18
- package/dist/tests/core/utilities/structures/documents/index.js.map +0 -1
- package/dist/tests/core/utilities/structures/documents/platform/index.js +0 -28
- package/dist/tests/core/utilities/structures/documents/platform/index.js.map +0 -1
- package/dist/tests/core/utilities/structures/documents/platform/installation.js +0 -38
- package/dist/tests/core/utilities/structures/documents/platform/installation.js.map +0 -1
- package/dist/tests/core/utilities/structures/generator.js +0 -9
- package/dist/tests/core/utilities/structures/generator.js.map +0 -1
- package/dist/tests/core/utilities/structures/index.js +0 -46
- package/dist/tests/core/utilities/structures/index.js.map +0 -1
- package/dist/tests/core/utilities/structures/koa.js +0 -10
- package/dist/tests/core/utilities/structures/koa.js.map +0 -1
- package/dist/tests/core/utilities/structures/licenses.js +0 -140
- package/dist/tests/core/utilities/structures/licenses.js.map +0 -1
- package/dist/tests/core/utilities/structures/plugins.js +0 -23
- package/dist/tests/core/utilities/structures/plugins.js.map +0 -1
- package/dist/tests/core/utilities/structures/quotas.js +0 -71
- package/dist/tests/core/utilities/structures/quotas.js.map +0 -1
- package/dist/tests/core/utilities/structures/scim.js +0 -63
- package/dist/tests/core/utilities/structures/scim.js.map +0 -1
- package/dist/tests/core/utilities/structures/shared.js +0 -14
- package/dist/tests/core/utilities/structures/shared.js.map +0 -1
- package/dist/tests/core/utilities/structures/sso.js +0 -132
- package/dist/tests/core/utilities/structures/sso.js.map +0 -1
- package/dist/tests/core/utilities/structures/tenants.js +0 -9
- package/dist/tests/core/utilities/structures/tenants.js.map +0 -1
- package/dist/tests/core/utilities/structures/userGroups.js +0 -13
- package/dist/tests/core/utilities/structures/userGroups.js.map +0 -1
- package/dist/tests/core/utilities/structures/users.js +0 -48
- package/dist/tests/core/utilities/structures/users.js.map +0 -1
- package/dist/tests/core/utilities/testContainerUtils.js +0 -84
- package/dist/tests/core/utilities/testContainerUtils.js.map +0 -1
- package/dist/tests/core/utilities/utils/index.js +0 -28
- package/dist/tests/core/utilities/utils/index.js.map +0 -1
- package/dist/tests/core/utilities/utils/time.js +0 -8
- package/dist/tests/core/utilities/utils/time.js.map +0 -1
- package/dist/tests/extra/DBTestConfiguration.js +0 -55
- package/dist/tests/extra/DBTestConfiguration.js.map +0 -1
- package/dist/tests/extra/index.js +0 -33
- package/dist/tests/extra/index.js.map +0 -1
- package/dist/tests/extra/testEnv.js +0 -127
- package/dist/tests/extra/testEnv.js.map +0 -1
- package/dist/tests/index.js +0 -18
- package/dist/tests/index.js.map +0 -1
- package/dist/tests/jestEnv.js +0 -8
- package/dist/tests/jestEnv.js.map +0 -1
- package/dist/tests/jestSetup.js +0 -28
- package/dist/tests/jestSetup.js.map +0 -1
- package/plugins.ts +0 -1
|
@@ -1,388 +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.getExternalRoleID = exports.getDBRoleID = exports.AccessController = exports.getRequiredResourceRole = exports.getAllRoles = exports.checkForRoleResourceArray = exports.getUserRoleHierarchy = exports.getRole = exports.lowerBuiltinRoleID = exports.roleToNumber = exports.builtinRoleToNumber = exports.isBuiltin = exports.BUILTIN_ROLE_NAME_ARRAY = exports.BUILTIN_ROLE_ID_ARRAY = exports.getBuiltinRoles = exports.Role = exports.RoleIDVersion = exports.BUILTIN_ROLE_IDS = void 0;
|
|
16
|
-
const permissions_1 = require("./permissions");
|
|
17
|
-
const db_1 = require("../db");
|
|
18
|
-
const context_1 = require("../context");
|
|
19
|
-
const db_2 = require("../db");
|
|
20
|
-
const cloneDeep_1 = __importDefault(require("lodash/fp/cloneDeep"));
|
|
21
|
-
exports.BUILTIN_ROLE_IDS = {
|
|
22
|
-
ADMIN: "ADMIN",
|
|
23
|
-
POWER: "POWER",
|
|
24
|
-
BASIC: "BASIC",
|
|
25
|
-
PUBLIC: "PUBLIC",
|
|
26
|
-
};
|
|
27
|
-
const BUILTIN_IDS = Object.assign(Object.assign({}, exports.BUILTIN_ROLE_IDS), { BUILDER: "BUILDER" });
|
|
28
|
-
// exclude internal roles like builder
|
|
29
|
-
const EXTERNAL_BUILTIN_ROLE_IDS = [
|
|
30
|
-
BUILTIN_IDS.ADMIN,
|
|
31
|
-
BUILTIN_IDS.POWER,
|
|
32
|
-
BUILTIN_IDS.BASIC,
|
|
33
|
-
BUILTIN_IDS.PUBLIC,
|
|
34
|
-
];
|
|
35
|
-
exports.RoleIDVersion = {
|
|
36
|
-
// original version, with a UUID based ID
|
|
37
|
-
UUID: undefined,
|
|
38
|
-
// new version - with name based ID
|
|
39
|
-
NAME: "name",
|
|
40
|
-
};
|
|
41
|
-
class Role {
|
|
42
|
-
constructor(id, name, permissionId) {
|
|
43
|
-
this.permissions = {};
|
|
44
|
-
this._id = id;
|
|
45
|
-
this.name = name;
|
|
46
|
-
this.permissionId = permissionId;
|
|
47
|
-
// version for managing the ID - removing the role_ when responding
|
|
48
|
-
this.version = exports.RoleIDVersion.NAME;
|
|
49
|
-
}
|
|
50
|
-
addInheritance(inherits) {
|
|
51
|
-
this.inherits = inherits;
|
|
52
|
-
return this;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
exports.Role = Role;
|
|
56
|
-
const BUILTIN_ROLES = {
|
|
57
|
-
ADMIN: new Role(BUILTIN_IDS.ADMIN, "Admin", permissions_1.BuiltinPermissionID.ADMIN).addInheritance(BUILTIN_IDS.POWER),
|
|
58
|
-
POWER: new Role(BUILTIN_IDS.POWER, "Power", permissions_1.BuiltinPermissionID.POWER).addInheritance(BUILTIN_IDS.BASIC),
|
|
59
|
-
BASIC: new Role(BUILTIN_IDS.BASIC, "Basic", permissions_1.BuiltinPermissionID.WRITE).addInheritance(BUILTIN_IDS.PUBLIC),
|
|
60
|
-
PUBLIC: new Role(BUILTIN_IDS.PUBLIC, "Public", permissions_1.BuiltinPermissionID.PUBLIC),
|
|
61
|
-
BUILDER: new Role(BUILTIN_IDS.BUILDER, "Builder", permissions_1.BuiltinPermissionID.ADMIN),
|
|
62
|
-
};
|
|
63
|
-
function getBuiltinRoles() {
|
|
64
|
-
return (0, cloneDeep_1.default)(BUILTIN_ROLES);
|
|
65
|
-
}
|
|
66
|
-
exports.getBuiltinRoles = getBuiltinRoles;
|
|
67
|
-
exports.BUILTIN_ROLE_ID_ARRAY = Object.values(BUILTIN_ROLES).map(role => role._id);
|
|
68
|
-
exports.BUILTIN_ROLE_NAME_ARRAY = Object.values(BUILTIN_ROLES).map(role => role.name);
|
|
69
|
-
function isBuiltin(role) {
|
|
70
|
-
return exports.BUILTIN_ROLE_ID_ARRAY.some(builtin => role === null || role === void 0 ? void 0 : role.includes(builtin));
|
|
71
|
-
}
|
|
72
|
-
exports.isBuiltin = isBuiltin;
|
|
73
|
-
/**
|
|
74
|
-
* Works through the inheritance ranks to see how far up the builtin stack this ID is.
|
|
75
|
-
*/
|
|
76
|
-
function builtinRoleToNumber(id) {
|
|
77
|
-
if (!id) {
|
|
78
|
-
return 0;
|
|
79
|
-
}
|
|
80
|
-
const builtins = getBuiltinRoles();
|
|
81
|
-
const MAX = Object.values(builtins).length + 1;
|
|
82
|
-
if (id === BUILTIN_IDS.ADMIN || id === BUILTIN_IDS.BUILDER) {
|
|
83
|
-
return MAX;
|
|
84
|
-
}
|
|
85
|
-
let role = builtins[id], count = 0;
|
|
86
|
-
do {
|
|
87
|
-
if (!role) {
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
role = builtins[role.inherits];
|
|
91
|
-
count++;
|
|
92
|
-
} while (role !== null);
|
|
93
|
-
return count;
|
|
94
|
-
}
|
|
95
|
-
exports.builtinRoleToNumber = builtinRoleToNumber;
|
|
96
|
-
/**
|
|
97
|
-
* Converts any role to a number, but has to be async to get the roles from db.
|
|
98
|
-
*/
|
|
99
|
-
function roleToNumber(id) {
|
|
100
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
-
if (isBuiltin(id)) {
|
|
102
|
-
return builtinRoleToNumber(id);
|
|
103
|
-
}
|
|
104
|
-
const hierarchy = (yield getUserRoleHierarchy(id));
|
|
105
|
-
for (let role of hierarchy) {
|
|
106
|
-
if (isBuiltin(role === null || role === void 0 ? void 0 : role.inherits)) {
|
|
107
|
-
return builtinRoleToNumber(role.inherits) + 1;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return 0;
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
exports.roleToNumber = roleToNumber;
|
|
114
|
-
/**
|
|
115
|
-
* Returns whichever builtin roleID is lower.
|
|
116
|
-
*/
|
|
117
|
-
function lowerBuiltinRoleID(roleId1, roleId2) {
|
|
118
|
-
if (!roleId1) {
|
|
119
|
-
return roleId2;
|
|
120
|
-
}
|
|
121
|
-
if (!roleId2) {
|
|
122
|
-
return roleId1;
|
|
123
|
-
}
|
|
124
|
-
return builtinRoleToNumber(roleId1) > builtinRoleToNumber(roleId2)
|
|
125
|
-
? roleId2
|
|
126
|
-
: roleId1;
|
|
127
|
-
}
|
|
128
|
-
exports.lowerBuiltinRoleID = lowerBuiltinRoleID;
|
|
129
|
-
/**
|
|
130
|
-
* Gets the role object, this is mainly useful for two purposes, to check if the level exists and
|
|
131
|
-
* to check if the role inherits any others.
|
|
132
|
-
* @param {string|null} roleId The level ID to lookup.
|
|
133
|
-
* @param {object|null} opts options for the function, like whether to halt errors, instead return public.
|
|
134
|
-
* @returns {Promise<Role|object|null>} The role object, which may contain an "inherits" property.
|
|
135
|
-
*/
|
|
136
|
-
function getRole(roleId, opts) {
|
|
137
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
-
if (!roleId) {
|
|
139
|
-
return undefined;
|
|
140
|
-
}
|
|
141
|
-
let role = {};
|
|
142
|
-
// built in roles mostly come from the in-code implementation,
|
|
143
|
-
// but can be extended by a doc stored about them (e.g. permissions)
|
|
144
|
-
if (isBuiltin(roleId)) {
|
|
145
|
-
role = (0, cloneDeep_1.default)(Object.values(BUILTIN_ROLES).find(role => role._id === roleId));
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
// make sure has the prefix (if it has it then it won't be added)
|
|
149
|
-
roleId = (0, db_1.prefixRoleID)(roleId);
|
|
150
|
-
}
|
|
151
|
-
try {
|
|
152
|
-
const db = (0, context_1.getAppDB)();
|
|
153
|
-
const dbRole = yield db.get(getDBRoleID(roleId));
|
|
154
|
-
role = Object.assign(role, dbRole);
|
|
155
|
-
// finalise the ID
|
|
156
|
-
role._id = getExternalRoleID(role._id, role.version);
|
|
157
|
-
}
|
|
158
|
-
catch (err) {
|
|
159
|
-
if (!isBuiltin(roleId) && (opts === null || opts === void 0 ? void 0 : opts.defaultPublic)) {
|
|
160
|
-
return (0, cloneDeep_1.default)(BUILTIN_ROLES.PUBLIC);
|
|
161
|
-
}
|
|
162
|
-
// only throw an error if there is no role at all
|
|
163
|
-
if (Object.keys(role).length === 0) {
|
|
164
|
-
throw err;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
return role;
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
exports.getRole = getRole;
|
|
171
|
-
/**
|
|
172
|
-
* Simple function to get all the roles based on the top level user role ID.
|
|
173
|
-
*/
|
|
174
|
-
function getAllUserRoles(userRoleId) {
|
|
175
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
176
|
-
// admins have access to all roles
|
|
177
|
-
if (userRoleId === BUILTIN_IDS.ADMIN) {
|
|
178
|
-
return getAllRoles();
|
|
179
|
-
}
|
|
180
|
-
let currentRole = yield getRole(userRoleId);
|
|
181
|
-
let roles = currentRole ? [currentRole] : [];
|
|
182
|
-
let roleIds = [userRoleId];
|
|
183
|
-
// get all the inherited roles
|
|
184
|
-
while (currentRole &&
|
|
185
|
-
currentRole.inherits &&
|
|
186
|
-
roleIds.indexOf(currentRole.inherits) === -1) {
|
|
187
|
-
roleIds.push(currentRole.inherits);
|
|
188
|
-
currentRole = yield getRole(currentRole.inherits);
|
|
189
|
-
if (currentRole) {
|
|
190
|
-
roles.push(currentRole);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return roles;
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Returns an ordered array of the user's inherited role IDs, this can be used
|
|
198
|
-
* to determine if a user can access something that requires a specific role.
|
|
199
|
-
* @param {string} userRoleId The user's role ID, this can be found in their access token.
|
|
200
|
-
* @param {object} opts Various options, such as whether to only retrieve the IDs (default true).
|
|
201
|
-
* @returns {Promise<string[]|object[]>} returns an ordered array of the roles, with the first being their
|
|
202
|
-
* highest level of access and the last being the lowest level.
|
|
203
|
-
*/
|
|
204
|
-
function getUserRoleHierarchy(userRoleId, opts = { idOnly: true }) {
|
|
205
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
206
|
-
// special case, if they don't have a role then they are a public user
|
|
207
|
-
const roles = yield getAllUserRoles(userRoleId);
|
|
208
|
-
return opts.idOnly ? roles.map(role => role._id) : roles;
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
exports.getUserRoleHierarchy = getUserRoleHierarchy;
|
|
212
|
-
// this function checks that the provided permissions are in an array format
|
|
213
|
-
// some templates/older apps will use a simple string instead of array for roles
|
|
214
|
-
// convert the string to an array using the theory that write is higher than read
|
|
215
|
-
function checkForRoleResourceArray(rolePerms, resourceId) {
|
|
216
|
-
if (rolePerms && !Array.isArray(rolePerms[resourceId])) {
|
|
217
|
-
const permLevel = rolePerms[resourceId];
|
|
218
|
-
rolePerms[resourceId] = [permLevel];
|
|
219
|
-
if (permLevel === permissions_1.PermissionLevel.WRITE) {
|
|
220
|
-
rolePerms[resourceId].push(permissions_1.PermissionLevel.READ);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
return rolePerms;
|
|
224
|
-
}
|
|
225
|
-
exports.checkForRoleResourceArray = checkForRoleResourceArray;
|
|
226
|
-
/**
|
|
227
|
-
* Given an app ID this will retrieve all of the roles that are currently within that app.
|
|
228
|
-
* @return {Promise<object[]>} An array of the role objects that were found.
|
|
229
|
-
*/
|
|
230
|
-
function getAllRoles(appId) {
|
|
231
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
232
|
-
if (appId) {
|
|
233
|
-
return (0, db_2.doWithDB)(appId, internal);
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
let appDB;
|
|
237
|
-
try {
|
|
238
|
-
appDB = (0, context_1.getAppDB)();
|
|
239
|
-
}
|
|
240
|
-
catch (error) {
|
|
241
|
-
// We don't have any apps, so we'll just use the built-in roles
|
|
242
|
-
}
|
|
243
|
-
return internal(appDB);
|
|
244
|
-
}
|
|
245
|
-
function internal(db) {
|
|
246
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
247
|
-
let roles = [];
|
|
248
|
-
if (db) {
|
|
249
|
-
const body = yield db.allDocs((0, db_1.getRoleParams)(null, {
|
|
250
|
-
include_docs: true,
|
|
251
|
-
}));
|
|
252
|
-
roles = body.rows.map((row) => row.doc);
|
|
253
|
-
roles.forEach(role => (role._id = getExternalRoleID(role._id, role.version)));
|
|
254
|
-
}
|
|
255
|
-
const builtinRoles = getBuiltinRoles();
|
|
256
|
-
// need to combine builtin with any DB record of them (for sake of permissions)
|
|
257
|
-
for (let builtinRoleId of EXTERNAL_BUILTIN_ROLE_IDS) {
|
|
258
|
-
const builtinRole = builtinRoles[builtinRoleId];
|
|
259
|
-
const dbBuiltin = roles.filter(dbRole => getExternalRoleID(dbRole._id, dbRole.version) === builtinRoleId)[0];
|
|
260
|
-
if (dbBuiltin == null) {
|
|
261
|
-
roles.push(builtinRole || builtinRoles.BASIC);
|
|
262
|
-
}
|
|
263
|
-
else {
|
|
264
|
-
// remove role and all back after combining with the builtin
|
|
265
|
-
roles = roles.filter(role => role._id !== dbBuiltin._id);
|
|
266
|
-
dbBuiltin._id = getExternalRoleID(dbBuiltin._id, dbBuiltin.version);
|
|
267
|
-
roles.push(Object.assign(builtinRole, dbBuiltin));
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
// check permissions
|
|
271
|
-
for (let role of roles) {
|
|
272
|
-
if (!role.permissions) {
|
|
273
|
-
continue;
|
|
274
|
-
}
|
|
275
|
-
for (let resourceId of Object.keys(role.permissions)) {
|
|
276
|
-
role.permissions = checkForRoleResourceArray(role.permissions, resourceId);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
return roles;
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
exports.getAllRoles = getAllRoles;
|
|
285
|
-
/**
|
|
286
|
-
* This retrieves the required role for a resource
|
|
287
|
-
* @param permLevel The level of request
|
|
288
|
-
* @param resourceId The resource being requested
|
|
289
|
-
* @param subResourceId The sub resource being requested
|
|
290
|
-
* @return {Promise<{permissions}|Object>} returns the permissions required to access.
|
|
291
|
-
*/
|
|
292
|
-
function getRequiredResourceRole(permLevel, { resourceId, subResourceId }) {
|
|
293
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
294
|
-
const roles = yield getAllRoles();
|
|
295
|
-
let main = [], sub = [];
|
|
296
|
-
for (let role of roles) {
|
|
297
|
-
// no permissions, ignore it
|
|
298
|
-
if (!role.permissions) {
|
|
299
|
-
continue;
|
|
300
|
-
}
|
|
301
|
-
const mainRes = resourceId ? role.permissions[resourceId] : undefined;
|
|
302
|
-
const subRes = subResourceId ? role.permissions[subResourceId] : undefined;
|
|
303
|
-
if (mainRes && mainRes.indexOf(permLevel) !== -1) {
|
|
304
|
-
main.push(role._id);
|
|
305
|
-
}
|
|
306
|
-
else if (subRes && subRes.indexOf(permLevel) !== -1) {
|
|
307
|
-
sub.push(role._id);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
// for now just return the IDs
|
|
311
|
-
return main.concat(sub);
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
exports.getRequiredResourceRole = getRequiredResourceRole;
|
|
315
|
-
class AccessController {
|
|
316
|
-
constructor() {
|
|
317
|
-
this.userHierarchies = {};
|
|
318
|
-
}
|
|
319
|
-
hasAccess(tryingRoleId, userRoleId) {
|
|
320
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
321
|
-
// special cases, the screen has no role, the roles are the same or the user
|
|
322
|
-
// is currently in the builder
|
|
323
|
-
if (tryingRoleId == null ||
|
|
324
|
-
tryingRoleId === "" ||
|
|
325
|
-
tryingRoleId === userRoleId ||
|
|
326
|
-
tryingRoleId === BUILTIN_IDS.BUILDER ||
|
|
327
|
-
userRoleId === BUILTIN_IDS.BUILDER) {
|
|
328
|
-
return true;
|
|
329
|
-
}
|
|
330
|
-
let roleIds = userRoleId ? this.userHierarchies[userRoleId] : null;
|
|
331
|
-
if (!roleIds && userRoleId) {
|
|
332
|
-
roleIds = (yield getUserRoleHierarchy(userRoleId, {
|
|
333
|
-
idOnly: true,
|
|
334
|
-
}));
|
|
335
|
-
this.userHierarchies[userRoleId] = roleIds;
|
|
336
|
-
}
|
|
337
|
-
return (roleIds === null || roleIds === void 0 ? void 0 : roleIds.indexOf(tryingRoleId)) !== -1;
|
|
338
|
-
});
|
|
339
|
-
}
|
|
340
|
-
checkScreensAccess(screens, userRoleId) {
|
|
341
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
342
|
-
let accessibleScreens = [];
|
|
343
|
-
// don't want to handle this with Promise.all as this would mean all custom roles would be
|
|
344
|
-
// retrieved at same time, it is likely a custom role will be re-used and therefore want
|
|
345
|
-
// to work in sync for performance save
|
|
346
|
-
for (let screen of screens) {
|
|
347
|
-
const accessible = yield this.checkScreenAccess(screen, userRoleId);
|
|
348
|
-
if (accessible) {
|
|
349
|
-
accessibleScreens.push(accessible);
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
return accessibleScreens;
|
|
353
|
-
});
|
|
354
|
-
}
|
|
355
|
-
checkScreenAccess(screen, userRoleId) {
|
|
356
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
357
|
-
const roleId = screen && screen.routing ? screen.routing.roleId : undefined;
|
|
358
|
-
if (yield this.hasAccess(roleId, userRoleId)) {
|
|
359
|
-
return screen;
|
|
360
|
-
}
|
|
361
|
-
return null;
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
exports.AccessController = AccessController;
|
|
366
|
-
/**
|
|
367
|
-
* Adds the "role_" for builtin role IDs which are to be written to the DB (for permissions).
|
|
368
|
-
*/
|
|
369
|
-
function getDBRoleID(roleName) {
|
|
370
|
-
if (roleName === null || roleName === void 0 ? void 0 : roleName.startsWith(db_1.DocumentType.ROLE)) {
|
|
371
|
-
return roleName;
|
|
372
|
-
}
|
|
373
|
-
return (0, db_1.prefixRoleID)(roleName);
|
|
374
|
-
}
|
|
375
|
-
exports.getDBRoleID = getDBRoleID;
|
|
376
|
-
/**
|
|
377
|
-
* Remove the "role_" from builtin role IDs that have been written to the DB (for permissions).
|
|
378
|
-
*/
|
|
379
|
-
function getExternalRoleID(roleId, version) {
|
|
380
|
-
// for built-in roles we want to remove the DB role ID element (role_)
|
|
381
|
-
if ((roleId.startsWith(db_1.DocumentType.ROLE) && isBuiltin(roleId)) ||
|
|
382
|
-
version === exports.RoleIDVersion.NAME) {
|
|
383
|
-
return roleId.split(`${db_1.DocumentType.ROLE}${db_1.SEPARATOR}`)[1];
|
|
384
|
-
}
|
|
385
|
-
return roleId;
|
|
386
|
-
}
|
|
387
|
-
exports.getExternalRoleID = getExternalRoleID;
|
|
388
|
-
//# sourceMappingURL=roles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/security/roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,121 +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.getSession = exports.endSession = exports.updateSessionTTL = exports.createASession = exports.invalidateSessions = exports.getSessionsForUser = void 0;
|
|
16
|
-
const redis = require("../redis/init");
|
|
17
|
-
const { v4: uuidv4 } = require("uuid");
|
|
18
|
-
const { logWarn } = require("../logging");
|
|
19
|
-
const environment_1 = __importDefault(require("../environment"));
|
|
20
|
-
// a week in seconds
|
|
21
|
-
const EXPIRY_SECONDS = 86400 * 7;
|
|
22
|
-
function makeSessionID(userId, sessionId) {
|
|
23
|
-
return `${userId}/${sessionId}`;
|
|
24
|
-
}
|
|
25
|
-
function getSessionsForUser(userId) {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
if (!userId) {
|
|
28
|
-
console.trace("Cannot get sessions for undefined userId");
|
|
29
|
-
return [];
|
|
30
|
-
}
|
|
31
|
-
const client = yield redis.getSessionClient();
|
|
32
|
-
const sessions = yield client.scan(userId);
|
|
33
|
-
return sessions.map(session => session.value);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
exports.getSessionsForUser = getSessionsForUser;
|
|
37
|
-
function invalidateSessions(userId, opts = {}) {
|
|
38
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
try {
|
|
40
|
-
const reason = (opts === null || opts === void 0 ? void 0 : opts.reason) || "unknown";
|
|
41
|
-
let sessionIds = opts.sessionIds || [];
|
|
42
|
-
let sessionKeys;
|
|
43
|
-
// If no sessionIds, get all the sessions for the user
|
|
44
|
-
if (sessionIds.length === 0) {
|
|
45
|
-
const sessions = yield getSessionsForUser(userId);
|
|
46
|
-
sessionKeys = sessions.map(session => ({
|
|
47
|
-
key: makeSessionID(session.userId, session.sessionId),
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
// use the passed array of sessionIds
|
|
52
|
-
sessionIds = Array.isArray(sessionIds) ? sessionIds : [sessionIds];
|
|
53
|
-
sessionKeys = sessionIds.map(sessionId => ({
|
|
54
|
-
key: makeSessionID(userId, sessionId),
|
|
55
|
-
}));
|
|
56
|
-
}
|
|
57
|
-
if (sessionKeys && sessionKeys.length > 0) {
|
|
58
|
-
const client = yield redis.getSessionClient();
|
|
59
|
-
const promises = [];
|
|
60
|
-
for (let sessionKey of sessionKeys) {
|
|
61
|
-
promises.push(client.delete(sessionKey.key));
|
|
62
|
-
}
|
|
63
|
-
if (!environment_1.default.isTest()) {
|
|
64
|
-
logWarn(`Invalidating sessions for ${userId} (reason: ${reason}) - ${sessionKeys
|
|
65
|
-
.map(sessionKey => sessionKey.key)
|
|
66
|
-
.join(", ")}`);
|
|
67
|
-
}
|
|
68
|
-
yield Promise.all(promises);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
catch (err) {
|
|
72
|
-
console.error(`Error invalidating sessions: ${err}`);
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
exports.invalidateSessions = invalidateSessions;
|
|
77
|
-
function createASession(userId, createSession) {
|
|
78
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
// invalidate all other sessions
|
|
80
|
-
yield invalidateSessions(userId, { reason: "creation" });
|
|
81
|
-
const client = yield redis.getSessionClient();
|
|
82
|
-
const sessionId = createSession.sessionId;
|
|
83
|
-
const csrfToken = createSession.csrfToken ? createSession.csrfToken : uuidv4();
|
|
84
|
-
const key = makeSessionID(userId, sessionId);
|
|
85
|
-
const session = Object.assign(Object.assign({}, createSession), { csrfToken, createdAt: new Date().toISOString(), lastAccessedAt: new Date().toISOString(), userId });
|
|
86
|
-
yield client.store(key, session, EXPIRY_SECONDS);
|
|
87
|
-
return session;
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
exports.createASession = createASession;
|
|
91
|
-
function updateSessionTTL(session) {
|
|
92
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
const client = yield redis.getSessionClient();
|
|
94
|
-
const key = makeSessionID(session.userId, session.sessionId);
|
|
95
|
-
session.lastAccessedAt = new Date().toISOString();
|
|
96
|
-
yield client.store(key, session, EXPIRY_SECONDS);
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
exports.updateSessionTTL = updateSessionTTL;
|
|
100
|
-
function endSession(userId, sessionId) {
|
|
101
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
const client = yield redis.getSessionClient();
|
|
103
|
-
yield client.delete(makeSessionID(userId, sessionId));
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
exports.endSession = endSession;
|
|
107
|
-
function getSession(userId, sessionId) {
|
|
108
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
-
if (!userId || !sessionId) {
|
|
110
|
-
throw new Error(`Invalid session details - ${userId} - ${sessionId}`);
|
|
111
|
-
}
|
|
112
|
-
const client = yield redis.getSessionClient();
|
|
113
|
-
const session = yield client.get(makeSessionID(userId, sessionId));
|
|
114
|
-
if (!session) {
|
|
115
|
-
throw new Error(`Session not found - ${userId} - ${sessionId}`);
|
|
116
|
-
}
|
|
117
|
-
return session;
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
exports.getSession = getSession;
|
|
121
|
-
//# sourceMappingURL=sessions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/security/sessions.ts"],"names":[],"mappings":"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"}
|
package/dist/src/tenancy/db.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTenantDB = void 0;
|
|
4
|
-
const db_1 = require("../db/db");
|
|
5
|
-
const context_1 = require("../context");
|
|
6
|
-
function getTenantDB(tenantId) {
|
|
7
|
-
return (0, db_1.getDB)((0, context_1.getGlobalDBName)(tenantId));
|
|
8
|
-
}
|
|
9
|
-
exports.getTenantDB = getTenantDB;
|
|
10
|
-
//# sourceMappingURL=db.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/tenancy/db.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAChC,wCAA4C;AAE5C,SAAgB,WAAW,CAAC,QAAgB;IAC1C,OAAO,IAAA,UAAK,EAAC,IAAA,yBAAe,EAAC,QAAQ,CAAC,CAAC,CAAA;AACzC,CAAC;AAFD,kCAEC"}
|
|
@@ -1,19 +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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./db"), exports);
|
|
18
|
-
__exportStar(require("./tenancy"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tenancy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAoB;AACpB,4CAAyB"}
|