@budibase/backend-core 2.10.14 → 2.10.16-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/index.js +38 -0
- package/dist/index.js.map +2 -2
- package/dist/index.js.meta.json +1 -1
- package/dist/package.json +6 -14
- package/dist/plugins.js.meta.json +1 -1
- package/dist/src/cache/appMetadata.js +1 -1
- package/dist/src/cache/appMetadata.js.map +1 -1
- package/dist/src/cache/generic.js +2 -2
- package/dist/src/cache/generic.js.map +1 -1
- package/dist/src/cache/user.d.ts +13 -0
- package/dist/src/cache/user.js +51 -1
- package/dist/src/cache/user.js.map +1 -1
- package/dist/src/constants/db.js +3 -3
- package/dist/src/constants/db.js.map +1 -1
- package/dist/src/constants/misc.js +5 -5
- package/dist/src/constants/misc.js.map +1 -1
- package/dist/src/context/Context.js +1 -1
- package/dist/src/context/Context.js.map +1 -1
- package/dist/src/context/types.d.ts +1 -1
- package/dist/src/db/lucene.d.ts +1 -1
- package/dist/src/db/lucene.js +6 -6
- package/dist/src/db/lucene.js.map +1 -1
- package/dist/src/errors/errors.js +1 -1
- package/dist/src/errors/errors.js.map +1 -1
- package/dist/src/events/processors/AuditLogsProcessor.js +1 -1
- package/dist/src/events/processors/AuditLogsProcessor.js.map +1 -1
- package/dist/src/events/processors/async/DocumentUpdateProcessor.d.ts +2 -2
- package/dist/src/features/index.js +1 -1
- package/dist/src/features/index.js.map +1 -1
- package/dist/src/middleware/passport/datasource/google.d.ts +1 -1
- package/dist/src/objectStore/objectStore.d.ts +1 -1
- package/dist/src/queue/constants.js +1 -1
- package/dist/src/queue/constants.js.map +1 -1
- package/dist/src/queue/listeners.d.ts +1 -1
- package/dist/src/redis/redis.d.ts +1 -1
- package/dist/src/redis/redis.js.map +1 -1
- package/dist/src/redis/redlockImpl.d.ts +3 -3
- package/dist/src/redis/utils.js +2 -2
- package/dist/src/redis/utils.js.map +1 -1
- package/dist/src/security/encryption.js +1 -1
- package/dist/src/security/encryption.js.map +1 -1
- package/dist/src/security/permissions.d.ts +2 -2
- package/dist/src/security/permissions.js +1 -1
- package/dist/src/security/permissions.js.map +1 -1
- package/dist/src/users/db.d.ts +8 -8
- package/dist/src/users/users.d.ts +1 -1
- package/dist/tests/core/logging.js +1 -1
- package/dist/tests/core/logging.js.map +1 -1
- package/dist/tests/core/utilities/mocks/licenses.d.ts +1 -1
- package/dist/tests/core/utilities/mocks/licenses.js +4 -4
- package/dist/tests/core/utilities/mocks/licenses.js.map +1 -1
- package/dist/tests/core/utilities/structures/sso.js +3 -4
- package/dist/tests/core/utilities/structures/sso.js.map +1 -1
- package/dist/tests/core/utilities/structures/users.d.ts +4 -3
- package/dist/tests/core/utilities/structures/users.js +18 -10
- package/dist/tests/core/utilities/structures/users.js.map +1 -1
- package/dist/tests/extra/DBTestConfiguration.d.ts +1 -1
- package/dist/tests/extra/DBTestConfiguration.js.map +1 -1
- package/dist/tests/index.d.ts +1 -0
- package/dist/tests/index.js +1 -0
- package/dist/tests/index.js.map +1 -1
- package/package.json +6 -14
- package/src/cache/tests/user.spec.ts +145 -0
- package/src/cache/user.ts +60 -0
- package/src/middleware/passport/sso/tests/sso.spec.ts +1 -0
- package/src/redis/redis.ts +2 -2
- package/src/utils/utils.ts +1 -1
- package/tests/core/utilities/mocks/licenses.ts +2 -2
- package/tests/core/utilities/structures/sso.ts +3 -4
- package/tests/core/utilities/structures/users.ts +24 -3
- package/tests/extra/DBTestConfiguration.ts +1 -1
- package/tests/index.ts +1 -0
- package/dist/tests/core/utilities/structures/shared.d.ts +0 -3
- package/dist/tests/core/utilities/structures/shared.js +0 -14
- package/dist/tests/core/utilities/structures/shared.js.map +0 -1
- package/tests/core/utilities/structures/shared.ts +0 -19
package/dist/index.js
CHANGED
|
@@ -5695,6 +5695,7 @@ var bustCache = performExport("bustCache");
|
|
|
5695
5695
|
var user_exports = {};
|
|
5696
5696
|
__export(user_exports, {
|
|
5697
5697
|
getUser: () => getUser,
|
|
5698
|
+
getUsers: () => getUsers,
|
|
5698
5699
|
invalidateUser: () => invalidateUser
|
|
5699
5700
|
});
|
|
5700
5701
|
init_init();
|
|
@@ -10020,6 +10021,27 @@ async function populateFromDB2(userId, tenantId) {
|
|
|
10020
10021
|
}
|
|
10021
10022
|
return user;
|
|
10022
10023
|
}
|
|
10024
|
+
async function populateUsersFromDB(userIds) {
|
|
10025
|
+
const getUsersResponse = await UserDB.bulkGet(userIds);
|
|
10026
|
+
const notFoundIds = userIds.filter((uid, i) => !getUsersResponse[i]);
|
|
10027
|
+
const users = getUsersResponse.filter((x) => x);
|
|
10028
|
+
await Promise.all(
|
|
10029
|
+
users.map(async (user) => {
|
|
10030
|
+
user.budibaseAccess = true;
|
|
10031
|
+
if (!environment_default.SELF_HOSTED && !environment_default.DISABLE_ACCOUNT_PORTAL) {
|
|
10032
|
+
const account = await getAccount(user.email);
|
|
10033
|
+
if (account) {
|
|
10034
|
+
user.account = account;
|
|
10035
|
+
user.accountPortalAccess = true;
|
|
10036
|
+
}
|
|
10037
|
+
}
|
|
10038
|
+
})
|
|
10039
|
+
);
|
|
10040
|
+
if (notFoundIds.length) {
|
|
10041
|
+
return { users, notFoundIds };
|
|
10042
|
+
}
|
|
10043
|
+
return { users };
|
|
10044
|
+
}
|
|
10023
10045
|
async function getUser(userId, tenantId, populateUser) {
|
|
10024
10046
|
if (!populateUser) {
|
|
10025
10047
|
populateUser = populateFromDB2;
|
|
@@ -10053,6 +10075,22 @@ async function getUser(userId, tenantId, populateUser) {
|
|
|
10053
10075
|
}
|
|
10054
10076
|
return user;
|
|
10055
10077
|
}
|
|
10078
|
+
async function getUsers(userIds) {
|
|
10079
|
+
const client = await getUserClient();
|
|
10080
|
+
let usersFromCache = await client.bulkGet(userIds);
|
|
10081
|
+
const missingUsersFromCache = userIds.filter((uid) => !usersFromCache[uid]);
|
|
10082
|
+
const users = Object.values(usersFromCache);
|
|
10083
|
+
let notFoundIds;
|
|
10084
|
+
if (missingUsersFromCache.length) {
|
|
10085
|
+
const usersFromDb = await populateUsersFromDB(missingUsersFromCache);
|
|
10086
|
+
notFoundIds = usersFromDb.notFoundIds;
|
|
10087
|
+
for (const userToCache of usersFromDb.users) {
|
|
10088
|
+
await client.store(userToCache._id, userToCache, EXPIRY_SECONDS3);
|
|
10089
|
+
}
|
|
10090
|
+
users.push(...usersFromDb.users);
|
|
10091
|
+
}
|
|
10092
|
+
return { users, notFoundIds };
|
|
10093
|
+
}
|
|
10056
10094
|
async function invalidateUser(userId) {
|
|
10057
10095
|
const client = await getUserClient();
|
|
10058
10096
|
await client.delete(userId);
|