From 763696bcf292c792d891b23b7abdcf6d6d12e052 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Tue, 9 Jul 2024 16:08:08 +0900 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E8=AD=B7=E8=80=85=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=9A=AB=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/parent/accountRouter.ts | 17 ++++++++++++++--- src/utils/userUtils.ts | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/routers/parent/accountRouter.ts b/src/routers/parent/accountRouter.ts index 6e482e1..a7086d2 100644 --- a/src/routers/parent/accountRouter.ts +++ b/src/routers/parent/accountRouter.ts @@ -1,5 +1,5 @@ import { Router, Request, Response } from 'express'; -import { findUserById } from '@src/utils/userUtils'; +import { findUserById, updateParentName } from '@src/utils/userUtils'; import Logger from '@src/logger'; const router = Router(); @@ -32,8 +32,19 @@ router.get('/', (req: Request, res: Response) => { }); router.put('/', (req: Request, res: Response) => { - res.status(501).json({ - message: 'WIP' + const name = req.body.displayName; + if (!name) { + return res.status(400).json({ + message: 'displayNameが指定されていません' + }); + } + if (!req.user || !req.user.claims || !req.user.claims.sub) { + return res.status(500).json({ + message: 'エラーが発生しました(JWT解析結果が不正/未設定です)' + }); + } + updateParentName(req.user.claims.sub, name).then(user => { + res.status(200).json(user); }); }); diff --git a/src/utils/userUtils.ts b/src/utils/userUtils.ts index 69eb5e4..8858807 100644 --- a/src/utils/userUtils.ts +++ b/src/utils/userUtils.ts @@ -27,4 +27,17 @@ async function findChildById(childId: string): Promise { }); } -export { findUserById, findChildById } +async function updateParentName(userId: string, name: string): Promise { + return await prisma.user.update({ + where: { + id: userId + }, + data: { + display_name: name + } + }).then(user => { + return user; + }); +} + +export { findUserById, findChildById, updateParentName };