@budibase/backend-core 3.2.41 → 3.2.43
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 +3 -3
- package/dist/src/accounts/accounts.js +83 -0
- package/dist/src/accounts/accounts.js.map +1 -0
- package/dist/src/accounts/api.js +102 -0
- package/dist/src/accounts/api.js.map +1 -0
- package/dist/src/accounts/index.js +18 -0
- package/dist/src/accounts/index.js.map +1 -0
- package/dist/src/cache/appMetadata.js +96 -0
- package/dist/src/cache/appMetadata.js.map +1 -0
- package/dist/src/cache/base/index.js +189 -0
- package/dist/src/cache/base/index.js.map +1 -0
- package/dist/src/cache/docWritethrough.js +123 -0
- package/dist/src/cache/docWritethrough.js.map +1 -0
- package/dist/src/cache/generic.js +37 -0
- package/dist/src/cache/generic.js.map +1 -0
- package/dist/src/cache/index.js +48 -0
- package/dist/src/cache/index.js.map +1 -0
- package/dist/src/cache/invite.js +128 -0
- package/dist/src/cache/invite.js.map +1 -0
- package/dist/src/cache/passwordReset.js +92 -0
- package/dist/src/cache/passwordReset.js.map +1 -0
- package/dist/src/cache/user.js +183 -0
- package/dist/src/cache/user.js.map +1 -0
- package/dist/src/cache/writethrough.js +170 -0
- package/dist/src/cache/writethrough.js.map +1 -0
- package/dist/src/configs/configs.js +294 -0
- package/dist/src/configs/configs.js.map +1 -0
- package/dist/src/configs/index.js +18 -0
- package/dist/src/configs/index.js.map +1 -0
- package/dist/src/constants/db.js +75 -0
- package/dist/src/constants/db.js.map +1 -0
- package/dist/src/constants/index.js +19 -0
- package/dist/src/constants/index.js.map +1 -0
- package/dist/src/constants/misc.js +40 -0
- package/dist/src/constants/misc.js.map +1 -0
- package/dist/src/context/Context.js +14 -0
- package/dist/src/context/Context.js.map +1 -0
- package/dist/src/context/identity.js +81 -0
- package/dist/src/context/identity.js.map +1 -0
- package/dist/src/context/index.js +44 -0
- package/dist/src/context/index.js.map +1 -0
- package/dist/src/context/mainContext.js +446 -0
- package/dist/src/context/mainContext.js.map +1 -0
- package/dist/src/context/types.js +3 -0
- package/dist/src/context/types.js.map +1 -0
- package/dist/src/db/Replication.js +90 -0
- package/dist/src/db/Replication.js.map +1 -0
- package/dist/src/db/couch/DatabaseImpl.js +475 -0
- package/dist/src/db/couch/DatabaseImpl.js.map +1 -0
- package/dist/src/db/couch/connections.js +101 -0
- package/dist/src/db/couch/connections.js.map +1 -0
- package/dist/src/db/couch/index.js +26 -0
- package/dist/src/db/couch/index.js.map +1 -0
- package/dist/src/db/couch/pouchDB.js +108 -0
- package/dist/src/db/couch/pouchDB.js.map +1 -0
- package/dist/src/db/couch/utils.js +60 -0
- package/dist/src/db/couch/utils.js.map +1 -0
- package/dist/src/db/db.js +47 -0
- package/dist/src/db/db.js.map +1 -0
- package/dist/src/db/errors.js +21 -0
- package/dist/src/db/errors.js.map +1 -0
- package/dist/src/db/index.js +58 -0
- package/dist/src/db/index.js.map +1 -0
- package/dist/src/db/instrumentation.js +202 -0
- package/dist/src/db/instrumentation.js.map +1 -0
- package/dist/src/db/lucene.js +638 -0
- package/dist/src/db/lucene.js.map +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.js +76 -0
- package/dist/src/db/searchIndexes/searchIndexes.js.map +1 -0
- package/dist/src/db/utils.js +212 -0
- package/dist/src/db/utils.js.map +1 -0
- package/dist/src/db/views.js +224 -0
- package/dist/src/db/views.js.map +1 -0
- package/dist/src/docIds/conversions.js +62 -0
- package/dist/src/docIds/conversions.js.map +1 -0
- package/dist/src/docIds/ids.js +125 -0
- package/dist/src/docIds/ids.js.map +1 -0
- package/dist/src/docIds/index.js +19 -0
- package/dist/src/docIds/index.js.map +1 -0
- package/dist/src/docIds/newid.js +8 -0
- package/dist/src/docIds/newid.js.map +1 -0
- package/dist/src/docIds/params.js +141 -0
- package/dist/src/docIds/params.js.map +1 -0
- package/dist/src/environment.js +182 -0
- package/dist/src/environment.js.map +1 -0
- package/dist/src/errors/errors.js +97 -0
- package/dist/src/errors/errors.js.map +1 -0
- package/dist/src/errors/index.js +18 -0
- package/dist/src/errors/index.js.map +1 -0
- package/dist/src/events/analytics.js +52 -0
- package/dist/src/events/analytics.js.map +1 -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.js +26 -0
- package/dist/src/events/asyncEvents/publisher.js.map +1 -0
- package/dist/src/events/asyncEvents/queue.js +26 -0
- package/dist/src/events/asyncEvents/queue.js.map +1 -0
- package/dist/src/events/backfill.js +189 -0
- package/dist/src/events/backfill.js.map +1 -0
- package/dist/src/events/events.js +87 -0
- package/dist/src/events/events.js.map +1 -0
- package/dist/src/events/identification.js +299 -0
- package/dist/src/events/identification.js.map +1 -0
- package/dist/src/events/index.js +59 -0
- package/dist/src/events/index.js.map +1 -0
- package/dist/src/events/processors/AnalyticsProcessor.js +103 -0
- package/dist/src/events/processors/AnalyticsProcessor.js.map +1 -0
- package/dist/src/events/processors/AuditLogsProcessor.js +86 -0
- package/dist/src/events/processors/AuditLogsProcessor.js.map +1 -0
- package/dist/src/events/processors/LoggingProcessor.js +47 -0
- package/dist/src/events/processors/LoggingProcessor.js.map +1 -0
- package/dist/src/events/processors/Processors.js +52 -0
- package/dist/src/events/processors/Processors.js.map +1 -0
- package/dist/src/events/processors/index.js +23 -0
- package/dist/src/events/processors/index.js.map +1 -0
- package/dist/src/events/processors/posthog/PosthogProcessor.js +147 -0
- package/dist/src/events/processors/posthog/PosthogProcessor.js.map +1 -0
- package/dist/src/events/processors/posthog/index.js +8 -0
- package/dist/src/events/processors/posthog/index.js.map +1 -0
- package/dist/src/events/processors/posthog/rateLimiting.js +129 -0
- package/dist/src/events/processors/posthog/rateLimiting.js.map +1 -0
- package/dist/src/events/processors/types.js +3 -0
- package/dist/src/events/processors/types.js.map +1 -0
- package/dist/src/events/publishers/account.js +43 -0
- package/dist/src/events/publishers/account.js.map +1 -0
- package/dist/src/events/publishers/ai.js +30 -0
- package/dist/src/events/publishers/ai.js.map +1 -0
- package/dist/src/events/publishers/app.js +166 -0
- package/dist/src/events/publishers/app.js.map +1 -0
- package/dist/src/events/publishers/auditLog.js +34 -0
- package/dist/src/events/publishers/auditLog.js.map +1 -0
- package/dist/src/events/publishers/auth.js +80 -0
- package/dist/src/events/publishers/auth.js.map +1 -0
- package/dist/src/events/publishers/automation.js +117 -0
- package/dist/src/events/publishers/automation.js.map +1 -0
- package/dist/src/events/publishers/backfill.js +85 -0
- package/dist/src/events/publishers/backfill.js.map +1 -0
- package/dist/src/events/publishers/backup.js +41 -0
- package/dist/src/events/publishers/backup.js.map +1 -0
- package/dist/src/events/publishers/datasource.js +54 -0
- package/dist/src/events/publishers/datasource.js.map +1 -0
- package/dist/src/events/publishers/email.js +30 -0
- package/dist/src/events/publishers/email.js.map +1 -0
- package/dist/src/events/publishers/environmentVariable.js +44 -0
- package/dist/src/events/publishers/environmentVariable.js.map +1 -0
- package/dist/src/events/publishers/group.js +107 -0
- package/dist/src/events/publishers/group.js.map +1 -0
- package/dist/src/events/publishers/index.js +59 -0
- package/dist/src/events/publishers/index.js.map +1 -0
- package/dist/src/events/publishers/installation.js +52 -0
- package/dist/src/events/publishers/installation.js.map +1 -0
- package/dist/src/events/publishers/layout.js +34 -0
- package/dist/src/events/publishers/layout.js.map +1 -0
- package/dist/src/events/publishers/license.js +77 -0
- package/dist/src/events/publishers/license.js.map +1 -0
- package/dist/src/events/publishers/org.js +52 -0
- package/dist/src/events/publishers/org.js.map +1 -0
- package/dist/src/events/publishers/plugin.js +55 -0
- package/dist/src/events/publishers/plugin.js.map +1 -0
- package/dist/src/events/publishers/query.js +73 -0
- package/dist/src/events/publishers/query.js.map +1 -0
- package/dist/src/events/publishers/role.js +69 -0
- package/dist/src/events/publishers/role.js.map +1 -0
- package/dist/src/events/publishers/rowAction.js +22 -0
- package/dist/src/events/publishers/rowAction.js.map +1 -0
- package/dist/src/events/publishers/rows.js +31 -0
- package/dist/src/events/publishers/rows.js.map +1 -0
- package/dist/src/events/publishers/screen.js +46 -0
- package/dist/src/events/publishers/screen.js.map +1 -0
- package/dist/src/events/publishers/serve.js +47 -0
- package/dist/src/events/publishers/serve.js.map +1 -0
- package/dist/src/events/publishers/table.js +95 -0
- package/dist/src/events/publishers/table.js.map +1 -0
- package/dist/src/events/publishers/user.js +201 -0
- package/dist/src/events/publishers/user.js.map +1 -0
- package/dist/src/events/publishers/view.js +123 -0
- package/dist/src/events/publishers/view.js.map +1 -0
- package/dist/src/helpers.js +13 -0
- package/dist/src/helpers.js.map +1 -0
- package/dist/src/installation.js +159 -0
- package/dist/src/installation.js.map +1 -0
- package/dist/src/logging/alerts.js +23 -0
- package/dist/src/logging/alerts.js.map +1 -0
- package/dist/src/logging/correlation/correlation.js +18 -0
- package/dist/src/logging/correlation/correlation.js.map +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/index.js +45 -0
- package/dist/src/logging/index.js.map +1 -0
- package/dist/src/logging/pino/logger.js +234 -0
- package/dist/src/logging/pino/logger.js.map +1 -0
- package/dist/src/logging/system.js +110 -0
- package/dist/src/logging/system.js.map +1 -0
- package/dist/src/objectStore/buckets/app.js +95 -0
- package/dist/src/objectStore/buckets/app.js.map +1 -0
- package/dist/src/objectStore/buckets/global.js +68 -0
- package/dist/src/objectStore/buckets/global.js.map +1 -0
- package/dist/src/objectStore/buckets/index.js +20 -0
- package/dist/src/objectStore/buckets/index.js.map +1 -0
- package/dist/src/objectStore/buckets/plugins.js +104 -0
- package/dist/src/objectStore/buckets/plugins.js.map +1 -0
- package/dist/src/objectStore/cloudfront.js +73 -0
- package/dist/src/objectStore/cloudfront.js.map +1 -0
- package/dist/src/objectStore/index.js +20 -0
- package/dist/src/objectStore/index.js.map +1 -0
- package/dist/src/objectStore/objectStore.js +509 -0
- package/dist/src/objectStore/objectStore.js.map +1 -0
- package/dist/src/objectStore/utils.js +148 -0
- package/dist/src/objectStore/utils.js.map +1 -0
- package/dist/src/platform/index.js +43 -0
- package/dist/src/platform/index.js.map +1 -0
- package/dist/src/platform/platformDb.js +9 -0
- package/dist/src/platform/platformDb.js.map +1 -0
- package/dist/src/platform/tenants.js +149 -0
- package/dist/src/platform/tenants.js.map +1 -0
- package/dist/src/platform/users.js +118 -0
- package/dist/src/platform/users.js.map +1 -0
- package/dist/src/queue/constants.js +13 -0
- package/dist/src/queue/constants.js.map +1 -0
- package/dist/src/queue/inMemoryQueue.js +192 -0
- package/dist/src/queue/inMemoryQueue.js.map +1 -0
- package/dist/src/queue/index.js +19 -0
- package/dist/src/queue/index.js.map +1 -0
- package/dist/src/queue/listeners.js +199 -0
- package/dist/src/queue/listeners.js.map +1 -0
- package/dist/src/queue/queue.js +124 -0
- package/dist/src/queue/queue.js.map +1 -0
- package/dist/src/redis/index.js +47 -0
- package/dist/src/redis/index.js.map +1 -0
- package/dist/src/redis/init.js +184 -0
- package/dist/src/redis/init.js.map +1 -0
- package/dist/src/redis/redis.js +396 -0
- package/dist/src/redis/redis.js.map +1 -0
- package/dist/src/redis/redlockImpl.js +181 -0
- package/dist/src/redis/redlockImpl.js.map +1 -0
- package/dist/src/redis/utils.js +131 -0
- package/dist/src/redis/utils.js.map +1 -0
- package/dist/src/security/auth.js +26 -0
- package/dist/src/security/auth.js.map +1 -0
- package/dist/src/security/index.js +18 -0
- package/dist/src/security/index.js.map +1 -0
- package/dist/src/security/roles.js +566 -0
- package/dist/src/security/roles.js.map +1 -0
- package/dist/src/security/sessions.js +156 -0
- package/dist/src/security/sessions.js.map +1 -0
- package/dist/src/sql/utils.js +180 -0
- package/dist/src/sql/utils.js.map +1 -0
- package/dist/src/tenancy/db.js +9 -0
- package/dist/src/tenancy/db.js.map +1 -0
- package/dist/src/tenancy/index.js +19 -0
- package/dist/src/tenancy/index.js.map +1 -0
- package/dist/src/tenancy/tenancy.js +125 -0
- package/dist/src/tenancy/tenancy.js.map +1 -0
- package/dist/src/timers/index.js +18 -0
- package/dist/src/timers/index.js.map +1 -0
- package/dist/src/timers/timers.js +25 -0
- package/dist/src/timers/timers.js.map +1 -0
- package/dist/src/users/db.js +489 -0
- package/dist/src/users/db.js.map +1 -0
- package/dist/src/users/events.js +179 -0
- package/dist/src/users/events.js.map +1 -0
- package/dist/src/users/index.js +23 -0
- package/dist/src/users/index.js.map +1 -0
- package/dist/src/users/lookup.js +126 -0
- package/dist/src/users/lookup.js.map +1 -0
- package/dist/src/users/users.js +376 -0
- package/dist/src/users/users.js.map +1 -0
- package/dist/src/users/utils.js +127 -0
- package/dist/src/users/utils.js.map +1 -0
- package/dist/src/utils/Duration.js +54 -0
- package/dist/src/utils/Duration.js.map +1 -0
- package/dist/src/utils/hashing.js +46 -0
- package/dist/src/utils/hashing.js.map +1 -0
- package/dist/src/utils/index.js +21 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/stringUtils.js +8 -0
- package/dist/src/utils/stringUtils.js.map +1 -0
- package/dist/src/utils/utils.js +267 -0
- package/dist/src/utils/utils.js.map +1 -0
- package/dist/tests/core/logging.js +33 -0
- package/dist/tests/core/logging.js.map +1 -0
- package/dist/tests/core/utilities/index.js +48 -0
- package/dist/tests/core/utilities/index.js.map +1 -0
- package/dist/tests/core/utilities/jestUtils.js +21 -0
- package/dist/tests/core/utilities/jestUtils.js.map +1 -0
- package/dist/tests/core/utilities/mocks/alerts.js +40 -0
- package/dist/tests/core/utilities/mocks/alerts.js.map +1 -0
- package/dist/tests/core/utilities/mocks/date.js +6 -0
- package/dist/tests/core/utilities/mocks/date.js.map +1 -0
- package/dist/tests/core/utilities/mocks/events.js +155 -0
- package/dist/tests/core/utilities/mocks/events.js.map +1 -0
- package/dist/tests/core/utilities/mocks/index.js +47 -0
- package/dist/tests/core/utilities/mocks/index.js.map +1 -0
- package/dist/tests/core/utilities/mocks/licenses.js +109 -0
- package/dist/tests/core/utilities/mocks/licenses.js.map +1 -0
- package/dist/tests/core/utilities/queue.js +21 -0
- package/dist/tests/core/utilities/queue.js.map +1 -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/core/utilities/structures/accounts.js +43 -0
- package/dist/tests/core/utilities/structures/accounts.js.map +1 -0
- package/dist/tests/core/utilities/structures/apps.js +23 -0
- package/dist/tests/core/utilities/structures/apps.js.map +1 -0
- package/dist/tests/core/utilities/structures/common.js +11 -0
- package/dist/tests/core/utilities/structures/common.js.map +1 -0
- package/dist/tests/core/utilities/structures/db.js +15 -0
- package/dist/tests/core/utilities/structures/db.js.map +1 -0
- package/dist/tests/core/utilities/structures/documents/index.js +18 -0
- package/dist/tests/core/utilities/structures/documents/index.js.map +1 -0
- package/dist/tests/core/utilities/structures/documents/platform/index.js +38 -0
- package/dist/tests/core/utilities/structures/documents/platform/index.js.map +1 -0
- package/dist/tests/core/utilities/structures/documents/platform/installation.js +47 -0
- package/dist/tests/core/utilities/structures/documents/platform/installation.js.map +1 -0
- package/dist/tests/core/utilities/structures/generator.js +9 -0
- package/dist/tests/core/utilities/structures/generator.js.map +1 -0
- package/dist/tests/core/utilities/structures/index.js +56 -0
- package/dist/tests/core/utilities/structures/index.js.map +1 -0
- package/dist/tests/core/utilities/structures/koa.js +10 -0
- package/dist/tests/core/utilities/structures/koa.js.map +1 -0
- package/dist/tests/core/utilities/structures/licenses.js +157 -0
- package/dist/tests/core/utilities/structures/licenses.js.map +1 -0
- package/dist/tests/core/utilities/structures/plugins.js +22 -0
- package/dist/tests/core/utilities/structures/plugins.js.map +1 -0
- package/dist/tests/core/utilities/structures/quotas.js +73 -0
- package/dist/tests/core/utilities/structures/quotas.js.map +1 -0
- package/dist/tests/core/utilities/structures/scim.js +62 -0
- package/dist/tests/core/utilities/structures/scim.js.map +1 -0
- package/dist/tests/core/utilities/structures/sso.js +140 -0
- package/dist/tests/core/utilities/structures/sso.js.map +1 -0
- package/dist/tests/core/utilities/structures/tenants.js +8 -0
- package/dist/tests/core/utilities/structures/tenants.js.map +1 -0
- package/dist/tests/core/utilities/structures/userGroups.js +12 -0
- package/dist/tests/core/utilities/structures/userGroups.js.map +1 -0
- package/dist/tests/core/utilities/structures/users.js +53 -0
- package/dist/tests/core/utilities/structures/users.js.map +1 -0
- package/dist/tests/core/utilities/testContainerUtils.js +161 -0
- package/dist/tests/core/utilities/testContainerUtils.js.map +1 -0
- package/dist/tests/core/utilities/utils/index.js +39 -0
- package/dist/tests/core/utilities/utils/index.js.map +1 -0
- package/dist/tests/core/utilities/utils/queue.js +37 -0
- package/dist/tests/core/utilities/utils/queue.js.map +1 -0
- package/dist/tests/core/utilities/utils/time.js +7 -0
- package/dist/tests/core/utilities/utils/time.js.map +1 -0
- package/dist/tests/extra/DBTestConfiguration.js +65 -0
- package/dist/tests/extra/DBTestConfiguration.js.map +1 -0
- package/dist/tests/extra/index.js +43 -0
- package/dist/tests/extra/index.js.map +1 -0
- package/dist/tests/extra/testEnv.js +136 -0
- package/dist/tests/extra/testEnv.js.map +1 -0
- package/dist/tests/index.js +19 -0
- package/dist/tests/index.js.map +1 -0
- package/dist/tests/jestEnv.js +12 -0
- package/dist/tests/jestEnv.js.map +1 -0
- package/dist/tests/jestSetup.js +33 -0
- package/dist/tests/jestSetup.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getUrlInfo = exports.getCouchInfo = void 0;
|
|
7
|
+
const environment_1 = __importDefault(require("../../environment"));
|
|
8
|
+
const getCouchInfo = (connection) => {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
// clean out any auth credentials
|
|
11
|
+
const urlInfo = (0, exports.getUrlInfo)(connection);
|
|
12
|
+
let username;
|
|
13
|
+
let password;
|
|
14
|
+
if ((_a = urlInfo.auth) === null || _a === void 0 ? void 0 : _a.username) {
|
|
15
|
+
// set from url
|
|
16
|
+
username = urlInfo.auth.username;
|
|
17
|
+
}
|
|
18
|
+
else if (environment_1.default.COUCH_DB_USERNAME) {
|
|
19
|
+
// set from env
|
|
20
|
+
username = environment_1.default.COUCH_DB_USERNAME;
|
|
21
|
+
}
|
|
22
|
+
else if (!environment_1.default.isTest()) {
|
|
23
|
+
throw new Error("CouchDB username not set");
|
|
24
|
+
}
|
|
25
|
+
if ((_b = urlInfo.auth) === null || _b === void 0 ? void 0 : _b.password) {
|
|
26
|
+
// set from url
|
|
27
|
+
password = urlInfo.auth.password;
|
|
28
|
+
}
|
|
29
|
+
else if (environment_1.default.COUCH_DB_PASSWORD) {
|
|
30
|
+
// set from env
|
|
31
|
+
password = environment_1.default.COUCH_DB_PASSWORD;
|
|
32
|
+
}
|
|
33
|
+
else if (!environment_1.default.isTest()) {
|
|
34
|
+
throw new Error("CouchDB password not set");
|
|
35
|
+
}
|
|
36
|
+
const authCookie = Buffer.from(`${username}:${password}`).toString("base64");
|
|
37
|
+
let sqlUrl = environment_1.default.COUCH_DB_SQL_URL;
|
|
38
|
+
// default for dev
|
|
39
|
+
if (environment_1.default.isDev() && !sqlUrl) {
|
|
40
|
+
sqlUrl = "http://localhost:4006";
|
|
41
|
+
}
|
|
42
|
+
else if (!sqlUrl && urlInfo.url) {
|
|
43
|
+
const parsed = new URL(urlInfo.url);
|
|
44
|
+
// attempt to connect on default port
|
|
45
|
+
sqlUrl = urlInfo.url.replace(parsed.port, "4984");
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
url: urlInfo.url,
|
|
49
|
+
// clean out any auth credentials
|
|
50
|
+
sqlUrl: (0, exports.getUrlInfo)(sqlUrl).url,
|
|
51
|
+
auth: {
|
|
52
|
+
username: username,
|
|
53
|
+
password: password,
|
|
54
|
+
},
|
|
55
|
+
cookie: `Basic ${authCookie}`,
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
exports.getCouchInfo = getCouchInfo;
|
|
59
|
+
const getUrlInfo = (url = environment_1.default.COUCH_DB_URL) => {
|
|
60
|
+
let cleanUrl, username, password, host;
|
|
61
|
+
if (url) {
|
|
62
|
+
// Ensure the URL starts with a protocol
|
|
63
|
+
const protoRegex = /^https?:\/\//i;
|
|
64
|
+
if (!protoRegex.test(url)) {
|
|
65
|
+
url = `http://${url}`;
|
|
66
|
+
}
|
|
67
|
+
// Split into protocol and remainder
|
|
68
|
+
const split = url.split("://");
|
|
69
|
+
const protocol = split[0];
|
|
70
|
+
const rest = split.slice(1).join("://");
|
|
71
|
+
// Extract auth if specified
|
|
72
|
+
if (url.includes("@")) {
|
|
73
|
+
// Split into host and remainder
|
|
74
|
+
let parts = rest.split("@");
|
|
75
|
+
host = parts[parts.length - 1];
|
|
76
|
+
let auth = parts.slice(0, -1).join("@");
|
|
77
|
+
// Split auth into username and password
|
|
78
|
+
if (auth.includes(":")) {
|
|
79
|
+
const authParts = auth.split(":");
|
|
80
|
+
username = authParts[0];
|
|
81
|
+
password = authParts.slice(1).join(":");
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
username = auth;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
host = rest;
|
|
89
|
+
}
|
|
90
|
+
cleanUrl = `${protocol}://${host}`;
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
url: cleanUrl,
|
|
94
|
+
auth: {
|
|
95
|
+
username,
|
|
96
|
+
password,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
exports.getUrlInfo = getUrlInfo;
|
|
101
|
+
//# sourceMappingURL=connections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../../src/db/couch/connections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
exports.closePouchDB = exports.getPouchDB = exports.getPouch = exports.init = void 0;
|
|
18
|
+
__exportStar(require("./connections"), exports);
|
|
19
|
+
__exportStar(require("./DatabaseImpl"), exports);
|
|
20
|
+
__exportStar(require("./utils"), exports);
|
|
21
|
+
var pouchDB_1 = require("./pouchDB");
|
|
22
|
+
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return pouchDB_1.init; } });
|
|
23
|
+
Object.defineProperty(exports, "getPouch", { enumerable: true, get: function () { return pouchDB_1.getPouch; } });
|
|
24
|
+
Object.defineProperty(exports, "getPouchDB", { enumerable: true, get: function () { return pouchDB_1.getPouchDB; } });
|
|
25
|
+
Object.defineProperty(exports, "closePouchDB", { enumerable: true, get: function () { return pouchDB_1.closePouchDB; } });
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/db/couch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,iDAA8B;AAC9B,0CAAuB;AACvB,qCAAoE;AAA3D,+FAAA,IAAI,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,uGAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,108 @@
|
|
|
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.getPouch = void 0;
|
|
16
|
+
exports.init = init;
|
|
17
|
+
exports.getPouchDB = getPouchDB;
|
|
18
|
+
exports.closePouchDB = closePouchDB;
|
|
19
|
+
const pouchdb_1 = __importDefault(require("pouchdb"));
|
|
20
|
+
const environment_1 = __importDefault(require("../../environment"));
|
|
21
|
+
const connections_1 = require("./connections");
|
|
22
|
+
let Pouch;
|
|
23
|
+
let initialised = false;
|
|
24
|
+
/**
|
|
25
|
+
* Return a constructor for PouchDB.
|
|
26
|
+
* This should be rarely used outside of the main application config.
|
|
27
|
+
* Exposed for exceptional cases such as in-memory views.
|
|
28
|
+
*/
|
|
29
|
+
const getPouch = (opts = {}) => {
|
|
30
|
+
let { url, cookie } = (0, connections_1.getCouchInfo)();
|
|
31
|
+
let POUCH_DB_DEFAULTS = {
|
|
32
|
+
prefix: url,
|
|
33
|
+
fetch: (url, opts) => {
|
|
34
|
+
// use a specific authorization cookie - be very explicit about how we authenticate
|
|
35
|
+
opts.headers.set("Authorization", cookie);
|
|
36
|
+
return pouchdb_1.default.fetch(url, opts);
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
if (opts.inMemory) {
|
|
40
|
+
const inMemory = require("pouchdb-adapter-memory");
|
|
41
|
+
pouchdb_1.default.plugin(inMemory);
|
|
42
|
+
POUCH_DB_DEFAULTS = {
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
adapter: "memory",
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
if (opts.onDisk) {
|
|
48
|
+
POUCH_DB_DEFAULTS = {
|
|
49
|
+
// @ts-ignore
|
|
50
|
+
adapter: "leveldb",
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (opts.replication) {
|
|
54
|
+
const replicationStream = require("@budibase/pouchdb-replication-stream");
|
|
55
|
+
pouchdb_1.default.plugin(replicationStream.plugin);
|
|
56
|
+
// @ts-ignore
|
|
57
|
+
pouchdb_1.default.adapter("writableStream", replicationStream.adapters.writableStream);
|
|
58
|
+
}
|
|
59
|
+
if (opts.find) {
|
|
60
|
+
const find = require("pouchdb-find");
|
|
61
|
+
pouchdb_1.default.plugin(find);
|
|
62
|
+
}
|
|
63
|
+
return pouchdb_1.default.defaults(POUCH_DB_DEFAULTS);
|
|
64
|
+
};
|
|
65
|
+
exports.getPouch = getPouch;
|
|
66
|
+
function init(opts) {
|
|
67
|
+
Pouch = (0, exports.getPouch)(opts);
|
|
68
|
+
initialised = true;
|
|
69
|
+
}
|
|
70
|
+
const checkInitialised = () => {
|
|
71
|
+
if (!initialised) {
|
|
72
|
+
throw new Error("init has not been called");
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
function getPouchDB(dbName, opts) {
|
|
76
|
+
checkInitialised();
|
|
77
|
+
const db = new Pouch(dbName, opts);
|
|
78
|
+
const dbPut = db.put;
|
|
79
|
+
db.put = (doc_1, ...args_1) => __awaiter(this, [doc_1, ...args_1], void 0, function* (doc, options = {}) {
|
|
80
|
+
if (!doc.createdAt) {
|
|
81
|
+
doc.createdAt = new Date().toISOString();
|
|
82
|
+
}
|
|
83
|
+
doc.updatedAt = new Date().toISOString();
|
|
84
|
+
return dbPut(doc, options);
|
|
85
|
+
});
|
|
86
|
+
db.exists = () => __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
const info = yield db.info();
|
|
88
|
+
return !info.error;
|
|
89
|
+
});
|
|
90
|
+
return db;
|
|
91
|
+
}
|
|
92
|
+
// use this function if you have called getPouchDB - close
|
|
93
|
+
// the databases you've opened once finished
|
|
94
|
+
function closePouchDB(db) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
if (!db || environment_1.default.isTest()) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
// specifically await so that if there is an error, it can be ignored
|
|
101
|
+
return yield db.close();
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
// ignore error, already closed
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=pouchDB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pouchDB.js","sourceRoot":"","sources":["../../../../src/db/couch/pouchDB.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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.directCouchCall = directCouchCall;
|
|
16
|
+
exports.directCouchUrlCall = directCouchUrlCall;
|
|
17
|
+
exports.directCouchQuery = directCouchQuery;
|
|
18
|
+
const connections_1 = require("./connections");
|
|
19
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
20
|
+
const helpers_1 = require("../../helpers");
|
|
21
|
+
function directCouchCall(path_1) {
|
|
22
|
+
return __awaiter(this, arguments, void 0, function* (path, method = "GET", body) {
|
|
23
|
+
let { url, cookie } = (0, connections_1.getCouchInfo)();
|
|
24
|
+
const couchUrl = `${url}/${path}`;
|
|
25
|
+
return yield directCouchUrlCall({ url: couchUrl, cookie, method, body });
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function directCouchUrlCall(_a) {
|
|
29
|
+
return __awaiter(this, arguments, void 0, function* ({ url, cookie, method, body, }) {
|
|
30
|
+
const params = {
|
|
31
|
+
method: method,
|
|
32
|
+
headers: {
|
|
33
|
+
Authorization: cookie,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
if (body && method !== "GET") {
|
|
37
|
+
if (typeof body === "string") {
|
|
38
|
+
params.body = body;
|
|
39
|
+
params.headers["Content-Type"] = "text/plain";
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
params.body = JSON.stringify(body);
|
|
43
|
+
params.headers["Content-Type"] = "application/json";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return yield (0, node_fetch_1.default)((0, helpers_1.checkSlashesInUrl)(encodeURI(url)), params);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function directCouchQuery(path_1) {
|
|
50
|
+
return __awaiter(this, arguments, void 0, function* (path, method = "GET", body) {
|
|
51
|
+
const response = yield directCouchCall(path, method, body);
|
|
52
|
+
if (response.status < 300) {
|
|
53
|
+
return yield response.json();
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
throw "Cannot connect to CouchDB instance";
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/db/couch/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,0CAQC;AAED,gDA2BC;AAED,4CAWC;AAtDD,+CAA4C;AAC5C,4DAA8B;AAC9B,2CAAiD;AAEjD,SAAsB,eAAe;yDACnC,IAAY,EACZ,MAAM,GAAG,KAAK,EACd,IAAU;QAEV,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAA,0BAAY,GAAE,CAAA;QACpC,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACjC,OAAO,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1E,CAAC;CAAA;AAED,SAAsB,kBAAkB;yDAAC,EACvC,GAAG,EACH,MAAM,EACN,MAAM,EACN,IAAI,GAML;QACC,MAAM,MAAM,GAAQ;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,MAAM;aACtB;SACF,CAAA;QACD,IAAI,IAAI,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;gBAClB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,YAAY,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBAClC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;YACrD,CAAC;QACH,CAAC;QACD,OAAO,MAAM,IAAA,oBAAK,EAAC,IAAA,2BAAiB,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAC/D,CAAC;CAAA;AAED,SAAsB,gBAAgB;yDACpC,IAAY,EACZ,MAAM,GAAG,KAAK,EACd,IAAU;QAEV,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1B,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,oCAAoC,CAAA;QAC5C,CAAC;IACH,CAAC;CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getDB = getDB;
|
|
13
|
+
exports.doWithDB = doWithDB;
|
|
14
|
+
exports.directCouchAllDbs = directCouchAllDbs;
|
|
15
|
+
exports.directCouchFind = directCouchFind;
|
|
16
|
+
const couch_1 = require("./couch");
|
|
17
|
+
const instrumentation_1 = require("./instrumentation");
|
|
18
|
+
function getDB(dbName, opts) {
|
|
19
|
+
return new instrumentation_1.DDInstrumentedDatabase(new couch_1.DatabaseImpl(dbName, opts));
|
|
20
|
+
}
|
|
21
|
+
// we have to use a callback for this so that we can close
|
|
22
|
+
// the DB when we're done, without this manual requests would
|
|
23
|
+
// need to close the database when done with it to avoid memory leaks
|
|
24
|
+
function doWithDB(dbName, cb, opts) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const db = getDB(dbName, opts);
|
|
27
|
+
// need this to be async so that we can correctly close DB after all
|
|
28
|
+
// async operations have been completed
|
|
29
|
+
return yield cb(db);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function directCouchAllDbs(queryString) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
let couchPath = "/_all_dbs";
|
|
35
|
+
if (queryString) {
|
|
36
|
+
couchPath += `?${queryString}`;
|
|
37
|
+
}
|
|
38
|
+
return yield (0, couch_1.directCouchQuery)(couchPath);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function directCouchFind(dbName, opts) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const json = yield (0, couch_1.directCouchQuery)(`${dbName}/_find`, "POST", opts);
|
|
44
|
+
return { rows: json.docs, bookmark: json.bookmark };
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/db/db.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,sBAEC;AAKD,4BASC;AAED,8CAMC;AAED,0CAGC;AAjCD,mCAAwD;AAExD,uDAA0D;AAE1D,SAAgB,KAAK,CAAC,MAAc,EAAE,IAAmB;IACvD,OAAO,IAAI,wCAAsB,CAAC,IAAI,oBAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,0DAA0D;AAC1D,6DAA6D;AAC7D,qEAAqE;AACrE,SAAsB,QAAQ,CAC5B,MAAc,EACd,EAAgC,EAChC,IAAmB;;QAEnB,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC9B,oEAAoE;QACpE,uCAAuC;QACvC,OAAO,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;CAAA;AAED,SAAsB,iBAAiB,CAAC,WAAoB;;QAC1D,IAAI,SAAS,GAAG,WAAW,CAAA;QAC3B,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,IAAI,IAAI,WAAW,EAAE,CAAA;QAChC,CAAC;QACD,OAAO,MAAM,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAA;IAC1C,CAAC;CAAA;AAED,SAAsB,eAAe,CAAC,MAAc,EAAE,IAAsB;;QAC1E,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAgB,EAAC,GAAG,MAAM,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACpE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;IACrD,CAAC;CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkErrorCode = checkErrorCode;
|
|
4
|
+
exports.isDocumentConflictError = isDocumentConflictError;
|
|
5
|
+
function checkErrorCode(error, code) {
|
|
6
|
+
var _a;
|
|
7
|
+
const stringCode = code.toString();
|
|
8
|
+
if (typeof error === "object") {
|
|
9
|
+
return error.status === code || ((_a = error.message) === null || _a === void 0 ? void 0 : _a.includes(stringCode));
|
|
10
|
+
}
|
|
11
|
+
else if (typeof error === "number") {
|
|
12
|
+
return error === code;
|
|
13
|
+
}
|
|
14
|
+
else if (typeof error === "string") {
|
|
15
|
+
return error.includes(stringCode);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function isDocumentConflictError(error) {
|
|
19
|
+
return checkErrorCode(error, 409);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/db/errors.ts"],"names":[],"mappings":";;AAAA,wCASC;AAED,0DAEC;AAbD,SAAgB,cAAc,CAAC,KAAU,EAAE,IAAY;;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,KAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,CAAC,UAAU,CAAC,CAAA,CAAA;IACrE,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,KAAK,KAAK,IAAI,CAAA;IACvB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;AACH,CAAC;AAED,SAAgB,uBAAuB,CAAC,KAAU;IAChD,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.searchIndexes = exports.baseGlobalDBName = exports.getGlobalDBName = exports.Replication = void 0;
|
|
43
|
+
__exportStar(require("./couch"), exports);
|
|
44
|
+
__exportStar(require("./db"), exports);
|
|
45
|
+
__exportStar(require("./utils"), exports);
|
|
46
|
+
__exportStar(require("./views"), exports);
|
|
47
|
+
__exportStar(require("../docIds/conversions"), exports);
|
|
48
|
+
var Replication_1 = require("./Replication");
|
|
49
|
+
Object.defineProperty(exports, "Replication", { enumerable: true, get: function () { return __importDefault(Replication_1).default; } });
|
|
50
|
+
// exports to support old export structure
|
|
51
|
+
__exportStar(require("../constants/db"), exports);
|
|
52
|
+
var context_1 = require("../context");
|
|
53
|
+
Object.defineProperty(exports, "getGlobalDBName", { enumerable: true, get: function () { return context_1.getGlobalDBName; } });
|
|
54
|
+
Object.defineProperty(exports, "baseGlobalDBName", { enumerable: true, get: function () { return context_1.baseGlobalDBName; } });
|
|
55
|
+
__exportStar(require("./lucene"), exports);
|
|
56
|
+
exports.searchIndexes = __importStar(require("./searchIndexes"));
|
|
57
|
+
__exportStar(require("./errors"), exports);
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,uCAAoB;AACpB,0CAAuB;AACvB,0CAAuB;AACvB,wDAAqC;AACrC,6CAAsD;AAA7C,2HAAA,OAAO,OAAe;AAC/B,0CAA0C;AAC1C,kDAA+B;AAC/B,sCAA8D;AAArD,0GAAA,eAAe,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAC1C,2CAAwB;AACxB,iEAAgD;AAChD,2CAAwB"}
|
|
@@ -0,0 +1,202 @@
|
|
|
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.DDInstrumentedDatabase = void 0;
|
|
16
|
+
const dd_trace_1 = __importDefault(require("dd-trace"));
|
|
17
|
+
class DDInstrumentedDatabase {
|
|
18
|
+
constructor(db) {
|
|
19
|
+
this.db = db;
|
|
20
|
+
}
|
|
21
|
+
get name() {
|
|
22
|
+
return this.db.name;
|
|
23
|
+
}
|
|
24
|
+
exists(docId) {
|
|
25
|
+
return dd_trace_1.default.trace("db.exists", span => {
|
|
26
|
+
span.addTags({ db_name: this.name, doc_id: docId });
|
|
27
|
+
if (docId) {
|
|
28
|
+
return this.db.exists(docId);
|
|
29
|
+
}
|
|
30
|
+
return this.db.exists();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
get(id) {
|
|
34
|
+
return dd_trace_1.default.trace("db.get", span => {
|
|
35
|
+
span.addTags({ db_name: this.name, doc_id: id });
|
|
36
|
+
return this.db.get(id);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
tryGet(id) {
|
|
40
|
+
return dd_trace_1.default.trace("db.tryGet", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
span.addTags({ db_name: this.name, doc_id: id });
|
|
42
|
+
const doc = yield this.db.tryGet(id);
|
|
43
|
+
span.addTags({ doc_found: doc !== undefined });
|
|
44
|
+
return doc;
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
getMultiple(ids, opts) {
|
|
48
|
+
return dd_trace_1.default.trace("db.getMultiple", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
span.addTags({
|
|
50
|
+
db_name: this.name,
|
|
51
|
+
num_docs: ids.length,
|
|
52
|
+
allow_missing: opts === null || opts === void 0 ? void 0 : opts.allowMissing,
|
|
53
|
+
});
|
|
54
|
+
const docs = yield this.db.getMultiple(ids, opts);
|
|
55
|
+
span.addTags({ num_docs_found: docs.length });
|
|
56
|
+
return docs;
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
remove(idOrDoc, rev) {
|
|
60
|
+
return dd_trace_1.default.trace("db.remove", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
span.addTags({ db_name: this.name, doc_id: idOrDoc, rev });
|
|
62
|
+
const isDocument = typeof idOrDoc === "object";
|
|
63
|
+
const id = isDocument ? idOrDoc._id : idOrDoc;
|
|
64
|
+
rev = isDocument ? idOrDoc._rev : rev;
|
|
65
|
+
const resp = yield this.db.remove(id, rev);
|
|
66
|
+
span.addTags({ ok: resp.ok });
|
|
67
|
+
return resp;
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
bulkRemove(documents, opts) {
|
|
71
|
+
return dd_trace_1.default.trace("db.bulkRemove", span => {
|
|
72
|
+
span.addTags({
|
|
73
|
+
db_name: this.name,
|
|
74
|
+
num_docs: documents.length,
|
|
75
|
+
silence_errors: opts === null || opts === void 0 ? void 0 : opts.silenceErrors,
|
|
76
|
+
});
|
|
77
|
+
return this.db.bulkRemove(documents, opts);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
put(document, opts) {
|
|
81
|
+
return dd_trace_1.default.trace("db.put", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
span.addTags({
|
|
83
|
+
db_name: this.name,
|
|
84
|
+
doc_id: document._id,
|
|
85
|
+
force: opts === null || opts === void 0 ? void 0 : opts.force,
|
|
86
|
+
});
|
|
87
|
+
const resp = yield this.db.put(document, opts);
|
|
88
|
+
span.addTags({ ok: resp.ok });
|
|
89
|
+
return resp;
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
bulkDocs(documents) {
|
|
93
|
+
return dd_trace_1.default.trace("db.bulkDocs", span => {
|
|
94
|
+
span.addTags({ db_name: this.name, num_docs: documents.length });
|
|
95
|
+
return this.db.bulkDocs(documents);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
allDocs(params) {
|
|
99
|
+
return dd_trace_1.default.trace("db.allDocs", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
span.addTags(Object.assign({ db_name: this.name }, params));
|
|
101
|
+
const resp = yield this.db.allDocs(params);
|
|
102
|
+
span.addTags({
|
|
103
|
+
total_rows: resp.total_rows,
|
|
104
|
+
rows_length: resp.rows.length,
|
|
105
|
+
offset: resp.offset,
|
|
106
|
+
});
|
|
107
|
+
return resp;
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
query(viewName, params) {
|
|
111
|
+
return dd_trace_1.default.trace("db.query", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
span.addTags(Object.assign({ db_name: this.name, view_name: viewName }, params));
|
|
113
|
+
const resp = yield this.db.query(viewName, params);
|
|
114
|
+
span.addTags({
|
|
115
|
+
total_rows: resp.total_rows,
|
|
116
|
+
rows_length: resp.rows.length,
|
|
117
|
+
offset: resp.offset,
|
|
118
|
+
});
|
|
119
|
+
return resp;
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
destroy() {
|
|
123
|
+
return dd_trace_1.default.trace("db.destroy", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
span.addTags({ db_name: this.name });
|
|
125
|
+
const resp = yield this.db.destroy();
|
|
126
|
+
span.addTags({ ok: resp.ok });
|
|
127
|
+
return resp;
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
compact() {
|
|
131
|
+
return dd_trace_1.default.trace("db.compact", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
span.addTags({ db_name: this.name });
|
|
133
|
+
const resp = yield this.db.compact();
|
|
134
|
+
span.addTags({ ok: resp.ok });
|
|
135
|
+
return resp;
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
dump(stream, opts) {
|
|
139
|
+
return dd_trace_1.default.trace("db.dump", span => {
|
|
140
|
+
var _a;
|
|
141
|
+
span.addTags({
|
|
142
|
+
db_name: this.name,
|
|
143
|
+
batch_limit: opts === null || opts === void 0 ? void 0 : opts.batch_limit,
|
|
144
|
+
batch_size: opts === null || opts === void 0 ? void 0 : opts.batch_size,
|
|
145
|
+
style: opts === null || opts === void 0 ? void 0 : opts.style,
|
|
146
|
+
timeout: opts === null || opts === void 0 ? void 0 : opts.timeout,
|
|
147
|
+
num_doc_ids: (_a = opts === null || opts === void 0 ? void 0 : opts.doc_ids) === null || _a === void 0 ? void 0 : _a.length,
|
|
148
|
+
view: opts === null || opts === void 0 ? void 0 : opts.view,
|
|
149
|
+
});
|
|
150
|
+
return this.db.dump(stream, opts);
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
load(...args) {
|
|
154
|
+
return dd_trace_1.default.trace("db.load", span => {
|
|
155
|
+
span.addTags({ db_name: this.name, num_args: args.length });
|
|
156
|
+
return this.db.load(...args);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
createIndex(...args) {
|
|
160
|
+
return dd_trace_1.default.trace("db.createIndex", span => {
|
|
161
|
+
span.addTags({ db_name: this.name, num_args: args.length });
|
|
162
|
+
return this.db.createIndex(...args);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
deleteIndex(...args) {
|
|
166
|
+
return dd_trace_1.default.trace("db.deleteIndex", span => {
|
|
167
|
+
span.addTags({ db_name: this.name, num_args: args.length });
|
|
168
|
+
return this.db.deleteIndex(...args);
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
getIndexes(...args) {
|
|
172
|
+
return dd_trace_1.default.trace("db.getIndexes", span => {
|
|
173
|
+
span.addTags({ db_name: this.name, num_args: args.length });
|
|
174
|
+
return this.db.getIndexes(...args);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
sql(sql, parameters) {
|
|
178
|
+
return dd_trace_1.default.trace("db.sql", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
179
|
+
span.addTags({ db_name: this.name, num_bindings: parameters === null || parameters === void 0 ? void 0 : parameters.length });
|
|
180
|
+
const resp = yield this.db.sql(sql, parameters);
|
|
181
|
+
span.addTags({ num_rows: resp.length });
|
|
182
|
+
return resp;
|
|
183
|
+
}));
|
|
184
|
+
}
|
|
185
|
+
sqlPurgeDocument(docIds) {
|
|
186
|
+
return dd_trace_1.default.trace("db.sqlPurgeDocument", span => {
|
|
187
|
+
span.addTags({
|
|
188
|
+
db_name: this.name,
|
|
189
|
+
num_docs: Array.isArray(docIds) ? docIds.length : 1,
|
|
190
|
+
});
|
|
191
|
+
return this.db.sqlPurgeDocument(docIds);
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
sqlDiskCleanup() {
|
|
195
|
+
return dd_trace_1.default.trace("db.sqlDiskCleanup", span => {
|
|
196
|
+
span.addTags({ db_name: this.name });
|
|
197
|
+
return this.db.sqlDiskCleanup();
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.DDInstrumentedDatabase = DDInstrumentedDatabase;
|
|
202
|
+
//# sourceMappingURL=instrumentation.js.map
|