릴리스: v1.4.19 템플릿 아이템 삭제 영향 경고 및 보존 정책 정리
This commit is contained in:
@@ -18,6 +18,7 @@ const {
|
||||
createGameItem,
|
||||
updateGameItemLabel,
|
||||
updateGameItemDisplayOrder,
|
||||
countTierListsUsingGameItem,
|
||||
updateCustomItemLabel,
|
||||
updateImageAssetLabel,
|
||||
deleteGameItem,
|
||||
@@ -239,6 +240,15 @@ router.delete(['/games/:gameId/items/:itemId', '/templates/:templateId/items/:it
|
||||
res.json({ ok: true })
|
||||
})
|
||||
|
||||
router.get(['/games/:gameId/items/:itemId/usage', '/templates/:templateId/items/:itemId/usage'], requireAdmin, async (req, res) => {
|
||||
const game = await findGameById(getTemplateIdParam(req))
|
||||
if (!game) return res.status(404).json({ error: 'not_found' })
|
||||
const item = await findGameItemById(req.params.itemId)
|
||||
if (!item || item.gameId !== game.id) return res.status(404).json({ error: 'not_found' })
|
||||
const usage = await countTierListsUsingGameItem(req.params.itemId)
|
||||
res.json({ usage })
|
||||
})
|
||||
|
||||
router.patch(['/games/:gameId/items/:itemId', '/templates/:templateId/items/:itemId'], requireAdmin, async (req, res) => {
|
||||
const schema = z.object({ label: z.string().trim().min(1).max(60) })
|
||||
const parsed = schema.safeParse(req.body)
|
||||
|
||||
Reference in New Issue
Block a user