diff --git a/src/handler/user/user.router.ts b/src/handler/user/user.router.ts index 2702ca9e05402acb4e50eb8a521ecf53a5fb3f8b..5bbe0da57bd532c17f227795cbf4c8158fe2e769 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 c20a5e1e1df5309fcb477f921c1c91b7b6afea60..91053881a0e56049b78b7cd62919e4e08a3c2a4f 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 bc78ca9ce6a6e8001691202f7724ce6761d542bf..a4e198daca0f07708c14fbe363f65e99a1e7f2e3 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, () =>{