push service

This commit is contained in:
toni
2026-03-13 21:54:43 +01:00
parent 71ca4d81e1
commit 29c6828dd1
23 changed files with 526 additions and 137 deletions
@@ -0,0 +1,27 @@
import { Claim } from "../dtos/claim.js";
import { type User } from "../dtos/user.js";
import { inject } from "../infrastructure/di/index.js";
import { KeycloakAdmin } from "./keycloak/admin/index.js";
export class UserAdminService {
private readonly keycloakAdmin = inject(KeycloakAdmin);
public async setClaim(
uid: string,
claim: Claim,
value: boolean,
): Promise<void> {
if (value) {
return await this.keycloakAdmin.addRoleToUser(uid, claim);
} else {
return await this.keycloakAdmin.removeRoleFromUser(uid, claim);
}
}
public async getUsers(): Promise<User[]> {
return await this.keycloakAdmin.getUsers();
}
// public async setSubscriptions(token: string, topics: Topic[]) {
// throw new Error("Method not implemented.");
// }
}