catalog-model: make User spec.memberOf theoretically - but not practically - optional
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
@@ -58,7 +58,10 @@ export function assignGroupsToUsers(
|
||||
for (const [groupName, userNames] of groupMemberUsers.entries()) {
|
||||
for (const userName of userNames) {
|
||||
const user = usersByName.get(userName);
|
||||
if (user && !user.spec.memberOf.includes(groupName)) {
|
||||
if (user && !user.spec.memberOf?.includes(groupName)) {
|
||||
if (!user.spec.memberOf) {
|
||||
user.spec.memberOf = [];
|
||||
}
|
||||
user.spec.memberOf.push(groupName);
|
||||
}
|
||||
}
|
||||
@@ -74,7 +77,7 @@ export function buildMemberOf(groups: GroupEntity[], users: UserEntity[]) {
|
||||
const transitiveMemberOf = new Set<string>();
|
||||
|
||||
const todo = [
|
||||
...user.spec.memberOf,
|
||||
...(user.spec.memberOf ?? []),
|
||||
...groups
|
||||
.filter(g => g.spec.members?.includes(user.metadata.name))
|
||||
.map(g => g.metadata.name),
|
||||
|
||||
@@ -61,7 +61,7 @@ export function buildMemberOf(groups: GroupEntity[], users: UserEntity[]) {
|
||||
const transitiveMemberOf = new Set<string>();
|
||||
|
||||
const todo = [
|
||||
...user.spec.memberOf,
|
||||
...(user.spec.memberOf ?? []),
|
||||
...groups
|
||||
.filter(g => g.spec.members?.includes(user.metadata.name))
|
||||
.map(g => g.metadata.name),
|
||||
|
||||
@@ -61,7 +61,7 @@ export function buildMemberOf(groups: GroupEntity[], users: UserEntity[]) {
|
||||
const transitiveMemberOf = new Set<string>();
|
||||
|
||||
const todo = [
|
||||
...user.spec.memberOf,
|
||||
...(user.spec.memberOf ?? []),
|
||||
...groups
|
||||
.filter(g => g.spec.members?.includes(user.metadata.name))
|
||||
.map(g => g.metadata.name),
|
||||
|
||||
@@ -507,6 +507,9 @@ export function resolveRelations(
|
||||
retrieveItems(groupMemberOf, id).forEach(p => {
|
||||
const parentGroup = groupMap.get(p);
|
||||
if (parentGroup) {
|
||||
if (!user.spec.memberOf) {
|
||||
user.spec.memberOf = [];
|
||||
}
|
||||
user.spec.memberOf.push(stringifyEntityRef(parentGroup));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -118,7 +118,7 @@ const getQueryParams = (
|
||||
};
|
||||
if (owner.kind === 'User') {
|
||||
const user = owner as UserEntity;
|
||||
filters.owners = [...filters.owners, ...user.spec.memberOf];
|
||||
filters.owners = [...filters.owners, ...(user.spec.memberOf ?? [])];
|
||||
}
|
||||
const queryParams = qs.stringify(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user