🚩 (user) create soft delete controller boilerplate

create basic boilerplate for soft delete user including make middleware that only admin and owner can access
This commit is contained in:
unknown
2025-07-06 23:40:05 +07:00
parent 2b2776307b
commit 2fe34034a5
3 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,7 @@
import { Context } from "elysia";
import { returnWriteResponse } from "../../../helpers/callback/httpResponse";
export const softDeleteUserController = async (ctx: Context) => {
const data = ctx.params.username;
return returnWriteResponse(ctx.set, 201, "Okay", data);
};

View File

@ -5,6 +5,8 @@ import { editUserController } from "./controller/editUser.controller";
import { unautenticatedMiddleware } from "../../middleware/auth/unauthenticated.middleware";
import { authenticatedMiddleware } from "../../middleware/auth/authenticated.middleware";
import { checkUserPasswordController } from "./controller/checkUserPassword.controller";
import { isOwnerOrAdminMiddleware } from "../../middleware/userRoles/isOwnerOrAdmin.middleware";
import { softDeleteUserController } from "./controller/softDeleteUser.controller";
export const userModule = new Elysia({ prefix: "/users" })
.get("/", getAllUserController)
@ -18,4 +20,9 @@ export const userModule = new Elysia({ prefix: "/users" })
.onBeforeHandle(authenticatedMiddleware) // middleware to ensure the user is authenticated
.put("/", editUserController)
.post("/check-password", checkUserPasswordController)
)
.group("", (app) =>
app
.onBeforeHandle(isOwnerOrAdminMiddleware)
.delete(":username", softDeleteUserController)
);