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 { if (value) { return await this.keycloakAdmin.addRoleToUser(uid, claim); } else { return await this.keycloakAdmin.removeRoleFromUser(uid, claim); } } public async getUsers(): Promise { return await this.keycloakAdmin.getUsers(); } // public async setSubscriptions(token: string, topics: Topic[]) { // throw new Error("Method not implemented."); // } }