릴리스: v0.1.11 관리자 레이아웃과 자유 티어표 흐름 정리
This commit is contained in:
@@ -10,6 +10,7 @@ const {
|
||||
createGameItem,
|
||||
deleteGameItem,
|
||||
deleteGame,
|
||||
listCustomItems,
|
||||
} = require('../db')
|
||||
const { requireAdmin } = require('../middleware/auth')
|
||||
|
||||
@@ -77,4 +78,9 @@ router.delete('/games/:gameId', requireAdmin, async (req, res) => {
|
||||
res.json({ ok: true })
|
||||
})
|
||||
|
||||
router.get('/custom-items', requireAdmin, async (req, res) => {
|
||||
const items = await listCustomItems()
|
||||
res.json({ items })
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
const express = require('express')
|
||||
const { z } = require('zod')
|
||||
const { nanoid } = require('nanoid')
|
||||
const { listGames, getGameDetail, createGameSuggestion } = require('../db')
|
||||
const { listGames, getGameDetail } = require('../db')
|
||||
|
||||
const router = express.Router()
|
||||
|
||||
@@ -16,16 +14,4 @@ router.get('/:gameId', async (req, res) => {
|
||||
res.json({ game: detail.game, items: detail.items })
|
||||
})
|
||||
|
||||
router.post('/suggest', async (req, res) => {
|
||||
const schema = z.object({ name: z.string().min(1).max(60) })
|
||||
const parsed = schema.safeParse(req.body)
|
||||
if (!parsed.success) return res.status(400).json({ error: 'bad_request' })
|
||||
|
||||
const suggestion = await createGameSuggestion({
|
||||
id: nanoid(),
|
||||
name: parsed.data.name,
|
||||
})
|
||||
res.json({ suggestion })
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
|
||||
Reference in New Issue
Block a user