@@ -1,7 +1,7 @@
|
||||
import { createError, readBody } from 'h3'
|
||||
import { requireAdminSession } from '../../../utils/admin-auth'
|
||||
import { parseAdminPostInput } from '../../../utils/admin-post-input'
|
||||
import { createAdminPost } from '../../../repositories/content-repository'
|
||||
import { createAdminPost, getSiteSettings } from '../../../repositories/content-repository'
|
||||
|
||||
/**
|
||||
* 관리자 게시물 생성 API
|
||||
@@ -20,6 +20,16 @@ export default defineEventHandler(async (event) => {
|
||||
})
|
||||
}
|
||||
|
||||
const settings = await getSiteSettings()
|
||||
const postTagLimit = Number(settings.postTagLimit || 5)
|
||||
|
||||
if (parsedBody.data.tags.length > postTagLimit) {
|
||||
throw createError({
|
||||
statusCode: 400,
|
||||
message: `태그는 최대 ${postTagLimit}개까지 선택할 수 있습니다.`
|
||||
})
|
||||
}
|
||||
|
||||
try {
|
||||
return await createAdminPost(parsedBody.data, adminSession.userId)
|
||||
} catch (error) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { createError, getRouterParam, readBody } from 'h3'
|
||||
import { requireAdminSession } from '../../../../utils/admin-auth'
|
||||
import { parseAdminPostInput } from '../../../../utils/admin-post-input'
|
||||
import { updateAdminPost } from '../../../../repositories/content-repository'
|
||||
import { getSiteSettings, updateAdminPost } from '../../../../repositories/content-repository'
|
||||
|
||||
/**
|
||||
* 관리자 게시물 수정 API
|
||||
@@ -21,6 +21,16 @@ export default defineEventHandler(async (event) => {
|
||||
})
|
||||
}
|
||||
|
||||
const settings = await getSiteSettings()
|
||||
const postTagLimit = Number(settings.postTagLimit || 5)
|
||||
|
||||
if (parsedBody.data.tags.length > postTagLimit) {
|
||||
throw createError({
|
||||
statusCode: 400,
|
||||
message: `태그는 최대 ${postTagLimit}개까지 선택할 수 있습니다.`
|
||||
})
|
||||
}
|
||||
|
||||
try {
|
||||
const post = await updateAdminPost(id, parsedBody.data, adminSession.userId)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user