미디어 폴더 트리 관리 추가

This commit is contained in:
2026-05-02 20:35:28 +09:00
parent dd0a643d73
commit db87542096
13 changed files with 520 additions and 93 deletions

View File

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

View File

@@ -0,0 +1,16 @@
import { readBody } from 'h3'
import { requireAdminSession } from '../../../utils/admin-auth'
import { createMediaFolder } from '../../../utils/media-library'
/**
* 관리자 미디어 폴더 생성 API
* @param {import('h3').H3Event} event - 요청 이벤트
* @returns {Promise<{ path: string }>} 생성된 미디어 폴더
*/
export default defineEventHandler(async (event) => {
requireAdminSession(event)
const body = await readBody(event)
return createMediaFolder(body?.path || '')
})

View File

@@ -1,17 +1,21 @@
import { readBody } from 'h3'
import { requireAdminSession } from '../../../utils/admin-auth'
import { renameMediaItem, updateMediaCategory } from '../../../utils/media-library'
import { renameMediaItem, updateMediaCategories, updateMediaCategory } from '../../../utils/media-library'
/**
* 관리자 미디어 파일명 변경 API
* 관리자 미디어 파일명 및 폴더 변경 API
* @param {import('h3').H3Event} event - 요청 이벤트
* @returns {Promise<Object>} 변경된 미디어 항목
* @returns {Promise<Object|Array<Object>>} 변경된 미디어 항목
*/
export default defineEventHandler(async (event) => {
requireAdminSession(event)
const body = await readBody(event)
if (body?.category !== undefined && Array.isArray(body?.urls)) {
return updateMediaCategories(body.urls, body.category)
}
if (body?.category !== undefined) {
return updateMediaCategory(body?.url, body?.category)
}