From 7fe28b99cc2d8aa54a1fa00d411b385ebeea0573 Mon Sep 17 00:00:00 2001 From: rca Date: Mon, 8 Jul 2024 22:04:58 +0900 Subject: [PATCH 01/14] =?UTF-8?q?modifyChild=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/parent/childService.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/services/parent/childService.ts b/src/services/parent/childService.ts index 2eee8ee..e377f69 100644 --- a/src/services/parent/childService.ts +++ b/src/services/parent/childService.ts @@ -62,6 +62,17 @@ async function deleteChild(childId: string): Promise { }).then((child) => { return child; }); } +async function modifyChild(childId: string, requestBody: ChildAddRequest): Promise { + return prisma.child.update({ + where: { + id: childId + }, + data: { + name: requestBody.name + } + }).then((child) => { return child; }); +} + async function generateLoginCode(childId: string): Promise { const loginCode: number = Math.floor(10000000 + Math.random() * 90000000); logger.debug(`Generated login code: ${loginCode}`); @@ -83,4 +94,4 @@ async function generateLoginCode(childId: string): Promise { }); } -export { getChilds, createChild, deleteChild, generateLoginCode, getChild } +export { getChilds, createChild, deleteChild, generateLoginCode, getChild, modifyChild } From b222cfe9f3a754d977329a8757876384458e2894 Mon Sep 17 00:00:00 2001 From: rca Date: Mon, 8 Jul 2024 22:07:07 +0900 Subject: [PATCH 02/14] =?UTF-8?q?=E3=83=AB=E3=83=BC=E3=82=BF=E3=83=BC?= =?UTF-8?q?=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/parent/childRouter.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/routers/parent/childRouter.ts b/src/routers/parent/childRouter.ts index a7811b4..44cf19a 100644 --- a/src/routers/parent/childRouter.ts +++ b/src/routers/parent/childRouter.ts @@ -1,7 +1,8 @@ import { Router, Request, Response } from 'express'; -import { generateLoginCode, getChilds, createChild, deleteChild, getChild } from '@src/services/parent/childService'; +import { generateLoginCode, getChilds, createChild, deleteChild, getChild, modifyChild } from '@src/services/parent/childService'; import { ChildListResponse } from '@src/models/Child' import Logger from '@src/logger'; +import { internalServerErrorResponse } from '@src/models/commons/responses'; const router = Router(); const logger = new Logger(); @@ -111,9 +112,14 @@ router.delete('/:childId', (req: Request, res: Response) => { }); router.put('/:childId', (req: Request, res: Response) => { - // 子供情報を更新 - res.status(501).json({ - message: 'WIP' + const childId = req.params.childId; // TODO: Validate childId + // TODO: ボディのバリデーション + modifyChild(childId, req.body).then((child) => { + res.status(200).json(child); + }).catch((err) => { + logger.error('Failed to modify child') + logger.debug(err); + res.status(internalServerErrorResponse().statusCode).json(internalServerErrorResponse().body); }); }); From 9d63c2c6f02ff5a8a0b69a4282dd822d1c348553 Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 01:43:50 +0900 Subject: [PATCH 03/14] =?UTF-8?q?=E5=9E=8B=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/child/authService.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/child/authService.ts b/src/services/child/authService.ts index ad37f8e..e61e680 100644 --- a/src/services/child/authService.ts +++ b/src/services/child/authService.ts @@ -1,10 +1,10 @@ import prisma from '@src/prisma'; import { issueTokenByChildId } from '@src/utils/tokenUtils'; -async function login(loginCode: number): Promise { +async function login(loginCode: string): Promise { const childId: string | null = await prisma.activeLoginCode.findUnique({ where: { - code: loginCode + code: parseInt(loginCode) } }).then((activeLoginCode) => { if (!activeLoginCode) { @@ -17,7 +17,7 @@ async function login(loginCode: number): Promise { } await prisma.activeLoginCode.delete({ where: { - code: loginCode + code: parseInt(loginCode) } }); return await issueTokenByChildId(childId); From cd04235e6df1ed24fd51b655e81e1707f7617522 Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 01:43:55 +0900 Subject: [PATCH 04/14] =?UTF-8?q?=E5=9E=8B=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/child/authRouter.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/routers/child/authRouter.ts b/src/routers/child/authRouter.ts index fc5fd6e..4b3dd84 100644 --- a/src/routers/child/authRouter.ts +++ b/src/routers/child/authRouter.ts @@ -5,11 +5,11 @@ const router = Router(); // login router.post('/login', (req: Request, res: Response) => { - const code: number = req.body.code; - if (!code) { + const loginCode: string = req.body.loginCode; + if (!loginCode) { return res.status(400).json({ message: 'ログインコードが指定されていません' }); } - login(code).then((token) => { + login(loginCode).then((token) => { res.status(200).json({ accessToken: token }); }).catch((err) => { res.status(500).json({ message: 'ログインに失敗しました', detail: err }); From 058ed3619ea45b63e2ca620a5b3ea879f8e77828 Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 03:45:57 +0900 Subject: [PATCH 05/14] =?UTF-8?q?=E7=A7=BB=E6=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/child/rootRouter.ts | 127 ++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 src/routers/child/rootRouter.ts diff --git a/src/routers/child/rootRouter.ts b/src/routers/child/rootRouter.ts new file mode 100644 index 0000000..e29c548 --- /dev/null +++ b/src/routers/child/rootRouter.ts @@ -0,0 +1,127 @@ +import { Router, Request, Response } from 'express'; +import { generateLoginCode, getChilds, createChild, deleteChild, getChild, modifyChild } from '@src/services/parent/childService'; +import { ChildListResponse } from '@src/models/Child' +import Logger from '@src/logger'; +import { internalServerErrorResponse } from '@src/models/commons/responses'; + +const logger = new Logger(); +const commonRouter = Router(); +const parentRouter = Router(); + + +commonRouter.get('/', (req: Request, res: Response) => { + if (!req.user) { + return res.status(500).json({ + message: 'エラーが発生しました(JWT解析結果が不正/未設定です)' + }); + } + const homeGroupId = req.user.claims.home_group_id; + getChilds(homeGroupId).then((childListResponse: ChildListResponse) => { + res.status(200).json(childListResponse); + }).catch((err) => { + logger.error('Failed to get children') + logger.debug(err); + res.status(500).json({ + message: 'エラーが発生しました', + detail: err + }); + }); +}); + + +parentRouter.post('/', (req: Request, res: Response) => { + if (!req.user) { + return res.status(500).json({ + message: 'エラーが発生しました(JWT解析結果が不正/未設定です)' + }); + } + const homeGroupId = req.user.claims.home_group_id; + // BodyがChildAddRequestにマッピングできるかチェック + let requestBody = null; + try { + requestBody = req.body; + if (!requestBody) { + return res.status(400).json({ + message: 'リクエストボディが不正です' + }); + } + if (!requestBody.name) { + return res.status(400).json({ + message: 'nameが不正です' + }); + } + } catch (e) { + return res.status(400).json({ + message: 'リクエストボディが不正です' + }); + } + createChild(requestBody, homeGroupId).then((child) => { + res.status(201).json(child); + }).catch((err) => { + logger.error('Failed to create child') + logger.debug(err); + res.status(500).json({ + message: 'エラーが発生しました', + detail: err + }); + }); +}); + + +parentRouter.get('/:childId/login', (req: Request, res: Response) => { + const childId = req.params.childId; // TODO: Validate childId + generateLoginCode(childId).then((code) => { + res.status(200).json({ + code: code + }); + }).catch((err) => { + logger.error('Failed to generate login code') + logger.debug(err); + res.status(500).json({ + message: 'エラーが発生しました', + detail: err + }); + }); +}); + +commonRouter.get('/:childId', (req: Request, res: Response) => { + const childId = req.params.childId; + getChild(childId).then((child) => { + res.status(200).json(child); + }).catch((err) => { + logger.error('Failed to get child') + logger.debug(err); + res.status(500).json({ + message: 'エラーが発生しました', + detail: err + }); + }); +}); + +parentRouter.delete('/:childId', (req: Request, res: Response) => { + const childId = req.params.childId; // TODO: Validate childId + deleteChild(childId).then(() => { + res.status(200).json({ + "message": "OK" + }); + }).catch((err) => { + logger.error('Failed to delete child') + logger.debug(err); + res.status(500).json({ + message: 'エラーが発生しました', + detail: err + }); + }); +}); + +parentRouter.put('/:childId', (req: Request, res: Response) => { + const childId = req.params.childId; // TODO: Validate childId + // TODO: ボディのバリデーション + modifyChild(childId, req.body).then((child) => { + res.status(200).json(child); + }).catch((err) => { + logger.error('Failed to modify child') + logger.debug(err); + res.status(internalServerErrorResponse().statusCode).json(internalServerErrorResponse().body); + }); +}); From e748e4cb33731bcaba2e55cb2222b1ac4b2d4bb2 Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 03:47:10 +0900 Subject: [PATCH 06/14] =?UTF-8?q?=E7=A7=BB=E6=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/child/index.ts | 5 +++++ src/routers/child/rootRouter.ts | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/routers/child/index.ts b/src/routers/child/index.ts index f6a8d1f..4beac56 100644 --- a/src/routers/child/index.ts +++ b/src/routers/child/index.ts @@ -2,10 +2,15 @@ import { Router } from 'express'; import taskRouter from './taskRouter'; import authRouter from './authRouter'; +import { commonRouter as rootCommonRouter, parentRouter as rootParentRouter } from './rootRouter'; +import verifyToken from '../middlewares/verifyToken'; +import verifyParent from '../middlewares/verifyParent'; const router = Router(); router.use('/task', taskRouter); router.use('/auth', authRouter); +router.use('/' , verifyToken, rootCommonRouter); +router.use('/' , verifyToken, verifyParent, rootParentRouter); export default router; diff --git a/src/routers/child/rootRouter.ts b/src/routers/child/rootRouter.ts index e29c548..fe76e9a 100644 --- a/src/routers/child/rootRouter.ts +++ b/src/routers/child/rootRouter.ts @@ -125,3 +125,5 @@ parentRouter.put('/:childId', (req: Request, res: Response) => { res.status(internalServerErrorResponse().statusCode).json(internalServerErrorResponse().body); }); }); + +export { commonRouter, parentRouter }; From 542899328c5e96c008bc58132c551fea759cdfec Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 03:47:55 +0900 Subject: [PATCH 07/14] =?UTF-8?q?=E9=87=8D=E8=A4=87=E3=82=92=E5=89=8A?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/child/index.ts | 2 -- src/routers/child/taskRouter.ts | 37 --------------------------------- 2 files changed, 39 deletions(-) delete mode 100644 src/routers/child/taskRouter.ts diff --git a/src/routers/child/index.ts b/src/routers/child/index.ts index 4beac56..e1af816 100644 --- a/src/routers/child/index.ts +++ b/src/routers/child/index.ts @@ -1,6 +1,5 @@ import { Router } from 'express'; -import taskRouter from './taskRouter'; import authRouter from './authRouter'; import { commonRouter as rootCommonRouter, parentRouter as rootParentRouter } from './rootRouter'; import verifyToken from '../middlewares/verifyToken'; @@ -8,7 +7,6 @@ import verifyParent from '../middlewares/verifyParent'; const router = Router(); -router.use('/task', taskRouter); router.use('/auth', authRouter); router.use('/' , verifyToken, rootCommonRouter); router.use('/' , verifyToken, verifyParent, rootParentRouter); diff --git a/src/routers/child/taskRouter.ts b/src/routers/child/taskRouter.ts deleted file mode 100644 index d5bfae3..0000000 --- a/src/routers/child/taskRouter.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Router, Request, Response } from 'express'; -import { registCompleteTask } from '@src/services/taskService'; -import Logger from '@src/logger'; - -const router = Router(); -const logger = new Logger(); -logger.setTag('child/taskRouter.ts'); - -router.get('/', (req: Request, res: Response) => { - res.status(501).send('WIP'); -}); - -router.get('/:taskId', (req: Request, res: Response) => { - res.status(501).send('WIP'); -}); - -router.post('/:taskId/complete', (req: Request, res: Response) => { - if (!req.user) { - return res.status(500).json({ - message: 'エラーが発生しました(JWT解析結果が不正/未設定です)' - }); - } - logger.info(`Task complete request from ${req.user.claims.sub} for task ${req.params.taskId}`); - try { - registCompleteTask(req.params.taskId, req.user.claims.sub); - } catch (error) { - logger.error(`Failed to complete task: ${error}`); - return res.status(500).json({ - message: 'エラーが発生しました(タスクの完了に失敗しました)' - }); - } - logger.info(`Task ${req.params.taskId} completed by ${req.user.claims.sub}`); - res.status(200).json({ - message: 'タスクを完了しました' - }); -}); -export default router; From ab9716675734bec5c4f7bd70c029b72ab7593ffc Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 03:48:22 +0900 Subject: [PATCH 08/14] =?UTF-8?q?=E9=87=8D=E8=A4=87=E3=82=92=E5=89=8A?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/parent/childRouter.ts | 126 ------------------------------ src/routers/parent/index.ts | 2 - 2 files changed, 128 deletions(-) delete mode 100644 src/routers/parent/childRouter.ts diff --git a/src/routers/parent/childRouter.ts b/src/routers/parent/childRouter.ts deleted file mode 100644 index 44cf19a..0000000 --- a/src/routers/parent/childRouter.ts +++ /dev/null @@ -1,126 +0,0 @@ -import { Router, Request, Response } from 'express'; -import { generateLoginCode, getChilds, createChild, deleteChild, getChild, modifyChild } from '@src/services/parent/childService'; -import { ChildListResponse } from '@src/models/Child' -import Logger from '@src/logger'; -import { internalServerErrorResponse } from '@src/models/commons/responses'; - -const router = Router(); -const logger = new Logger(); -logger.setTag('parent/childRouter'); - -router.get('/', (req: Request, res: Response) => { - if (!req.user) { - return res.status(500).json({ - message: 'エラーが発生しました(JWT解析結果が不正/未設定です)' - }); - } - const homeGroupId = req.user.claims.home_group_id; - getChilds(homeGroupId).then((childListResponse: ChildListResponse) => { - res.status(200).json(childListResponse); - }).catch((err) => { - logger.error('Failed to get children') - logger.debug(err); - res.status(500).json({ - message: 'エラーが発生しました', - detail: err - }); - }); -}); - -router.post('/', (req: Request, res: Response) => { - if (!req.user) { - return res.status(500).json({ - message: 'エラーが発生しました(JWT解析結果が不正/未設定です)' - }); - } - const homeGroupId = req.user.claims.home_group_id; - // BodyがChildAddRequestにマッピングできるかチェック - let requestBody = null; - try { - requestBody = req.body; - if (!requestBody) { - return res.status(400).json({ - message: 'リクエストボディが不正です' - }); - } - if (!requestBody.name) { - return res.status(400).json({ - message: 'nameが不正です' - }); - } - } catch (e) { - return res.status(400).json({ - message: 'リクエストボディが不正です' - }); - } - createChild(requestBody, homeGroupId).then((child) => { - res.status(201).json(child); - }).catch((err) => { - logger.error('Failed to create child') - logger.debug(err); - res.status(500).json({ - message: 'エラーが発生しました', - detail: err - }); - }); -}); - -router.get('/:childId/login', (req: Request, res: Response) => { - const childId = req.params.childId; // TODO: Validate childId - generateLoginCode(childId).then((code) => { - res.status(200).json({ - code: code - }); - }).catch((err) => { - logger.error('Failed to generate login code') - logger.debug(err); - res.status(500).json({ - message: 'エラーが発生しました', - detail: err - }); - }); -}); - -router.get('/:childId', (req: Request, res: Response) => { - const childId = req.params.childId; - getChild(childId).then((child) => { - res.status(200).json(child); - }).catch((err) => { - logger.error('Failed to get child') - logger.debug(err); - res.status(500).json({ - message: 'エラーが発生しました', - detail: err - }); - }); -}); - -router.delete('/:childId', (req: Request, res: Response) => { - const childId = req.params.childId; // TODO: Validate childId - deleteChild(childId).then(() => { - res.status(200).json({ - "message": "OK" - }); - }).catch((err) => { - logger.error('Failed to delete child') - logger.debug(err); - res.status(500).json({ - message: 'エラーが発生しました', - detail: err - }); - }); -}); - -router.put('/:childId', (req: Request, res: Response) => { - const childId = req.params.childId; // TODO: Validate childId - // TODO: ボディのバリデーション - modifyChild(childId, req.body).then((child) => { - res.status(200).json(child); - }).catch((err) => { - logger.error('Failed to modify child') - logger.debug(err); - res.status(internalServerErrorResponse().statusCode).json(internalServerErrorResponse().body); - }); -}); - -export default router; diff --git a/src/routers/parent/index.ts b/src/routers/parent/index.ts index 422704f..e8ec9b8 100644 --- a/src/routers/parent/index.ts +++ b/src/routers/parent/index.ts @@ -6,7 +6,6 @@ import verifyParent from '../middlewares/verifyParent'; import authRouter from './authRouter'; import taskRouter from './taskRouter'; import accountRouter from './accountRouter'; -import childRouter from './childRouter'; const router = Router(); const logger = new Logger(); @@ -15,6 +14,5 @@ logger.setTag('parent/index.ts'); router.use('/auth', authRouter); router.use('/task', verifyToken, verifyParent, taskRouter); router.use('/account', verifyToken, verifyParent, accountRouter); -router.use('/child', verifyToken, verifyParent, childRouter); export default router; From 80461ecb176fe4532fafbf0db99fb2d53edbd9d2 Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 03:48:43 +0900 Subject: [PATCH 09/14] =?UTF-8?q?=E9=87=8D=E8=A4=87=E3=82=92=E5=89=8A?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/parent/index.ts | 2 - src/routers/parent/taskRouter.ts | 158 ------------------------------- 2 files changed, 160 deletions(-) delete mode 100644 src/routers/parent/taskRouter.ts diff --git a/src/routers/parent/index.ts b/src/routers/parent/index.ts index e8ec9b8..54c11c2 100644 --- a/src/routers/parent/index.ts +++ b/src/routers/parent/index.ts @@ -4,7 +4,6 @@ import verifyToken from '../middlewares/verifyToken'; import verifyParent from '../middlewares/verifyParent'; import authRouter from './authRouter'; -import taskRouter from './taskRouter'; import accountRouter from './accountRouter'; const router = Router(); @@ -12,7 +11,6 @@ const logger = new Logger(); logger.setTag('parent/index.ts'); router.use('/auth', authRouter); -router.use('/task', verifyToken, verifyParent, taskRouter); router.use('/account', verifyToken, verifyParent, accountRouter); export default router; diff --git a/src/routers/parent/taskRouter.ts b/src/routers/parent/taskRouter.ts deleted file mode 100644 index a98641e..0000000 --- a/src/routers/parent/taskRouter.ts +++ /dev/null @@ -1,158 +0,0 @@ -import { Router } from 'express'; -import { Task } from '@prisma/client'; -import { getTask, createTask, getTasks, updateTask, deleteTask, registCompleteTask } from '@src/services/taskService'; -import { TaskListResponse, TaskAddRequest } from '@src/models/Task'; - -const router = Router(); - -router.get('/', (req, res) => { - if (req.user === undefined) { - res.status(500).json({ - message: 'エラーが発生しました(JWT解析結果が不正/未設定です)' - }); - return; - } - getTasks(req.user.claims.home_group_id) - .then((taskListResponse: TaskListResponse) => { - res.status(200).json(taskListResponse); - }) - .catch((err) => { - res.status(500).json({ - message: 'エラーが発生しました', - error: err - }); - }); - return; -}); - -router.post('/', (req, res) => { - // BodyをTaskAddRequestにマッピングできるかチェック - let requestBody: TaskAddRequest; - try { - requestBody = req.body; - if (!requestBody) { - res.status(400).json({ - message: 'リクエストボディが空です' - }); - return; - } - if (!requestBody.name || !requestBody.reward) { - res.status(400).json({ - message: 'name, rewardは必須です' - }); - return; - } - } catch (e) { - res.status(400).json({ - message: 'リクエストボディが不正です' - }); - return; - } - - if (req.user === undefined) { - res.status(500).json({ - message: 'エラーが発生しました(JWT解析結果が不正/未設定です)' - }); - return; - } - - createTask(requestBody, req.user.claims.home_group_id) - .then((task: Task) => { - res.status(201).json(task); // TODO - }) - .catch((err) => { - res.status(500).json({ - message: 'エラーが発生しました', - error: err - }); - }); -}); - -router.get('/:taskId', (req, res) => { - getTask(req.params.taskId) - .then((task: Task | null) => { - if (task) { - res.status(200).json(task); - } else { - res.status(404).json({ - message: 'タスクが見つかりませんでした' - }); - } - }) - .catch((err) => { - res.status(500).json({ - message: 'エラーが発生しました', - error: err - }); - }); -}); - -router.put('/:taskId', (req, res) => { - const body = req.body; - if (!body) { - res.status(400).json({ - message: '不正なリクエスト: リクエストボディが空です' - }); - return; - } - if (!body.displayName || !body.reward) { - res.status(400).json({ - message: '不正なリクエスト: displayName, rewardは必須です' - }); - return; - } else { - const task: Task = {} as Task; - // TODO: 共通化 - task.id = req.params.taskId; - task.display_name = body.displayName; - task.reward = body.reward; - updateTask(task) - .then((task: Task) => { - res.status(200).json(task); - }) - .catch((err) => { - res.status(500).json({ - message: 'エラーが発生しました', - error: err - }); - }); - } -}); - -router.delete('/:taskId', (req, res) => { - deleteTask(req.params.taskId) - .then(() => { - res.status(200).json({ - message: 'OK', - }); - }) - .catch((err) => { - res.status(500).json({ - message: 'エラーが発生しました', - error: err - }); - }); -}); - -router.post('/:taskId/complete', (req, res) => { - if (req.query.childId === undefined) { - res.status(400).json({ - message: '不正なリクエスト: childIdは必須です' - }); - return; - } - registCompleteTask(req.params.taskId, req.query.childId as string) - .then(() => { - res.status(200).json({ - message: 'OK', - }); - }) - .catch((err) => { - res.status(500).json({ - message: 'エラーが発生しました', - error: err - }); - }); -}); - -export default router; From 00a26892b527c1739eeeb4a4871727ebe17e14ee Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 04:21:59 +0900 Subject: [PATCH 10/14] =?UTF-8?q?=E6=9A=AB=E5=AE=9A=E3=81=A7childId?= =?UTF-8?q?=E3=82=92=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3=E6=99=82=E3=81=AB?= =?UTF-8?q?=E8=BF=94=E3=81=99=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/child/authRouter.ts | 4 ++-- src/services/child/authService.ts | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/routers/child/authRouter.ts b/src/routers/child/authRouter.ts index 4b3dd84..cb6adce 100644 --- a/src/routers/child/authRouter.ts +++ b/src/routers/child/authRouter.ts @@ -9,8 +9,8 @@ router.post('/login', (req: Request, res: Response) => { if (!loginCode) { return res.status(400).json({ message: 'ログインコードが指定されていません' }); } - login(loginCode).then((token) => { - res.status(200).json({ accessToken: token }); + login(loginCode).then(resp => { + res.status(200).json(resp); }).catch((err) => { res.status(500).json({ message: 'ログインに失敗しました', detail: err }); }); diff --git a/src/services/child/authService.ts b/src/services/child/authService.ts index e61e680..c06bd09 100644 --- a/src/services/child/authService.ts +++ b/src/services/child/authService.ts @@ -1,7 +1,7 @@ import prisma from '@src/prisma'; import { issueTokenByChildId } from '@src/utils/tokenUtils'; -async function login(loginCode: string): Promise { +async function login(loginCode: string): Promise { // Workaround const childId: string | null = await prisma.activeLoginCode.findUnique({ where: { code: parseInt(loginCode) @@ -20,7 +20,10 @@ async function login(loginCode: string): Promise { code: parseInt(loginCode) } }); - return await issueTokenByChildId(childId); + return { + accessToken: issueTokenByChildId(childId), + childId: childId + }; } export { login }; From 08fe5c65dd6823c509d42e13976c472794596f83 Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 04:27:00 +0900 Subject: [PATCH 11/14] =?UTF-8?q?await=E6=8C=87=E5=AE=9A=E5=BF=98=E3=82=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/child/authService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/child/authService.ts b/src/services/child/authService.ts index c06bd09..e5bf3e6 100644 --- a/src/services/child/authService.ts +++ b/src/services/child/authService.ts @@ -21,7 +21,7 @@ async function login(loginCode: string): Promise { // Workaround } }); return { - accessToken: issueTokenByChildId(childId), + accessToken: await issueTokenByChildId(childId), childId: childId }; } From a1609affee7a262dc6a57920e42f831cb8b6306c Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 04:41:41 +0900 Subject: [PATCH 12/14] test --- src/routers/task/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routers/task/index.ts b/src/routers/task/index.ts index 339665f..7fac379 100644 --- a/src/routers/task/index.ts +++ b/src/routers/task/index.ts @@ -9,7 +9,7 @@ const router = Router(); router.use('/', verifyToken, rootCommonRouter); router.use('/' , verifyToken, verifyParent, rootParentRouter); router.use('/history', verifyToken, historyCommonRouter); -router.use('/history', verifyToken, verifyParent, historyParentRouter); +router.use('/history', verifyToken, historyParentRouter); export default router; From 02937cba54bb5ead419724ef256df0177aa712dc Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 04:44:26 +0900 Subject: [PATCH 13/14] test --- src/routers/task/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routers/task/index.ts b/src/routers/task/index.ts index 7fac379..ad54639 100644 --- a/src/routers/task/index.ts +++ b/src/routers/task/index.ts @@ -7,7 +7,7 @@ import verifyParent from '../middlewares/verifyParent'; const router = Router(); router.use('/', verifyToken, rootCommonRouter); -router.use('/' , verifyToken, verifyParent, rootParentRouter); +router.use('/' , verifyToken, rootParentRouter); router.use('/history', verifyToken, historyCommonRouter); router.use('/history', verifyToken, historyParentRouter); From 0ab340b1b2a52309e02008535d9db6d2e157a4bc Mon Sep 17 00:00:00 2001 From: rca Date: Tue, 9 Jul 2024 04:45:48 +0900 Subject: [PATCH 14/14] test --- src/routers/task/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/routers/task/index.ts b/src/routers/task/index.ts index ad54639..b5d279d 100644 --- a/src/routers/task/index.ts +++ b/src/routers/task/index.ts @@ -6,10 +6,10 @@ import verifyParent from '../middlewares/verifyParent'; const router = Router(); -router.use('/', verifyToken, rootCommonRouter); -router.use('/' , verifyToken, rootParentRouter); router.use('/history', verifyToken, historyCommonRouter); -router.use('/history', verifyToken, historyParentRouter); +router.use('/history', verifyToken, verifyParent, historyParentRouter); +router.use('/', verifyToken, rootCommonRouter); +router.use('/' , verifyToken, verifyParent, rootParentRouter); export default router;