@budibase/backend-core 2.5.8 → 2.5.10-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +13 -10
- package/dist/src/configs/configs.d.ts +2 -1
- package/dist/src/configs/configs.js +9 -1
- package/dist/src/configs/configs.js.map +1 -1
- package/dist/src/constants/db.d.ts +1 -0
- package/dist/src/constants/db.js +1 -0
- package/dist/src/constants/db.js.map +1 -1
- package/dist/src/constants/misc.d.ts +4 -2
- package/dist/src/constants/misc.js +2 -0
- package/dist/src/constants/misc.js.map +1 -1
- package/dist/src/context/mainContext.d.ts +5 -2
- package/dist/src/context/mainContext.js +20 -3
- package/dist/src/context/mainContext.js.map +1 -1
- package/dist/src/context/types.d.ts +1 -0
- package/dist/src/db/couch/DatabaseImpl.js +1 -1
- package/dist/src/db/couch/DatabaseImpl.js.map +1 -1
- package/dist/src/db/index.d.ts +2 -1
- package/dist/src/db/index.js +15 -2
- package/dist/src/db/index.js.map +1 -1
- package/dist/src/db/lucene.d.ts +8 -14
- package/dist/src/db/lucene.js +164 -97
- package/dist/src/db/lucene.js.map +1 -1
- package/dist/src/db/searchIndexes/index.d.ts +1 -0
- package/dist/src/db/searchIndexes/index.js +18 -0
- package/dist/src/db/searchIndexes/index.js.map +1 -0
- package/dist/src/db/searchIndexes/searchIndexes.d.ts +1 -0
- package/dist/src/db/searchIndexes/searchIndexes.js +77 -0
- package/dist/src/db/searchIndexes/searchIndexes.js.map +1 -0
- package/dist/src/db/utils.d.ts +5 -126
- package/dist/src/db/utils.js +20 -232
- package/dist/src/db/utils.js.map +1 -1
- package/dist/src/db/views.d.ts +3 -1
- package/dist/src/db/views.js +61 -30
- package/dist/src/db/views.js.map +1 -1
- package/dist/src/docIds/conversions.js.map +1 -0
- package/dist/src/docIds/ids.d.ts +53 -0
- package/dist/src/docIds/ids.js +101 -0
- package/dist/src/docIds/ids.js.map +1 -0
- package/dist/src/docIds/index.d.ts +2 -0
- package/dist/src/docIds/index.js +19 -0
- package/dist/src/docIds/index.js.map +1 -0
- package/dist/src/docIds/newid.js.map +1 -0
- package/dist/src/docIds/params.d.ts +69 -0
- package/dist/src/docIds/params.js +138 -0
- package/dist/src/docIds/params.js.map +1 -0
- package/dist/src/docUpdates/index.d.ts +2 -0
- package/dist/src/docUpdates/index.js +36 -0
- package/dist/src/docUpdates/index.js.map +1 -0
- package/dist/src/environment.d.ts +4 -2
- package/dist/src/environment.js +35 -2
- package/dist/src/environment.js.map +1 -1
- package/dist/src/errors/errors.d.ts +3 -0
- package/dist/src/errors/errors.js +8 -1
- package/dist/src/errors/errors.js.map +1 -1
- package/dist/src/events/asyncEvents/index.d.ts +2 -0
- package/dist/src/events/asyncEvents/index.js +19 -0
- package/dist/src/events/asyncEvents/index.js.map +1 -0
- package/dist/src/events/asyncEvents/publisher.d.ts +2 -0
- package/dist/src/events/asyncEvents/publisher.js +27 -0
- package/dist/src/events/asyncEvents/publisher.js.map +1 -0
- package/dist/src/events/asyncEvents/queue.d.ts +11 -0
- package/dist/src/events/asyncEvents/queue.js +26 -0
- package/dist/src/events/asyncEvents/queue.js.map +1 -0
- package/dist/src/events/documentId.d.ts +2 -0
- package/dist/src/events/documentId.js +28 -0
- package/dist/src/events/documentId.js.map +1 -0
- package/dist/src/events/events.js +9 -0
- package/dist/src/events/events.js.map +1 -1
- package/dist/src/events/identification.d.ts +1 -0
- package/dist/src/events/identification.js +3 -2
- package/dist/src/events/identification.js.map +1 -1
- package/dist/src/events/index.d.ts +1 -0
- package/dist/src/events/index.js +3 -1
- package/dist/src/events/index.js.map +1 -1
- package/dist/src/events/processors/LoggingProcessor.js +3 -17
- package/dist/src/events/processors/LoggingProcessor.js.map +1 -1
- package/dist/src/events/processors/Processors.js +9 -3
- package/dist/src/events/processors/Processors.js.map +1 -1
- package/dist/src/events/processors/async/DocumentUpdateProcessor.d.ts +13 -0
- package/dist/src/events/processors/async/DocumentUpdateProcessor.js +44 -0
- package/dist/src/events/processors/async/DocumentUpdateProcessor.js.map +1 -0
- package/dist/src/events/processors/posthog/PosthogProcessor.js +1 -2
- package/dist/src/events/processors/posthog/PosthogProcessor.js.map +1 -1
- package/dist/src/events/processors/types.d.ts +1 -11
- package/dist/src/events/processors/types.js +0 -6
- package/dist/src/events/processors/types.js.map +1 -1
- package/dist/src/events/publishers/group.js +6 -0
- package/dist/src/events/publishers/group.js.map +1 -1
- package/dist/src/events/publishers/license.d.ts +9 -4
- package/dist/src/events/publishers/license.js +2 -17
- package/dist/src/events/publishers/license.js.map +1 -1
- package/dist/src/events/publishers/user.js +4 -0
- package/dist/src/events/publishers/user.js.map +1 -1
- package/dist/src/index.d.ts +6 -2
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/installation.d.ts +1 -0
- package/dist/src/installation.js +7 -6
- package/dist/src/installation.js.map +1 -1
- package/dist/src/{logging.d.ts → logging/alerts.d.ts} +0 -5
- package/dist/src/logging/alerts.js +24 -0
- package/dist/src/logging/alerts.js.map +1 -0
- package/dist/src/logging/correlation/correlation.d.ts +2 -0
- package/dist/src/logging/correlation/correlation.js +17 -0
- package/dist/src/logging/correlation/correlation.js.map +1 -0
- package/dist/src/logging/correlation/index.d.ts +1 -0
- package/dist/src/logging/correlation/index.js +18 -0
- package/dist/src/logging/correlation/index.js.map +1 -0
- package/dist/src/logging/correlation/middleware.d.ts +2 -0
- package/dist/src/logging/correlation/middleware.js +17 -0
- package/dist/src/logging/correlation/middleware.js.map +1 -0
- package/dist/src/logging/index.d.ts +4 -0
- package/dist/src/logging/index.js +36 -0
- package/dist/src/logging/index.js.map +1 -0
- package/dist/src/logging/pino/logger.d.ts +2 -0
- package/dist/src/logging/pino/logger.js +167 -0
- package/dist/src/logging/pino/logger.js.map +1 -0
- package/dist/src/logging/pino/middleware.d.ts +4 -0
- package/dist/src/logging/pino/middleware.js +47 -0
- package/dist/src/logging/pino/middleware.js.map +1 -0
- package/dist/src/middleware/authenticated.js +6 -3
- package/dist/src/middleware/authenticated.js.map +1 -1
- package/dist/src/middleware/errorHandling.js +5 -7
- package/dist/src/middleware/errorHandling.js.map +1 -1
- package/dist/src/middleware/index.d.ts +2 -1
- package/dist/src/middleware/index.js +5 -3
- package/dist/src/middleware/index.js.map +1 -1
- package/dist/src/middleware/passport/sso/oidc.js +2 -5
- package/dist/src/middleware/passport/sso/oidc.js.map +1 -1
- package/dist/src/middleware/tenancy.d.ts +1 -1
- package/dist/src/migrations/migrations.js +4 -4
- package/dist/src/migrations/migrations.js.map +1 -1
- package/dist/src/objectStore/objectStore.js +3 -3
- package/dist/src/objectStore/objectStore.js.map +1 -1
- package/dist/src/plugin/utils.js +53 -2
- package/dist/src/plugin/utils.js.map +1 -1
- package/dist/src/queue/constants.d.ts +2 -1
- package/dist/src/queue/constants.js +1 -0
- package/dist/src/queue/constants.js.map +1 -1
- package/dist/src/redis/redlockImpl.js +4 -1
- package/dist/src/redis/redlockImpl.js.map +1 -1
- package/dist/src/security/encryption.d.ts +1 -0
- package/dist/src/security/encryption.js +2 -1
- package/dist/src/security/encryption.js.map +1 -1
- package/dist/src/security/permissions.d.ts +35 -2
- package/dist/src/security/permissions.js +9 -6
- package/dist/src/security/permissions.js.map +1 -1
- package/dist/src/tenancy/tenancy.js +1 -5
- package/dist/src/tenancy/tenancy.js.map +1 -1
- package/dist/src/users.d.ts +11 -1
- package/dist/src/users.js +45 -1
- package/dist/src/users.js.map +1 -1
- package/dist/src/utils/hashing.d.ts +1 -1
- package/dist/src/utils/hashing.js +1 -1
- package/dist/src/utils/hashing.js.map +1 -1
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.js +1 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/stringUtils.d.ts +1 -0
- package/dist/src/utils/stringUtils.js +9 -0
- package/dist/src/utils/stringUtils.js.map +1 -0
- package/dist/src/utils/utils.d.ts +0 -1
- package/dist/src/utils/utils.js +1 -24
- package/dist/src/utils/utils.js.map +1 -1
- package/dist/tests/core/logging.js.map +1 -0
- package/dist/tests/{utilities → core/utilities}/index.d.ts +1 -2
- package/dist/tests/{utilities → core/utilities}/index.js +2 -7
- package/dist/tests/core/utilities/index.js.map +1 -0
- package/dist/tests/core/utilities/jestUtils.js.map +1 -0
- package/dist/tests/core/utilities/mocks/alerts.d.ts +3 -0
- package/dist/tests/core/utilities/mocks/alerts.js +30 -0
- package/dist/tests/core/utilities/mocks/alerts.js.map +1 -0
- package/dist/tests/core/utilities/mocks/date.js.map +1 -0
- package/dist/tests/core/utilities/mocks/events.js +144 -0
- package/dist/tests/core/utilities/mocks/events.js.map +1 -0
- package/dist/tests/core/utilities/mocks/fetch.d.ts +33 -0
- package/dist/tests/core/utilities/mocks/fetch.js +15 -0
- package/dist/tests/core/utilities/mocks/fetch.js.map +1 -0
- package/dist/tests/{utilities → core/utilities}/mocks/index.d.ts +4 -3
- package/dist/tests/{utilities → core/utilities}/mocks/index.js +7 -3
- package/dist/tests/core/utilities/mocks/index.js.map +1 -0
- package/dist/tests/{utilities → core/utilities}/mocks/licenses.d.ts +1 -0
- package/dist/tests/{utilities → core/utilities}/mocks/licenses.js +5 -1
- package/dist/tests/core/utilities/mocks/licenses.js.map +1 -0
- package/dist/tests/core/utilities/mocks/posthog.js.map +1 -0
- package/dist/tests/core/utilities/structures/Chance.d.ts +7 -0
- package/dist/tests/core/utilities/structures/Chance.js +21 -0
- package/dist/tests/core/utilities/structures/Chance.js.map +1 -0
- package/dist/tests/{utilities → core/utilities}/structures/accounts.js +3 -25
- package/dist/tests/core/utilities/structures/accounts.js.map +1 -0
- package/dist/tests/{utilities → core/utilities}/structures/apps.js +1 -1
- package/dist/tests/core/utilities/structures/apps.js.map +1 -0
- package/dist/tests/core/utilities/structures/common.js.map +1 -0
- package/dist/tests/{utilities → core/utilities}/structures/db.js +1 -1
- package/dist/tests/core/utilities/structures/db.js.map +1 -0
- package/dist/tests/core/utilities/structures/generator.d.ts +2 -0
- package/dist/tests/{utilities → core/utilities}/structures/generator.js +2 -2
- package/dist/tests/core/utilities/structures/generator.js.map +1 -0
- package/dist/tests/{utilities → core/utilities}/structures/index.d.ts +2 -0
- package/dist/tests/{utilities → core/utilities}/structures/index.js +3 -1
- package/dist/tests/core/utilities/structures/index.js.map +1 -0
- package/dist/tests/core/utilities/structures/koa.js.map +1 -0
- package/dist/tests/core/utilities/structures/licenses.d.ts +17 -0
- package/dist/tests/core/utilities/structures/licenses.js +127 -0
- package/dist/tests/core/utilities/structures/licenses.js.map +1 -0
- package/dist/tests/core/utilities/structures/plugins.js.map +1 -0
- package/dist/tests/core/utilities/structures/quotas.d.ts +2 -0
- package/dist/tests/core/utilities/structures/quotas.js +71 -0
- package/dist/tests/core/utilities/structures/quotas.js.map +1 -0
- package/dist/tests/core/utilities/structures/scim.d.ts +14 -0
- package/dist/tests/core/utilities/structures/scim.js +67 -0
- package/dist/tests/core/utilities/structures/scim.js.map +1 -0
- package/dist/tests/core/utilities/structures/shared.js.map +1 -0
- package/dist/tests/core/utilities/structures/sso.js.map +1 -0
- package/dist/tests/{utilities → core/utilities}/structures/tenants.js +1 -1
- package/dist/tests/core/utilities/structures/tenants.js.map +1 -0
- package/dist/tests/core/utilities/structures/userGroups.js.map +1 -0
- package/dist/tests/core/utilities/structures/users.js.map +1 -0
- package/dist/tests/core/utilities/testContainerUtils.js.map +1 -0
- package/dist/tests/core/utilities/utils/index.d.ts +1 -0
- package/dist/tests/core/utilities/utils/index.js +28 -0
- package/dist/tests/core/utilities/utils/index.js.map +1 -0
- package/dist/tests/core/utilities/utils/time.d.ts +1 -0
- package/dist/tests/core/utilities/utils/time.js +8 -0
- package/dist/tests/core/utilities/utils/time.js.map +1 -0
- package/dist/tests/{utilities → extra}/DBTestConfiguration.d.ts +1 -1
- package/dist/tests/{utilities → extra}/DBTestConfiguration.js +2 -2
- package/dist/tests/extra/DBTestConfiguration.js.map +1 -0
- package/dist/tests/extra/index.d.ts +2 -0
- package/dist/tests/extra/index.js +33 -0
- package/dist/tests/extra/index.js.map +1 -0
- package/dist/tests/{utilities → extra}/testEnv.d.ts +1 -1
- package/dist/tests/{utilities → extra}/testEnv.js +1 -1
- package/dist/tests/extra/testEnv.js.map +1 -0
- package/dist/tests/index.d.ts +1 -1
- package/dist/tests/index.js +1 -1
- package/dist/tests/index.js.map +1 -1
- package/dist/tests/jestEnv.js +0 -1
- package/dist/tests/jestEnv.js.map +1 -1
- package/dist/tests/jestSetup.d.ts +1 -1
- package/dist/tests/jestSetup.js +2 -2
- package/dist/tests/jestSetup.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +13 -10
- package/src/auth/tests/auth.spec.ts +2 -1
- package/src/cache/tests/writethrough.spec.ts +4 -3
- package/src/configs/configs.ts +9 -0
- package/src/configs/tests/configs.spec.ts +2 -6
- package/src/constants/db.ts +1 -0
- package/src/constants/misc.ts +2 -0
- package/src/context/mainContext.ts +22 -5
- package/src/context/tests/index.spec.ts +16 -3
- package/src/context/types.ts +1 -0
- package/src/db/couch/DatabaseImpl.ts +1 -1
- package/src/db/index.ts +2 -1
- package/src/db/lucene.ts +156 -99
- package/src/db/searchIndexes/index.ts +1 -0
- package/src/db/searchIndexes/searchIndexes.ts +62 -0
- package/src/db/tests/lucene.spec.ts +101 -1
- package/src/db/tests/utils.spec.ts +1 -1
- package/src/db/utils.ts +7 -275
- package/src/db/views.ts +64 -25
- package/src/docIds/ids.ts +102 -0
- package/src/docIds/index.ts +2 -0
- package/src/docIds/params.ts +174 -0
- package/src/docUpdates/index.ts +29 -0
- package/src/environment.ts +44 -2
- package/src/errors/errors.ts +8 -0
- package/src/events/asyncEvents/index.ts +2 -0
- package/src/events/asyncEvents/publisher.ts +12 -0
- package/src/events/asyncEvents/queue.ts +22 -0
- package/src/events/documentId.ts +56 -0
- package/src/events/events.ts +10 -1
- package/src/events/identification.ts +3 -3
- package/src/events/index.ts +2 -0
- package/src/events/processors/LoggingProcessor.ts +3 -22
- package/src/events/processors/Processors.ts +9 -3
- package/src/events/processors/async/DocumentUpdateProcessor.ts +43 -0
- package/src/events/processors/posthog/PosthogProcessor.ts +1 -2
- package/src/events/processors/posthog/tests/PosthogProcessor.spec.ts +1 -1
- package/src/events/processors/types.ts +1 -18
- package/src/events/publishers/group.ts +6 -1
- package/src/events/publishers/license.ts +12 -13
- package/src/events/publishers/user.ts +4 -0
- package/src/index.ts +1 -0
- package/src/installation.ts +4 -5
- package/src/logging/alerts.ts +26 -0
- package/src/logging/correlation/correlation.ts +13 -0
- package/src/logging/correlation/index.ts +1 -0
- package/src/logging/correlation/middleware.ts +17 -0
- package/src/logging/index.ts +6 -0
- package/src/logging/pino/logger.ts +173 -0
- package/src/logging/pino/middleware.ts +45 -0
- package/src/middleware/authenticated.ts +9 -3
- package/src/middleware/errorHandling.ts +4 -4
- package/src/middleware/index.ts +2 -1
- package/src/middleware/passport/sso/oidc.ts +2 -9
- package/src/middleware/passport/sso/tests/sso.spec.ts +2 -1
- package/src/migrations/migrations.ts +4 -8
- package/src/migrations/tests/__snapshots__/migrations.spec.ts.snap +1 -1
- package/src/migrations/tests/migrations.spec.ts +1 -1
- package/src/objectStore/buckets/tests/app.spec.ts +1 -1
- package/src/objectStore/buckets/tests/global.spec.ts +1 -1
- package/src/objectStore/buckets/tests/plugins.spec.ts +2 -1
- package/src/objectStore/objectStore.ts +3 -3
- package/src/platform/tests/tenants.spec.ts +2 -1
- package/src/plugin/tests/validation.spec.ts +83 -0
- package/src/plugin/utils.ts +63 -3
- package/src/queue/constants.ts +1 -0
- package/src/redis/redlockImpl.ts +9 -3
- package/src/security/encryption.ts +1 -1
- package/src/security/permissions.ts +5 -5
- package/src/security/tests/encryption.spec.ts +31 -0
- package/src/security/tests/permissions.spec.ts +145 -0
- package/src/tenancy/tenancy.ts +2 -2
- package/src/tenancy/tests/tenancy.spec.ts +184 -0
- package/src/users.ts +56 -7
- package/src/utils/hashing.ts +1 -1
- package/src/utils/index.ts +1 -0
- package/src/utils/stringUtils.ts +8 -0
- package/src/utils/tests/utils.spec.ts +2 -1
- package/src/utils/utils.ts +3 -23
- package/tests/{utilities → core/utilities}/index.ts +1 -4
- package/tests/core/utilities/mocks/alerts.ts +3 -0
- package/tests/core/utilities/mocks/events.ts +133 -0
- package/tests/core/utilities/mocks/fetch.ts +17 -0
- package/tests/{utilities → core/utilities}/mocks/index.ts +4 -3
- package/tests/{utilities → core/utilities}/mocks/licenses.ts +4 -0
- package/tests/core/utilities/structures/Chance.ts +20 -0
- package/tests/{utilities → core/utilities}/structures/accounts.ts +4 -3
- package/tests/{utilities → core/utilities}/structures/apps.ts +1 -1
- package/tests/{utilities → core/utilities}/structures/db.ts +1 -1
- package/tests/{utilities → core/utilities}/structures/generator.ts +1 -1
- package/tests/{utilities → core/utilities}/structures/index.ts +2 -0
- package/tests/core/utilities/structures/licenses.ts +145 -0
- package/tests/core/utilities/structures/quotas.ts +67 -0
- package/tests/core/utilities/structures/scim.ts +81 -0
- package/tests/{utilities → core/utilities}/structures/tenants.ts +1 -1
- package/tests/core/utilities/utils/index.ts +1 -0
- package/tests/core/utilities/utils/time.ts +3 -0
- package/tests/{utilities → extra}/DBTestConfiguration.ts +2 -2
- package/tests/extra/index.ts +2 -0
- package/tests/{utilities → extra}/testEnv.ts +1 -1
- package/tests/index.ts +1 -1
- package/tests/jestEnv.ts +0 -1
- package/tests/jestSetup.ts +2 -2
- package/tsconfig.build.json +3 -7
- package/dist/src/db/conversions.js.map +0 -1
- package/dist/src/logging.js +0 -56
- package/dist/src/logging.js.map +0 -1
- package/dist/src/middleware/logging.d.ts +0 -2
- package/dist/src/middleware/logging.js +0 -106
- package/dist/src/middleware/logging.js.map +0 -1
- package/dist/src/newid.js.map +0 -1
- package/dist/tests/logging.js.map +0 -1
- package/dist/tests/utilities/DBTestConfiguration.js.map +0 -1
- package/dist/tests/utilities/index.js.map +0 -1
- package/dist/tests/utilities/jestUtils.js.map +0 -1
- package/dist/tests/utilities/mocks/date.js.map +0 -1
- package/dist/tests/utilities/mocks/events.js +0 -126
- package/dist/tests/utilities/mocks/events.js.map +0 -1
- package/dist/tests/utilities/mocks/fetch.d.ts +0 -31
- package/dist/tests/utilities/mocks/fetch.js +0 -8
- package/dist/tests/utilities/mocks/fetch.js.map +0 -1
- package/dist/tests/utilities/mocks/index.js.map +0 -1
- package/dist/tests/utilities/mocks/licenses.js.map +0 -1
- package/dist/tests/utilities/mocks/posthog.js.map +0 -1
- package/dist/tests/utilities/structures/accounts.js.map +0 -1
- package/dist/tests/utilities/structures/apps.js.map +0 -1
- package/dist/tests/utilities/structures/common.js.map +0 -1
- package/dist/tests/utilities/structures/db.js.map +0 -1
- package/dist/tests/utilities/structures/generator.d.ts +0 -1
- package/dist/tests/utilities/structures/generator.js.map +0 -1
- package/dist/tests/utilities/structures/index.js.map +0 -1
- package/dist/tests/utilities/structures/koa.js.map +0 -1
- package/dist/tests/utilities/structures/licenses.d.ts +0 -5
- package/dist/tests/utilities/structures/licenses.js +0 -18
- package/dist/tests/utilities/structures/licenses.js.map +0 -1
- package/dist/tests/utilities/structures/plugins.js.map +0 -1
- package/dist/tests/utilities/structures/shared.js.map +0 -1
- package/dist/tests/utilities/structures/sso.js.map +0 -1
- package/dist/tests/utilities/structures/tenants.js.map +0 -1
- package/dist/tests/utilities/structures/userGroups.js.map +0 -1
- package/dist/tests/utilities/structures/users.js.map +0 -1
- package/dist/tests/utilities/testContainerUtils.js.map +0 -1
- package/dist/tests/utilities/testEnv.js.map +0 -1
- package/src/logging.ts +0 -60
- package/src/middleware/logging.ts +0 -90
- package/tests/utilities/mocks/events.ts +0 -122
- package/tests/utilities/mocks/fetch.ts +0 -10
- package/tests/utilities/structures/licenses.ts +0 -18
- /package/dist/src/{db → docIds}/conversions.d.ts +0 -0
- /package/dist/src/{db → docIds}/conversions.js +0 -0
- /package/dist/src/{newid.d.ts → docIds/newid.d.ts} +0 -0
- /package/dist/src/{newid.js → docIds/newid.js} +0 -0
- /package/dist/tests/{logging.d.ts → core/logging.d.ts} +0 -0
- /package/dist/tests/{logging.js → core/logging.js} +0 -0
- /package/dist/tests/{utilities → core/utilities}/jestUtils.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/jestUtils.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/mocks/date.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/mocks/date.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/mocks/events.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/mocks/posthog.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/mocks/posthog.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/accounts.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/apps.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/common.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/common.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/db.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/koa.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/koa.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/plugins.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/plugins.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/shared.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/shared.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/sso.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/sso.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/tenants.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/userGroups.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/userGroups.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/users.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/structures/users.js +0 -0
- /package/dist/tests/{utilities → core/utilities}/testContainerUtils.d.ts +0 -0
- /package/dist/tests/{utilities → core/utilities}/testContainerUtils.js +0 -0
- /package/src/{db → docIds}/conversions.ts +0 -0
- /package/src/{newid.ts → docIds/newid.ts} +0 -0
- /package/tests/{logging.ts → core/logging.ts} +0 -0
- /package/tests/{utilities → core/utilities}/jestUtils.ts +0 -0
- /package/tests/{utilities → core/utilities}/mocks/date.ts +0 -0
- /package/tests/{utilities → core/utilities}/mocks/posthog.ts +0 -0
- /package/tests/{utilities → core/utilities}/structures/common.ts +0 -0
- /package/tests/{utilities → core/utilities}/structures/koa.ts +0 -0
- /package/tests/{utilities → core/utilities}/structures/plugins.ts +0 -0
- /package/tests/{utilities → core/utilities}/structures/shared.ts +0 -0
- /package/tests/{utilities → core/utilities}/structures/sso.ts +0 -0
- /package/tests/{utilities → core/utilities}/structures/userGroups.ts +0 -0
- /package/tests/{utilities → core/utilities}/structures/users.ts +0 -0
- /package/tests/{utilities → core/utilities}/testContainerUtils.ts +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.10-alpha.0",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@budibase/nano": "10.1.2",
|
|
26
26
|
"@budibase/pouchdb-replication-stream": "1.2.10",
|
|
27
|
-
"@budibase/types": "
|
|
27
|
+
"@budibase/types": "2.5.10-alpha.0",
|
|
28
28
|
"@shopify/jest-koa-mocks": "5.0.1",
|
|
29
29
|
"@techpass/passport-openidconnect": "0.3.2",
|
|
30
30
|
"aws-cloudfront-sign": "2.2.0",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"joi": "17.6.0",
|
|
40
40
|
"jsonwebtoken": "9.0.0",
|
|
41
41
|
"koa-passport": "4.1.4",
|
|
42
|
+
"koa-pino-logger": "4.0.0",
|
|
42
43
|
"lodash": "4.17.21",
|
|
43
44
|
"lodash.isarguments": "3.1.0",
|
|
44
45
|
"node-fetch": "2.6.7",
|
|
@@ -46,6 +47,8 @@
|
|
|
46
47
|
"passport-jwt": "4.0.0",
|
|
47
48
|
"passport-local": "1.0.0",
|
|
48
49
|
"passport-oauth2-refresh": "^2.1.0",
|
|
50
|
+
"pino": "8.11.0",
|
|
51
|
+
"pino-http": "8.3.3",
|
|
49
52
|
"posthog-node": "1.3.0",
|
|
50
53
|
"pouchdb": "7.3.0",
|
|
51
54
|
"pouchdb-find": "7.2.2",
|
|
@@ -53,22 +56,20 @@
|
|
|
53
56
|
"sanitize-s3-objectkey": "0.0.1",
|
|
54
57
|
"semver": "7.3.7",
|
|
55
58
|
"tar-fs": "2.1.1",
|
|
56
|
-
"uuid": "8.3.2"
|
|
57
|
-
"zlib": "1.0.5"
|
|
59
|
+
"uuid": "8.3.2"
|
|
58
60
|
},
|
|
59
61
|
"devDependencies": {
|
|
62
|
+
"@jest/test-sequencer": "29.5.0",
|
|
60
63
|
"@swc/core": "^1.3.25",
|
|
61
64
|
"@swc/jest": "^0.2.24",
|
|
62
65
|
"@trendyol/jest-testcontainers": "^2.1.1",
|
|
63
66
|
"@types/chance": "1.1.3",
|
|
64
67
|
"@types/ioredis": "4.28.0",
|
|
65
|
-
"@types/jest": "
|
|
68
|
+
"@types/jest": "29.5.0",
|
|
66
69
|
"@types/koa": "2.13.4",
|
|
67
|
-
"@types/koa-pino-logger": "3.0.0",
|
|
68
70
|
"@types/lodash": "4.14.180",
|
|
69
71
|
"@types/node": "14.18.20",
|
|
70
72
|
"@types/node-fetch": "2.6.1",
|
|
71
|
-
"@types/pino-http": "5.8.1",
|
|
72
73
|
"@types/pouchdb": "6.4.0",
|
|
73
74
|
"@types/redlock": "4.0.3",
|
|
74
75
|
"@types/semver": "7.3.7",
|
|
@@ -76,16 +77,18 @@
|
|
|
76
77
|
"@types/uuid": "8.3.4",
|
|
77
78
|
"chance": "1.1.8",
|
|
78
79
|
"ioredis-mock": "5.8.0",
|
|
79
|
-
"jest": "
|
|
80
|
+
"jest": "29.5.0",
|
|
81
|
+
"jest-environment-node": "29.5.0",
|
|
80
82
|
"jest-serial-runner": "^1.2.1",
|
|
81
83
|
"koa": "2.13.4",
|
|
82
84
|
"nodemon": "2.0.16",
|
|
85
|
+
"pino-pretty": "10.0.0",
|
|
83
86
|
"pouchdb-adapter-memory": "7.2.2",
|
|
84
87
|
"timekeeper": "2.2.0",
|
|
85
|
-
"ts-jest": "
|
|
88
|
+
"ts-jest": "29.0.5",
|
|
86
89
|
"ts-node": "10.8.1",
|
|
87
90
|
"tsconfig-paths": "4.0.0",
|
|
88
91
|
"typescript": "4.7.3"
|
|
89
92
|
},
|
|
90
|
-
"gitHead": "
|
|
93
|
+
"gitHead": "1d50b1f07c1a77b21d9757534c353631ce3314f8"
|
|
91
94
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { DBTestConfiguration } from "../../../tests/extra"
|
|
1
2
|
import {
|
|
2
3
|
structures,
|
|
3
|
-
DBTestConfiguration,
|
|
4
4
|
expectFunctionWasCalledTimesWith,
|
|
5
|
+
mocks,
|
|
5
6
|
} from "../../../tests"
|
|
6
7
|
import { Writethrough } from "../writethrough"
|
|
7
8
|
import { getDB } from "../../db"
|
|
@@ -77,9 +78,9 @@ describe("writethrough", () => {
|
|
|
77
78
|
expect.arrayContaining([current._rev, current._rev, newRev])
|
|
78
79
|
)
|
|
79
80
|
expectFunctionWasCalledTimesWith(
|
|
80
|
-
|
|
81
|
+
mocks.alerts.logWarn,
|
|
81
82
|
2,
|
|
82
|
-
"
|
|
83
|
+
"Ignoring redlock conflict in write-through cache"
|
|
83
84
|
)
|
|
84
85
|
|
|
85
86
|
const output = await db.get(current._id)
|
package/src/configs/configs.ts
CHANGED
|
@@ -5,6 +5,8 @@ import {
|
|
|
5
5
|
GoogleInnerConfig,
|
|
6
6
|
OIDCConfig,
|
|
7
7
|
OIDCInnerConfig,
|
|
8
|
+
SCIMConfig,
|
|
9
|
+
SCIMInnerConfig,
|
|
8
10
|
SettingsConfig,
|
|
9
11
|
SettingsInnerConfig,
|
|
10
12
|
SMTPConfig,
|
|
@@ -241,3 +243,10 @@ export async function getSMTPConfig(
|
|
|
241
243
|
}
|
|
242
244
|
}
|
|
243
245
|
}
|
|
246
|
+
|
|
247
|
+
// SCIM
|
|
248
|
+
|
|
249
|
+
export async function getSCIMConfig(): Promise<SCIMInnerConfig | undefined> {
|
|
250
|
+
const config = await getConfig<SCIMConfig>(ConfigType.SCIM)
|
|
251
|
+
return config?.config
|
|
252
|
+
}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
generator,
|
|
4
|
-
testEnv,
|
|
5
|
-
structures,
|
|
6
|
-
} from "../../../tests"
|
|
1
|
+
import { generator, structures } from "../../../tests"
|
|
2
|
+
import { DBTestConfiguration, testEnv } from "../../../tests/extra"
|
|
7
3
|
import { ConfigType } from "@budibase/types"
|
|
8
4
|
import env from "../../environment"
|
|
9
5
|
import * as configs from "../configs"
|
package/src/constants/db.ts
CHANGED
package/src/constants/misc.ts
CHANGED
|
@@ -22,6 +22,7 @@ export enum Header {
|
|
|
22
22
|
TOKEN = "x-budibase-token",
|
|
23
23
|
CSRF_TOKEN = "x-csrf-token",
|
|
24
24
|
CORRELATION_ID = "x-budibase-correlation-id",
|
|
25
|
+
AUTHORIZATION = "authorization",
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
export enum GlobalRole {
|
|
@@ -38,6 +39,7 @@ export enum Config {
|
|
|
38
39
|
GOOGLE = "google",
|
|
39
40
|
OIDC = "oidc",
|
|
40
41
|
OIDC_LOGOS = "logos_oidc",
|
|
42
|
+
SCIM = "scim",
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
export const MIN_VALID_DATE = new Date(-2147483647000)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// store an app ID to pretend there is a context
|
|
3
3
|
import env from "../environment"
|
|
4
4
|
import Context from "./Context"
|
|
5
|
-
import * as conversions from "../
|
|
5
|
+
import * as conversions from "../docIds/conversions"
|
|
6
6
|
import { getDB } from "../db/db"
|
|
7
7
|
import {
|
|
8
8
|
DocumentType,
|
|
@@ -43,8 +43,12 @@ export function baseGlobalDBName(tenantId: string | undefined | null) {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
export function getPlatformURL() {
|
|
47
|
+
return env.PLATFORM_URL
|
|
48
|
+
}
|
|
49
|
+
|
|
46
50
|
export function isMultiTenant() {
|
|
47
|
-
return env.MULTI_TENANCY
|
|
51
|
+
return !!env.MULTI_TENANCY
|
|
48
52
|
}
|
|
49
53
|
|
|
50
54
|
export function isTenantIdSet() {
|
|
@@ -111,10 +115,10 @@ export async function doInContext(appId: string, task: any): Promise<any> {
|
|
|
111
115
|
)
|
|
112
116
|
}
|
|
113
117
|
|
|
114
|
-
export async function doInTenant(
|
|
118
|
+
export async function doInTenant<T>(
|
|
115
119
|
tenantId: string | null,
|
|
116
|
-
task:
|
|
117
|
-
): Promise<
|
|
120
|
+
task: () => T
|
|
121
|
+
): Promise<T> {
|
|
118
122
|
// make sure default always selected in single tenancy
|
|
119
123
|
if (!env.MULTI_TENANCY) {
|
|
120
124
|
tenantId = tenantId || DEFAULT_TENANT_ID
|
|
@@ -214,6 +218,13 @@ export function doInEnvironmentContext(
|
|
|
214
218
|
return newContext(updates, task)
|
|
215
219
|
}
|
|
216
220
|
|
|
221
|
+
export function doInScimContext(task: any) {
|
|
222
|
+
const updates: ContextMap = {
|
|
223
|
+
isScim: true,
|
|
224
|
+
}
|
|
225
|
+
return newContext(updates, task)
|
|
226
|
+
}
|
|
227
|
+
|
|
217
228
|
export function getEnvironmentVariables() {
|
|
218
229
|
const context = Context.get()
|
|
219
230
|
if (!context.environmentVariables) {
|
|
@@ -270,3 +281,9 @@ export function getDevAppDB(opts?: any): Database {
|
|
|
270
281
|
}
|
|
271
282
|
return getDB(conversions.getDevelopmentAppID(appId), opts)
|
|
272
283
|
}
|
|
284
|
+
|
|
285
|
+
export function isScim(): boolean {
|
|
286
|
+
const context = Context.get()
|
|
287
|
+
const scimCall = context?.isScim
|
|
288
|
+
return !!scimCall
|
|
289
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { testEnv } from "../../../tests"
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { testEnv } from "../../../tests/extra"
|
|
2
|
+
import * as context from "../"
|
|
3
|
+
import { DEFAULT_TENANT_ID } from "../../constants"
|
|
4
4
|
|
|
5
5
|
describe("context", () => {
|
|
6
6
|
describe("doInTenant", () => {
|
|
@@ -131,4 +131,17 @@ describe("context", () => {
|
|
|
131
131
|
})
|
|
132
132
|
})
|
|
133
133
|
})
|
|
134
|
+
|
|
135
|
+
describe("doInScimContext", () => {
|
|
136
|
+
it("returns true when set", () => {
|
|
137
|
+
context.doInScimContext(() => {
|
|
138
|
+
const isScim = context.isScim()
|
|
139
|
+
expect(isScim).toBe(true)
|
|
140
|
+
})
|
|
141
|
+
})
|
|
142
|
+
it("returns false when not set", () => {
|
|
143
|
+
const isScim = context.isScim()
|
|
144
|
+
expect(isScim).toBe(false)
|
|
145
|
+
})
|
|
146
|
+
})
|
|
134
147
|
})
|
package/src/context/types.ts
CHANGED
|
@@ -15,7 +15,7 @@ import { getCouchInfo } from "./connections"
|
|
|
15
15
|
import { directCouchCall } from "./utils"
|
|
16
16
|
import { getPouchDB } from "./pouchDB"
|
|
17
17
|
import { WriteStream, ReadStream } from "fs"
|
|
18
|
-
import { newid } from "../../newid"
|
|
18
|
+
import { newid } from "../../docIds/newid"
|
|
19
19
|
|
|
20
20
|
function buildNano(couchInfo: { url: string; cookie: string }) {
|
|
21
21
|
return Nano({
|
package/src/db/index.ts
CHANGED
|
@@ -2,9 +2,10 @@ export * from "./couch"
|
|
|
2
2
|
export * from "./db"
|
|
3
3
|
export * from "./utils"
|
|
4
4
|
export * from "./views"
|
|
5
|
-
export * from "
|
|
5
|
+
export * from "../docIds/conversions"
|
|
6
6
|
export { default as Replication } from "./Replication"
|
|
7
7
|
// exports to support old export structure
|
|
8
8
|
export * from "../constants/db"
|
|
9
9
|
export { getGlobalDBName, baseGlobalDBName } from "../context"
|
|
10
10
|
export * from "./lucene"
|
|
11
|
+
export * as searchIndexes from "./searchIndexes"
|