From e4aaa066c1a77d800d78eae21be4cac90434adbf Mon Sep 17 00:00:00 2001 From: rca Date: Mon, 15 Jul 2024 23:23:46 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=A8=E3=83=B3=E3=83=89=E3=83=9D=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E3=83=88=E8=BF=BD=E5=8A=A0(=E6=9A=AB=E5=AE=9A)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routers/parent/rootRouter.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/routers/parent/rootRouter.ts diff --git a/src/routers/parent/rootRouter.ts b/src/routers/parent/rootRouter.ts new file mode 100644 index 0000000..ba3d734 --- /dev/null +++ b/src/routers/parent/rootRouter.ts @@ -0,0 +1,23 @@ +import { requiredFieldMissingResponse } from '@src/models/commons/responses'; +import { generateParentLoginCode } from '@src/services/parent/accountService'; +import { Router, Request, Response } from 'express'; + + +const commonRouter = Router(); +const parentRouter = Router(); + +// Issue login code (for Alexa integration) +parentRouter.get('/issue', (req: Request, res: Response) => { + let parentId; + if (!req.user || !req.user.claims || !req.user.claims.sub) { + const resp = requiredFieldMissingResponse(['JWT claims']); + return res.status(resp.statusCode).json(resp); + } else { + parentId = req.user.claims.sub; + } + generateParentLoginCode(parentId).then((code) => { + res.status(200).json({ code }); + }).catch((err) => { + res.status(500).json({ message: "ログインコードの発行に失敗しました" }); + }); +});