👔 (user) create user check password
create boilerplate code for user check password
This commit is contained in:
12
src/modules/user/controller/checkUserPassword.controller.ts
Normal file
12
src/modules/user/controller/checkUserPassword.controller.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { Context } from "elysia";
|
||||
import { checkUserPasswordService } from "../services/checkUserPassword.service";
|
||||
import { jwtDecode } from "../../../helpers/http/jwt/decode";
|
||||
import { getCookie } from "../../../helpers/http/userHeader/cookies/getCookies";
|
||||
|
||||
export const checkUserPasswordController = async (
|
||||
ctx: Context & { body: { password: string } }
|
||||
) => {
|
||||
const cookie = getCookie(ctx);
|
||||
const jwtPayload = jwtDecode(cookie.auth_token!);
|
||||
return checkUserPasswordService(jwtPayload, ctx.body.password);
|
||||
};
|
||||
@ -4,12 +4,18 @@ import { createUserController } from "./controller/createUser.controller";
|
||||
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";
|
||||
|
||||
export const userModule = new Elysia({ prefix: "/users" })
|
||||
.get("/", getAllUserController)
|
||||
.group("", (app) =>
|
||||
app.onBeforeHandle(unautenticatedMiddleware).post("/", createUserController)
|
||||
app
|
||||
.onBeforeHandle(unautenticatedMiddleware) // middleware to ensure the user is not authenticated
|
||||
.post("/", createUserController)
|
||||
)
|
||||
.group("", (app) =>
|
||||
app.onBeforeHandle(authenticatedMiddleware).put("/", editUserController)
|
||||
app
|
||||
.onBeforeHandle(authenticatedMiddleware) // middleware to ensure the user is authenticated
|
||||
.put("/", editUserController)
|
||||
.post("/check-password", checkUserPasswordController)
|
||||
);
|
||||
|
||||
8
src/modules/user/services/checkUserPassword.service.ts
Normal file
8
src/modules/user/services/checkUserPassword.service.ts
Normal file
@ -0,0 +1,8 @@
|
||||
import { JWTAuthToken } from "../../../helpers/http/jwt/decode/types";
|
||||
|
||||
export const checkUserPasswordService = async (
|
||||
jwtPayload: JWTAuthToken,
|
||||
password: string
|
||||
) => {
|
||||
return `id user "${jwtPayload.userId}" cek password "${password}"`;
|
||||
};
|
||||
@ -34,6 +34,7 @@ export const editUserService = async (
|
||||
let storeAvatar: string | undefined = undefined;
|
||||
if (payload.avatar) storeAvatar = await saveAvatar(payload.avatar as File);
|
||||
|
||||
// Store the comment background to the file system if provided in the payload
|
||||
let storeCommentBackground: string | undefined = undefined;
|
||||
if (payload.commentBackground)
|
||||
storeCommentBackground = await saveCommentBackground(
|
||||
|
||||
Reference in New Issue
Block a user