From 247c75ff848c3d48bb32fd428cdaaf94dba799b9 Mon Sep 17 00:00:00 2001 From: wancat Date: Thu, 20 Jul 2023 15:23:39 +0800 Subject: [PATCH] Get quest list and quest details + Add timestamps to quest --- server/src/api/controllers/questController.js | 19 +++++++++++++++++++ server/src/api/routes/index.js | 2 ++ server/src/api/routes/quests.js | 9 +++++++++ server/src/models/quest.js | 2 +- 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 server/src/api/controllers/questController.js create mode 100644 server/src/api/routes/quests.js diff --git a/server/src/api/controllers/questController.js b/server/src/api/controllers/questController.js new file mode 100644 index 0000000..ff33737 --- /dev/null +++ b/server/src/api/controllers/questController.js @@ -0,0 +1,19 @@ +import Quest from '../../models/quest.js' + +export async function getQuests(req, res) { + const quests = await Quest.find({}).sort({ order: 1 }) + res.json( + quests.map(({ name, title, order, _id }) => ({ + id: _id, + name, + title, + order, + })) + ) +} + +export async function getQuestDetail(req, res) { + const { name } = req.params + const quest = await Quest.findOne({ name }) + res.json(quest) +} diff --git a/server/src/api/routes/index.js b/server/src/api/routes/index.js index 5e95b7f..bc3eae8 100644 --- a/server/src/api/routes/index.js +++ b/server/src/api/routes/index.js @@ -1,5 +1,6 @@ import { Router } from 'express' import sessions from './sessions.js' +import quests from './quests.js' import { authMiddleware } from '../../middleware/auth.js' const router = Router() @@ -9,5 +10,6 @@ router.get('/', (req, res) => { }) router.use('/sessions', authMiddleware, sessions) +router.use('/quests', quests) export default router diff --git a/server/src/api/routes/quests.js b/server/src/api/routes/quests.js new file mode 100644 index 0000000..2c1a625 --- /dev/null +++ b/server/src/api/routes/quests.js @@ -0,0 +1,9 @@ +import { Router } from 'express' +import * as questController from '../controllers/questController.js' + +const router = Router() + +router.get('/', questController.getQuests) +router.get('/:name', questController.getQuestDetail) + +export default router diff --git a/server/src/models/quest.js b/server/src/models/quest.js index 21e948f..f7af7b4 100644 --- a/server/src/models/quest.js +++ b/server/src/models/quest.js @@ -9,7 +9,7 @@ const Quest = model( order: Number, content: String, }, - { timestamp: true } + { timestamps: true } ) )