관리자 미디어 라이브러리 기본 기능 추가

This commit is contained in:
2026-05-01 23:42:03 +09:00
parent 83ac51fd11
commit bc531f81db
15 changed files with 553 additions and 19 deletions

View File

@@ -0,0 +1,20 @@
import { readBody } from 'h3'
import { requireAdminSession } from '../../../utils/admin-auth'
import { deleteMediaItem } from '../../../utils/media-library'
/**
* 관리자 미디어 삭제 API
* @param {import('h3').H3Event} event - 요청 이벤트
* @returns {Promise<{ ok: boolean }>} 삭제 결과
*/
export default defineEventHandler(async (event) => {
requireAdminSession(event)
const body = await readBody(event)
await deleteMediaItem(body?.url)
return {
ok: true
}
})

View File

@@ -0,0 +1,13 @@
import { requireAdminSession } from '../../../utils/admin-auth'
import { listMediaItems } from '../../../utils/media-library'
/**
* 관리자 미디어 목록 API
* @param {import('h3').H3Event} event - 요청 이벤트
* @returns {Promise<Array<Object>>} 미디어 목록
*/
export default defineEventHandler(async (event) => {
requireAdminSession(event)
return listMediaItems()
})

View File

@@ -0,0 +1,16 @@
import { readBody } from 'h3'
import { requireAdminSession } from '../../../utils/admin-auth'
import { renameMediaItem } from '../../../utils/media-library'
/**
* 관리자 미디어 파일명 변경 API
* @param {import('h3').H3Event} event - 요청 이벤트
* @returns {Promise<Object>} 변경된 미디어 항목
*/
export default defineEventHandler(async (event) => {
requireAdminSession(event)
const body = await readBody(event)
return renameMediaItem(body?.url, body?.name || '')
})