Merge pull request #8488 from Budibase/fix/peter-fixes

Bug fixes
This commit is contained in:
Michael Drury 2022-11-03 13:37:26 +00:00 committed by GitHub
commit cf1e73b28c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 3 deletions

View File

@ -41,7 +41,7 @@
time_24hr: time24hr || false, time_24hr: time24hr || false,
altFormat: timeOnly ? "H:i" : enableTime ? "F j Y, H:i" : "F j, Y", altFormat: timeOnly ? "H:i" : enableTime ? "F j Y, H:i" : "F j, Y",
wrap: true, wrap: true,
mode: range ? "range" : null, mode: range ? "range" : "single",
appendTo, appendTo,
disableMobile: "true", disableMobile: "true",
onReady: () => { onReady: () => {

View File

@ -158,7 +158,7 @@ export const buildUserEndpoints = API => ({
userInfo: { userInfo: {
admin: user.admin ? { global: true } : undefined, admin: user.admin ? { global: true } : undefined,
builder: user.admin || user.builder ? { global: true } : undefined, builder: user.admin || user.builder ? { global: true } : undefined,
groups: user.groups, userGroups: user.groups,
}, },
})), })),
}) })

View File

@ -177,7 +177,9 @@ export const save = async (
): Promise<CreateUserResponse> => { ): Promise<CreateUserResponse> => {
const tenantId = tenancy.getTenantId() const tenantId = tenancy.getTenantId()
const db = tenancy.getGlobalDB() const db = tenancy.getGlobalDB()
let { email, _id } = user
let { email, _id, userGroups = [] } = user
if (!email && !_id) { if (!email && !_id) {
throw new Error("_id or email is required") throw new Error("_id or email is required")
} }
@ -213,8 +215,16 @@ export const save = async (
let builtUser = await buildUser(user, opts, tenantId, dbUser) let builtUser = await buildUser(user, opts, tenantId, dbUser)
// make sure we set the _id field for a new user // make sure we set the _id field for a new user
// Also if this is a new user, associate groups with them
let groupPromises = []
if (!_id) { if (!_id) {
_id = builtUser._id! _id = builtUser._id!
if (userGroups.length > 0) {
for (let groupId of userGroups) {
groupPromises.push(groupsSdk.addUsers(groupId, [_id]))
}
}
} }
try { try {
@ -228,6 +238,8 @@ export const save = async (
// let server know to sync user // let server know to sync user
await apps.syncUserInApps(_id) await apps.syncUserInApps(_id)
await Promise.all(groupPromises)
return { return {
_id: response.id, _id: response.id,
_rev: response.rev, _rev: response.rev,