feat: restrict oidc clients by user groups per default (#1164)

This commit is contained in:
Elias Schneider
2025-12-24 09:09:25 +01:00
committed by GitHub
parent e358c433f0
commit f75cef83d5
30 changed files with 469 additions and 102 deletions
+11 -10
View File
@@ -1,30 +1,26 @@
import type { ListRequestOptions, Paginated } from '$lib/types/list-request.type';
import type {
UserGroupCreate,
UserGroupWithUserCount,
UserGroupWithUsers
} from '$lib/types/user-group.type';
import type { UserGroup, UserGroupCreate, UserGroupMinimal } from '$lib/types/user-group.type';
import APIService from './api-service';
export default class UserGroupService extends APIService {
list = async (options?: ListRequestOptions) => {
const res = await this.api.get('/user-groups', { params: options });
return res.data as Paginated<UserGroupWithUserCount>;
return res.data as Paginated<UserGroupMinimal>;
};
get = async (id: string) => {
const res = await this.api.get(`/user-groups/${id}`);
return res.data as UserGroupWithUsers;
return res.data as UserGroup;
};
create = async (user: UserGroupCreate) => {
const res = await this.api.post('/user-groups', user);
return res.data as UserGroupWithUsers;
return res.data as UserGroup;
};
update = async (id: string, user: UserGroupCreate) => {
const res = await this.api.put(`/user-groups/${id}`, user);
return res.data as UserGroupWithUsers;
return res.data as UserGroup;
};
remove = async (id: string) => {
@@ -33,6 +29,11 @@ export default class UserGroupService extends APIService {
updateUsers = async (id: string, userIds: string[]) => {
const res = await this.api.put(`/user-groups/${id}/users`, { userIds });
return res.data as UserGroupWithUsers;
return res.data as UserGroup;
};
updateAllowedOidcClients = async (id: string, oidcClientIds: string[]) => {
const res = await this.api.put(`/user-groups/${id}/allowed-oidc-clients`, { oidcClientIds });
return res.data as UserGroup;
};
}