@budibase/backend-core 2.33.3 → 2.33.4
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 +35 -44
- package/dist/index.js.map +2 -2
- package/dist/index.js.meta.json +1 -1
- package/dist/package.json +4 -4
- package/dist/plugins.js.meta.json +1 -1
- package/dist/src/events/identification.js +7 -5
- package/dist/src/events/identification.js.map +1 -1
- package/dist/src/index.d.ts +0 -2
- package/dist/src/tenancy/db.d.ts +0 -3
- package/dist/src/tenancy/db.js +0 -31
- package/dist/src/tenancy/db.js.map +1 -1
- package/dist/src/users/db.d.ts +2 -2
- package/dist/src/users/db.js +7 -7
- package/dist/src/users/db.js.map +1 -1
- package/dist/src/users/users.d.ts +1 -0
- package/dist/src/users/users.js +13 -0
- package/dist/src/users/users.js.map +1 -1
- package/dist/src/users/utils.d.ts +3 -3
- package/dist/src/users/utils.js +5 -14
- package/dist/src/users/utils.js.map +1 -1
- package/package.json +4 -4
- package/src/events/identification.ts +7 -6
- package/src/tenancy/db.ts +0 -23
- package/src/users/db.ts +12 -9
- package/src/users/users.ts +11 -0
- package/src/users/utils.ts +12 -18
package/dist/index.js
CHANGED
|
@@ -67267,32 +67267,13 @@ __export(tenancy_exports, {
|
|
|
67267
67267
|
addTenantToUrl: () => addTenantToUrl,
|
|
67268
67268
|
getTenantDB: () => getTenantDB,
|
|
67269
67269
|
getTenantIDFromCtx: () => getTenantIDFromCtx,
|
|
67270
|
-
|
|
67271
|
-
isUserInAppTenant: () => isUserInAppTenant,
|
|
67272
|
-
saveTenantInfo: () => saveTenantInfo
|
|
67270
|
+
isUserInAppTenant: () => isUserInAppTenant
|
|
67273
67271
|
});
|
|
67274
67272
|
|
|
67275
67273
|
// src/tenancy/db.ts
|
|
67276
67274
|
function getTenantDB(tenantId) {
|
|
67277
67275
|
return getDB(getGlobalDBName(tenantId));
|
|
67278
67276
|
}
|
|
67279
|
-
async function saveTenantInfo(tenantInfo) {
|
|
67280
|
-
const db = getTenantDB(tenantInfo.tenantId);
|
|
67281
|
-
return db.put({
|
|
67282
|
-
_id: "tenant_info",
|
|
67283
|
-
...tenantInfo
|
|
67284
|
-
});
|
|
67285
|
-
}
|
|
67286
|
-
async function getTenantInfo(tenantId) {
|
|
67287
|
-
try {
|
|
67288
|
-
const db = getTenantDB(tenantId);
|
|
67289
|
-
const tenantInfo = await db.get("tenant_info");
|
|
67290
|
-
delete tenantInfo.owner.password;
|
|
67291
|
-
return tenantInfo;
|
|
67292
|
-
} catch {
|
|
67293
|
-
return void 0;
|
|
67294
|
-
}
|
|
67295
|
-
}
|
|
67296
67277
|
|
|
67297
67278
|
// src/tenancy/tenancy.ts
|
|
67298
67279
|
function addTenantToUrl(url) {
|
|
@@ -69124,8 +69105,9 @@ __export(users_exports3, {
|
|
|
69124
69105
|
bulkUpdateGlobalUsers: () => bulkUpdateGlobalUsers,
|
|
69125
69106
|
cleanseUserObject: () => cleanseUserObject,
|
|
69126
69107
|
doesUserExist: () => doesUserExist,
|
|
69127
|
-
|
|
69108
|
+
getAccountHolderFromUsers: () => getAccountHolderFromUsers,
|
|
69128
69109
|
getAllUserIds: () => getAllUserIds,
|
|
69110
|
+
getAllUsers: () => getAllUsers,
|
|
69129
69111
|
getById: () => getById,
|
|
69130
69112
|
getCreatorCount: () => getCreatorCount,
|
|
69131
69113
|
getExistingAccounts: () => getExistingAccounts,
|
|
@@ -69157,7 +69139,7 @@ __export(users_exports3, {
|
|
|
69157
69139
|
// src/users/utils.ts
|
|
69158
69140
|
var utils_exports6 = {};
|
|
69159
69141
|
__export(utils_exports6, {
|
|
69160
|
-
|
|
69142
|
+
getAccountHolderFromUsers: () => getAccountHolderFromUsers,
|
|
69161
69143
|
hasAdminPermissions: () => hasAdminPermissions2,
|
|
69162
69144
|
hasAppBuilderPermissions: () => hasAppBuilderPermissions2,
|
|
69163
69145
|
hasBuilderPermissions: () => hasBuilderPermissions2,
|
|
@@ -70042,17 +70024,14 @@ async function validateUniqueUser(email, tenantId) {
|
|
|
70042
70024
|
}
|
|
70043
70025
|
}
|
|
70044
70026
|
}
|
|
70045
|
-
async function
|
|
70027
|
+
async function getAccountHolderFromUsers(users) {
|
|
70046
70028
|
if (!environment_default.SELF_HOSTED && !environment_default.DISABLE_ACCOUNT_PORTAL) {
|
|
70047
|
-
const
|
|
70048
|
-
|
|
70049
|
-
|
|
70050
|
-
|
|
70051
|
-
|
|
70052
|
-
|
|
70053
|
-
if (userIds.includes(budibaseUserId)) {
|
|
70054
|
-
return account;
|
|
70055
|
-
}
|
|
70029
|
+
const accountMetadata = await getExistingAccounts(
|
|
70030
|
+
users.map((user) => user.email)
|
|
70031
|
+
);
|
|
70032
|
+
return users.find(
|
|
70033
|
+
(user) => accountMetadata.map((metadata) => metadata.email).includes(user.email)
|
|
70034
|
+
);
|
|
70056
70035
|
}
|
|
70057
70036
|
}
|
|
70058
70037
|
|
|
@@ -70999,8 +70978,9 @@ var identifyUser = async (user, account, timestamp) => {
|
|
|
70999
70978
|
if (isSSOUser(user)) {
|
|
71000
70979
|
providerType = user.providerType;
|
|
71001
70980
|
}
|
|
71002
|
-
const accountHolder =
|
|
71003
|
-
const
|
|
70981
|
+
const accountHolder = await getExistingAccounts([user.email]);
|
|
70982
|
+
const isAccountHolder = accountHolder.length > 0;
|
|
70983
|
+
const verified2 = !!account && isAccountHolder && account.verified;
|
|
71004
70984
|
const installationId = await getInstallationId();
|
|
71005
70985
|
const hosting = account ? account.hosting : getHostingFromEnv();
|
|
71006
70986
|
const environment2 = getDeploymentEnvironment();
|
|
@@ -71011,7 +70991,7 @@ var identifyUser = async (user, account, timestamp) => {
|
|
|
71011
70991
|
installationId,
|
|
71012
70992
|
tenantId,
|
|
71013
70993
|
verified: verified2,
|
|
71014
|
-
accountHolder,
|
|
70994
|
+
accountHolder: isAccountHolder,
|
|
71015
70995
|
providerType,
|
|
71016
70996
|
builder,
|
|
71017
70997
|
admin,
|
|
@@ -71030,8 +71010,9 @@ var identifyAccount = async (account) => {
|
|
|
71030
71010
|
const installationId = await getInstallationId();
|
|
71031
71011
|
const environment2 = getDeploymentEnvironment();
|
|
71032
71012
|
if (isCloudAccount(account)) {
|
|
71033
|
-
|
|
71034
|
-
|
|
71013
|
+
const user = await getGlobalUserByEmail(account.email);
|
|
71014
|
+
if (user?._id) {
|
|
71015
|
+
id = user._id;
|
|
71035
71016
|
}
|
|
71036
71017
|
}
|
|
71037
71018
|
const identity = {
|
|
@@ -73016,24 +72997,24 @@ var UserDB = class _UserDB {
|
|
|
73016
72997
|
}
|
|
73017
72998
|
);
|
|
73018
72999
|
}
|
|
73019
|
-
static async bulkDelete(
|
|
73000
|
+
static async bulkDelete(users) {
|
|
73020
73001
|
const db = getGlobalDB();
|
|
73021
73002
|
const response = {
|
|
73022
73003
|
successful: [],
|
|
73023
73004
|
unsuccessful: []
|
|
73024
73005
|
};
|
|
73025
|
-
const
|
|
73026
|
-
if (
|
|
73027
|
-
|
|
73006
|
+
const accountHolder = await getAccountHolderFromUsers(users);
|
|
73007
|
+
if (accountHolder) {
|
|
73008
|
+
users = users.filter((u) => u.userId !== accountHolder.userId);
|
|
73028
73009
|
response.unsuccessful.push({
|
|
73029
|
-
_id:
|
|
73030
|
-
email:
|
|
73010
|
+
_id: accountHolder.userId,
|
|
73011
|
+
email: accountHolder.email,
|
|
73031
73012
|
reason: "Account holder cannot be deleted"
|
|
73032
73013
|
});
|
|
73033
73014
|
}
|
|
73034
73015
|
const allDocsResponse = await db.allDocs({
|
|
73035
73016
|
include_docs: true,
|
|
73036
|
-
keys:
|
|
73017
|
+
keys: users.map((u) => u.userId)
|
|
73037
73018
|
});
|
|
73038
73019
|
const usersToDelete = allDocsResponse.rows.map((user) => {
|
|
73039
73020
|
return user.doc;
|
|
@@ -73180,6 +73161,16 @@ async function getAllUserIds() {
|
|
|
73180
73161
|
});
|
|
73181
73162
|
return response.rows.map((row) => row.id);
|
|
73182
73163
|
}
|
|
73164
|
+
async function getAllUsers() {
|
|
73165
|
+
const db = getGlobalDB();
|
|
73166
|
+
const startKey = `${"us" /* USER */}${SEPARATOR}`;
|
|
73167
|
+
const response = await db.allDocs({
|
|
73168
|
+
startkey: startKey,
|
|
73169
|
+
endkey: `${startKey}${UNICODE_MAX}`,
|
|
73170
|
+
include_docs: true
|
|
73171
|
+
});
|
|
73172
|
+
return response.rows.map((row) => row.doc);
|
|
73173
|
+
}
|
|
73183
73174
|
async function bulkUpdateGlobalUsers(users) {
|
|
73184
73175
|
const db = getGlobalDB();
|
|
73185
73176
|
return await db.bulkDocs(users);
|