Skip to content

Commit 6174a07

Browse files
authored
HTM-1721: Group OIDC info moved from additionalProperties to oidcInfo (#1037)
2 parents ceee4fb + 08f6976 commit 6174a07

File tree

3 files changed

+25
-28
lines changed

3 files changed

+25
-28
lines changed

projects/admin-api/src/lib/models/group.model.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
import { AdditionalPropertyModel } from './additional-property.model';
22

3+
export interface GroupOidcInfoModel {
4+
clientIds: string[];
5+
lastSeenByClientId: { [clientId: string]: string };
6+
}
7+
38
export interface GroupModel {
49
name: string;
510
description?: string | null;
@@ -8,4 +13,5 @@ export interface GroupModel {
813
systemGroup?: boolean;
914
version?: number | null;
1015
additionalProperties?: AdditionalPropertyModel[];
16+
oidcInfo?: GroupOidcInfoModel | null;
1117
}

projects/admin-core/src/lib/oidc/oidc-configuration-edit/oidc-configuration-edit.component.ts

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,20 +61,15 @@ export class OIDCConfigurationEditComponent implements OnInit, OnDestroy {
6161
return [];
6262
}
6363

64-
return groups.filter(group => {
65-
const oidcClientIdsProperty = group?.additionalProperties?.find(value => value.key === 'oidcClientIds');
66-
const oidcClientIds = oidcClientIdsProperty && Array.isArray(oidcClientIdsProperty.value) ? oidcClientIdsProperty.value as string[] : [];
67-
68-
return oidcClientIds.includes(oidcConfiguration.clientId);
69-
}).map(group => {
70-
const oidcLastSeenProperty = group?.additionalProperties?.find(value => value.key === 'oidcLastSeen');
71-
const oidcLastSeen = oidcLastSeenProperty && typeof oidcLastSeenProperty.value === 'object' ? oidcLastSeenProperty.value as { [key: string]: string } : {};
72-
73-
return {
74-
...group,
75-
lastSeen: oidcLastSeen[oidcConfiguration.clientId] ? new Date(oidcLastSeen[oidcConfiguration.clientId]) : null,
76-
};
77-
});
64+
return groups.filter(group => group.oidcInfo?.clientIds.includes(oidcConfiguration.clientId))
65+
.map(group => {
66+
const lastSeenValue = group.oidcInfo?.lastSeenByClientId[oidcConfiguration.clientId];
67+
const lastSeen = lastSeenValue ? new Date(lastSeenValue) : null;
68+
return {
69+
...group,
70+
lastSeen,
71+
};
72+
});
7873
}),
7974
);
8075
}

projects/admin-core/src/lib/user/group-form/group-form.component.ts

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -85,22 +85,18 @@ export class GroupFormComponent implements OnInit, OnDestroy {
8585
combineLatest( [ this.groupSubject.asObservable(), this.oidcConfigurationService.getOIDCConfigurations$() ] ).pipe(
8686
takeUntil(this.destroyed),
8787
map(([ group, oidcConfigurations ]) => {
88-
if (group == null) {
88+
if (group == null || !group.oidcInfo || group.oidcInfo.clientIds.length === 0) {
8989
return [];
9090
}
91-
const oidcClientIdsProperty = group?.additionalProperties?.find(value => value.key === 'oidcClientIds');
92-
const oidcClientIds = oidcClientIdsProperty && Array.isArray(oidcClientIdsProperty.value) ? oidcClientIdsProperty.value as string[] : [];
93-
const oidcLastSeenProperty = group?.additionalProperties?.find(value => value.key === 'oidcLastSeen');
94-
const oidcLastSeen = oidcLastSeenProperty && typeof oidcLastSeenProperty.value === 'object' ? oidcLastSeenProperty.value as { [key: string]: string } : {};
95-
96-
return oidcConfigurations.filter(oidcConfiguration => {
97-
return oidcClientIds.includes(oidcConfiguration.clientId);
98-
}).map(oidcConfiguration => {
99-
return {
100-
...oidcConfiguration,
101-
lastSeen: oidcLastSeen[oidcConfiguration.clientId] ? new Date(oidcLastSeen[oidcConfiguration.clientId]) : null,
102-
};
103-
});
91+
return oidcConfigurations.filter(oidcConfiguration => group.oidcInfo?.clientIds.includes(oidcConfiguration.clientId))
92+
.map(oidcConfiguration => {
93+
const lastSeenValue = group.oidcInfo?.lastSeenByClientId[oidcConfiguration.clientId];
94+
const lastSeen = lastSeenValue ? new Date(lastSeenValue) : null;
95+
return {
96+
...oidcConfiguration,
97+
lastSeen,
98+
};
99+
});
104100
}),
105101
);
106102
}

0 commit comments

Comments
 (0)