릴리스: v0.1.23 홈 게임 정렬과 관리자 순서 관리 추가

This commit is contained in:
2026-03-26 14:59:50 +09:00
parent b58a641453
commit c1575783f0
9 changed files with 304 additions and 45 deletions

View File

@@ -9,10 +9,12 @@ const {
findUserById,
findGameById,
createGame,
listGames,
updateGameThumbnail,
createGameItem,
deleteGameItem,
deleteGame,
updateGameDisplayOrder,
listCustomItems,
findUnusedCustomItems,
findCustomItemsByIds,
@@ -50,6 +52,20 @@ router.post('/games', requireAdmin, async (req, res) => {
res.json({ game })
})
router.patch('/games/display-order', requireAdmin, async (req, res) => {
const schema = z.object({
gameIds: z.array(z.string().min(1)).max(50),
})
const parsed = schema.safeParse(req.body)
if (!parsed.success) return res.status(400).json({ error: 'bad_request' })
const games = await listGames()
const validGameIds = new Set(games.map((game) => game.id))
const filteredIds = parsed.data.gameIds.filter((gameId) => validGameIds.has(gameId))
const updatedGames = await updateGameDisplayOrder(filteredIds)
res.json({ games: updatedGames })
})
router.post('/games/:gameId/thumbnail', requireAdmin, upload.single('thumbnail'), async (req, res) => {
if (!req.file) return res.status(400).json({ error: 'file_required' })
const game = await findGameById(req.params.gameId)