import { inject } from "../infrastructure/di/index.js"; import { Claim } from "../models/claim"; import { Topic } from "../models/topic.js"; import { User } from "../models/user.js"; import { KeycloakAdmin } from "./keycloak/admin/index.js"; export class UserService { 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."); } }