1
0
Fork 0
mirror of synced 2024-07-19 21:26:22 +12:00

Clone user (#10974)

This commit is contained in:
melohagan 2023-06-20 17:07:34 +01:00 committed by GitHub
parent b0debf17ef
commit 9e9cece59e

View file

@ -9,7 +9,7 @@ import {
import env from "../environment" import env from "../environment"
import { groups } from "@budibase/pro" import { groups } from "@budibase/pro"
import { UserCtx, ContextUser, User, UserGroup } from "@budibase/types" import { UserCtx, ContextUser, User, UserGroup } from "@budibase/types"
import { global } from "yargs" import { cloneDeep } from "lodash"
export function updateAppRole( export function updateAppRole(
user: ContextUser, user: ContextUser,
@ -65,16 +65,20 @@ export async function processUser(
user: ContextUser, user: ContextUser,
opts: { appId?: string; groups?: UserGroup[] } = {} opts: { appId?: string; groups?: UserGroup[] } = {}
) { ) {
if (user) { let clonedUser = cloneDeep(user)
delete user.password if (clonedUser) {
delete clonedUser.password
} }
const appId = opts.appId || context.getAppId() const appId = opts.appId || context.getAppId()
user = updateAppRole(user, { appId }) clonedUser = updateAppRole(clonedUser, { appId })
if (!user.roleId && user?.userGroups?.length) { if (!clonedUser.roleId && clonedUser?.userGroups?.length) {
user = await checkGroupRoles(user, { appId, groups: opts?.groups }) clonedUser = await checkGroupRoles(clonedUser, {
appId,
groups: opts?.groups,
})
} }
return user return clonedUser
} }
export async function getCachedSelf(ctx: UserCtx, appId: string) { export async function getCachedSelf(ctx: UserCtx, appId: string) {