👔 (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 { editUserController } from "./controller/editUser.controller";
|
||||||
import { unautenticatedMiddleware } from "../../middleware/auth/unauthenticated.middleware";
|
import { unautenticatedMiddleware } from "../../middleware/auth/unauthenticated.middleware";
|
||||||
import { authenticatedMiddleware } from "../../middleware/auth/authenticated.middleware";
|
import { authenticatedMiddleware } from "../../middleware/auth/authenticated.middleware";
|
||||||
|
import { checkUserPasswordController } from "./controller/checkUserPassword.controller";
|
||||||
|
|
||||||
export const userModule = new Elysia({ prefix: "/users" })
|
export const userModule = new Elysia({ prefix: "/users" })
|
||||||
.get("/", getAllUserController)
|
.get("/", getAllUserController)
|
||||||
.group("", (app) =>
|
.group("", (app) =>
|
||||||
app.onBeforeHandle(unautenticatedMiddleware).post("/", createUserController)
|
app
|
||||||
|
.onBeforeHandle(unautenticatedMiddleware) // middleware to ensure the user is not authenticated
|
||||||
|
.post("/", createUserController)
|
||||||
)
|
)
|
||||||
.group("", (app) =>
|
.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;
|
let storeAvatar: string | undefined = undefined;
|
||||||
if (payload.avatar) storeAvatar = await saveAvatar(payload.avatar as File);
|
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;
|
let storeCommentBackground: string | undefined = undefined;
|
||||||
if (payload.commentBackground)
|
if (payload.commentBackground)
|
||||||
storeCommentBackground = await saveCommentBackground(
|
storeCommentBackground = await saveCommentBackground(
|
||||||
|
|||||||
Reference in New Issue
Block a user