추천 티어표 분리와 관리자 추천 지정 기능 추가
This commit is contained in:
@@ -38,6 +38,7 @@ const {
|
||||
summarizeAdminTierLists,
|
||||
findTierListById,
|
||||
updateAdminTierListMeta,
|
||||
updateTierListFeaturedStatus,
|
||||
listAdminTemplateRequests,
|
||||
findTemplateRequestById,
|
||||
updateTemplateRequestStatus,
|
||||
@@ -380,6 +381,25 @@ router.get('/tierlists/stats', requireAdmin, async (req, res) => {
|
||||
res.json(result)
|
||||
})
|
||||
|
||||
router.patch('/tierlists/:tierListId/featured', requireAdmin, async (req, res) => {
|
||||
const schema = z.object({
|
||||
isFeatured: z.boolean(),
|
||||
})
|
||||
const parsed = schema.safeParse(req.body)
|
||||
if (!parsed.success) return res.status(400).json({ error: 'bad_request' })
|
||||
|
||||
const tierList = await findTierListById(req.params.tierListId, req.session?.userId || '')
|
||||
if (!tierList) return res.status(404).json({ error: 'not_found' })
|
||||
if (parsed.data.isFeatured && !tierList.isPublic) return res.status(400).json({ error: 'public_tierlist_required' })
|
||||
|
||||
const updated = await updateTierListFeaturedStatus({
|
||||
id: tierList.id,
|
||||
isFeatured: parsed.data.isFeatured,
|
||||
adminUserId: req.session.userId,
|
||||
})
|
||||
res.json({ tierList: updated })
|
||||
})
|
||||
|
||||
router.get('/template-requests', requireAdmin, async (req, res) => {
|
||||
const requests = await listAdminTemplateRequests({ statuses: ['pending', 'reviewing'] })
|
||||
res.json({ requests })
|
||||
|
||||
Reference in New Issue
Block a user