refactor(keycloak): now only expose role management endpoint

This commit is contained in:
Methapon Metanipat 2024-10-22 10:41:46 +07:00
parent 2dd6a48793
commit 0ad16eb363

View file

@ -1,41 +1,10 @@
import { Body, Controller, Delete, Get, Path, Post, Put, Route, Security, Tags } from "tsoa";
import {
addUserRoles,
createUser,
deleteUser,
editUser,
listRole,
removeUserRoles,
} from "../services/keycloak";
import { Body, Controller, Delete, Get, Path, Post, Route, Security, Tags } from "tsoa";
import { addUserRoles, listRole, removeUserRoles } from "../services/keycloak";
@Route("api/v1/keycloak")
@Tags("Single-Sign On")
@Security("keycloak")
export class KeycloakController extends Controller {
@Post("user")
async createUser(
@Body() body: { username: string; password: string; firstName?: string; lastName?: string },
) {
return await createUser(body.username, body.password, {
firstName: body.firstName,
lastName: body.lastName,
requiredActions: ["UPDATE_PASSWORD"],
});
}
@Put("user/{userId}")
async editUser(
@Path() userId: string,
@Body() body: { username?: string; password?: string; firstName?: string; lastName?: string },
) {
return await editUser(userId, body);
}
@Delete("user/{userId}")
async deleteUser(@Path() userId: string) {
return await deleteUser(userId);
}
@Get("role")
async getRole() {
const role = await listRole();