Files
sori.studio/server/routes/admin/api/media.put.js

25 lines
804 B
JavaScript

import { readBody } from 'h3'
import { requireAdminSession } from '../../../utils/admin-auth'
import { renameMediaItem, updateMediaCategories, updateMediaCategory } from '../../../utils/media-library'
/**
* 관리자 미디어 파일명 및 폴더 변경 API
* @param {import('h3').H3Event} event - 요청 이벤트
* @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)
}
return renameMediaItem(body?.url, body?.name || '')
})