api keycloak setup
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
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<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.");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user