From 7ebc9dfb4047de30a48bc0aae94c694a3873a752 Mon Sep 17 00:00:00 2001 From: DewanaGustavus <76590469+DewanaGustavus@users.noreply.github.com> Date: Thu, 16 Nov 2023 18:37:33 +0700 Subject: [PATCH] feat: edit profile --- src/handler/user/user.router.ts | 9 +++++++++ src/handler/user/user.service.ts | 31 +++++++++++++++++++++++++++++++ src/index.ts | 2 ++ 3 files changed, 42 insertions(+) diff --git a/src/handler/user/user.router.ts b/src/handler/user/user.router.ts index 2702ca9..5bbe0da 100644 --- a/src/handler/user/user.router.ts +++ b/src/handler/user/user.router.ts @@ -77,3 +77,12 @@ UserRouter.get('/user-detail/:username', async (request: Request, response: Resp return response.status(500).json(error.message); } }) + +UserRouter.put('/user-detail/:username', async (request: Request, response: Response) => { + try { + const responseString = await UserServices.editUserByUsername(request.params.username, request.body); + return response.status(200).json(responseString); + } catch (error: any) { + return response.status(500).json(error.message); + } +}) diff --git a/src/handler/user/user.service.ts b/src/handler/user/user.service.ts index c20a5e1..9105388 100644 --- a/src/handler/user/user.service.ts +++ b/src/handler/user/user.service.ts @@ -119,3 +119,34 @@ export async function getUserByUsername(username : string) { return userDetail; } + +export async function editUserByUsername(username : string, newUserDetail : UserDetail) { + let responseString = ""; + const oldUserData = await getUserByUsername(username); + const emailAvailable = await checkEmail(newUserDetail.email); + + if((emailAvailable === "exist") && !(oldUserData.email === newUserDetail.email)) { + responseString = "email already exist"; + } + + if(responseString !== "") { + return responseString; + } + + try { + const result : User = await db.user.update({ + where: { + username : username + }, + data: { + name : newUserDetail.name, + email : newUserDetail.email, + } + }) + responseString = "success"; + }catch (err) { + responseString = "failed"; + } + console.log(responseString); + return responseString; +} diff --git a/src/index.ts b/src/index.ts index bc78ca9..a4e198d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,6 @@ import express, {Express, Request, Response} from "express"; import { HistoryRouter } from "./handler/history/history.router"; +import { OrderRouter } from "./handler/order/order.router"; import { UserRouter } from "./handler/user/user.router"; import cors from "cors"; @@ -15,6 +16,7 @@ app.use((req, res, next) => { }); app.use('/history', HistoryRouter); +app.use('/order', OrderRouter); app.use('/user', UserRouter); app.listen(port, () =>{ -- GitLab