Fixing app count in user page.
This commit is contained in:
parent
84a1ccfc4c
commit
f5a7e5bf49
|
@ -128,7 +128,7 @@
|
||||||
$auth.user?.email === user.email
|
$auth.user?.email === user.email
|
||||||
? false
|
? false
|
||||||
: true,
|
: true,
|
||||||
apps: [...new Set(Object.keys(user.roles))],
|
apps: sdk.users.userAppAccessList(user, $groups),
|
||||||
access: role.sortOrder,
|
access: role.sortOrder,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -4,6 +4,7 @@ import {
|
||||||
SEPARATOR,
|
SEPARATOR,
|
||||||
User,
|
User,
|
||||||
InternalTable,
|
InternalTable,
|
||||||
|
UserGroup,
|
||||||
} from "@budibase/types"
|
} from "@budibase/types"
|
||||||
import { getProdAppID } from "./applications"
|
import { getProdAppID } from "./applications"
|
||||||
import * as _ from "lodash/fp"
|
import * as _ from "lodash/fp"
|
||||||
|
@ -129,3 +130,13 @@ export function containsUserID(value: string | undefined): boolean {
|
||||||
}
|
}
|
||||||
return value.includes(`${DocumentType.USER}${SEPARATOR}`)
|
return value.includes(`${DocumentType.USER}${SEPARATOR}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function userAppAccessList(user: User, groups?: UserGroup[]) {
|
||||||
|
const userGroups =
|
||||||
|
groups?.filter(group => group.users?.find(u => u._id === user._id)) || []
|
||||||
|
const userGroupApps = userGroups.flatMap(userGroup =>
|
||||||
|
Object.keys(userGroup.roles || {})
|
||||||
|
)
|
||||||
|
const fullList = [...Object.keys(user.roles), ...userGroupApps]
|
||||||
|
return [...new Set(fullList)]
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue