릴리스: v1.3.55 관리자 요청 썸네일 승계 및 배지 색상 구분

This commit is contained in:
2026-04-02 11:54:53 +09:00
parent 1d8e8581b8
commit 0a3fce2130
9 changed files with 53 additions and 5 deletions

View File

@@ -93,13 +93,21 @@ function canManageAdminRole(actingUser, primaryAdmin) {
}
router.post('/games', requireAdmin, async (req, res) => {
const schema = z.object({ id: z.string().min(1), name: z.string().min(1).max(60) })
const schema = z.object({
id: z.string().min(1),
name: z.string().min(1).max(60),
thumbnailSrc: z.string().max(255).optional().default(''),
})
const parsed = schema.safeParse(req.body)
if (!parsed.success) return res.status(400).json({ error: 'bad_request' })
const exists = await findGameById(parsed.data.id)
if (exists) return res.status(409).json({ error: 'game_id_taken' })
const game = await createGame({ id: parsed.data.id, name: parsed.data.name })
res.json({ game })
if (parsed.data.thumbnailSrc) {
const copiedThumb = await copyUploadIntoGameAsset(parsed.data.thumbnailSrc)
await updateGameThumbnail(game.id, copiedThumb)
}
res.json({ game: await findGameById(game.id) })
})
router.patch('/games/display-order', requireAdmin, async (req, res) => {