@budibase/backend-core 3.13.25 → 3.13.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +15 -15
- package/dist/index.js.map +4 -4
- package/dist/package.json +2 -2
- package/dist/src/platform/index.d.ts +0 -1
- package/dist/src/platform/index.js +1 -2
- package/dist/src/platform/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/src/platform/tenants.d.ts +0 -6
- package/dist/src/platform/tenants.js +0 -149
- package/dist/src/platform/tenants.js.map +0 -1
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.27",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -118,5 +118,5 @@
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
|
-
"gitHead": "
|
|
121
|
+
"gitHead": "1e3a986059e06e95f7625d55720be7a609e1fff1"
|
|
122
122
|
}
|
|
@@ -36,8 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
36
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
39
|
+
exports.users = void 0;
|
|
40
40
|
exports.users = __importStar(require("./users"));
|
|
41
|
-
exports.tenants = __importStar(require("./tenants"));
|
|
42
41
|
__exportStar(require("./platformDb"), exports);
|
|
43
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAgC;AAChC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAgC;AAChC,+CAA4B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.27",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -118,5 +118,5 @@
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
|
-
"gitHead": "
|
|
121
|
+
"gitHead": "1e3a986059e06e95f7625d55720be7a609e1fff1"
|
|
122
122
|
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { LockOptions } from "@budibase/types";
|
|
2
|
-
export declare const tenacyLockOptions: LockOptions;
|
|
3
|
-
export declare function getTenantIds(): Promise<string[]>;
|
|
4
|
-
export declare function exists(tenantId: string): Promise<boolean>;
|
|
5
|
-
export declare function addTenant(tenantId: string): Promise<void>;
|
|
6
|
-
export declare function removeTenant(tenantId: string): Promise<void>;
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
-
exports.tenacyLockOptions = void 0;
|
|
46
|
-
exports.getTenantIds = getTenantIds;
|
|
47
|
-
exports.exists = exists;
|
|
48
|
-
exports.addTenant = addTenant;
|
|
49
|
-
exports.removeTenant = removeTenant;
|
|
50
|
-
const constants_1 = require("../constants");
|
|
51
|
-
const platformDb_1 = require("./platformDb");
|
|
52
|
-
const types_1 = require("@budibase/types");
|
|
53
|
-
const locks = __importStar(require("../redis/redlockImpl"));
|
|
54
|
-
const TENANT_DOC = constants_1.StaticDatabases.PLATFORM_INFO.docs.tenants;
|
|
55
|
-
exports.tenacyLockOptions = {
|
|
56
|
-
type: types_1.LockType.DEFAULT,
|
|
57
|
-
name: types_1.LockName.UPDATE_TENANTS_DOC,
|
|
58
|
-
ttl: 10 * 1000, // auto expire after 10 seconds
|
|
59
|
-
systemLock: true,
|
|
60
|
-
};
|
|
61
|
-
// READ
|
|
62
|
-
function getTenantIds() {
|
|
63
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
const tenants = yield getTenants();
|
|
65
|
-
return tenants.tenantIds;
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
function getTenants() {
|
|
69
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
const db = (0, platformDb_1.getPlatformDB)();
|
|
71
|
-
let tenants;
|
|
72
|
-
try {
|
|
73
|
-
tenants = yield db.get(TENANT_DOC);
|
|
74
|
-
}
|
|
75
|
-
catch (e) {
|
|
76
|
-
// doesn't exist yet - create
|
|
77
|
-
if (e.status === 404) {
|
|
78
|
-
tenants = yield createTenantsDoc();
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
throw e;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return tenants;
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
function exists(tenantId) {
|
|
88
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
-
const tenants = yield getTenants();
|
|
90
|
-
return tenants.tenantIds.indexOf(tenantId) !== -1;
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
// CREATE / UPDATE
|
|
94
|
-
function newTenantsDoc() {
|
|
95
|
-
return {
|
|
96
|
-
_id: TENANT_DOC,
|
|
97
|
-
tenantIds: [],
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
function createTenantsDoc() {
|
|
101
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
const db = (0, platformDb_1.getPlatformDB)();
|
|
103
|
-
let tenants = newTenantsDoc();
|
|
104
|
-
try {
|
|
105
|
-
const response = yield db.put(tenants);
|
|
106
|
-
tenants._rev = response.rev;
|
|
107
|
-
}
|
|
108
|
-
catch (e) {
|
|
109
|
-
// don't throw 409 is doc has already been created
|
|
110
|
-
if (e.status === 409) {
|
|
111
|
-
return db.get(TENANT_DOC);
|
|
112
|
-
}
|
|
113
|
-
throw e;
|
|
114
|
-
}
|
|
115
|
-
return tenants;
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
function addTenant(tenantId) {
|
|
119
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
-
const db = (0, platformDb_1.getPlatformDB)();
|
|
121
|
-
// use a lock as tenant creation is conflict prone
|
|
122
|
-
yield locks.doWithLock(exports.tenacyLockOptions, () => __awaiter(this, void 0, void 0, function* () {
|
|
123
|
-
const tenants = yield getTenants();
|
|
124
|
-
// write the new tenant if it doesn't already exist
|
|
125
|
-
if (tenants.tenantIds.indexOf(tenantId) === -1) {
|
|
126
|
-
tenants.tenantIds.push(tenantId);
|
|
127
|
-
yield db.put(tenants);
|
|
128
|
-
}
|
|
129
|
-
}));
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
// DELETE
|
|
133
|
-
function removeTenant(tenantId) {
|
|
134
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
135
|
-
try {
|
|
136
|
-
yield locks.doWithLock(exports.tenacyLockOptions, () => __awaiter(this, void 0, void 0, function* () {
|
|
137
|
-
const db = (0, platformDb_1.getPlatformDB)();
|
|
138
|
-
const tenants = yield getTenants();
|
|
139
|
-
tenants.tenantIds = tenants.tenantIds.filter(id => id !== tenantId);
|
|
140
|
-
yield db.put(tenants);
|
|
141
|
-
}));
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
console.error(`Error removing tenant ${tenantId} from info db`, err);
|
|
145
|
-
throw err;
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
//# sourceMappingURL=tenants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tenants.js","sourceRoot":"","sources":["../../../src/platform/tenants.ts"],"names":[],"mappings":"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"}
|