feat(original): 원작

- 원천 원작, 원천 원작 링크, 글/그림 작가, 제작사, 태그 추가
This commit is contained in:
Yu Sung
2025-09-18 18:28:46 +09:00
parent edab727c22
commit 40c5a6593e
3 changed files with 257 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
import Vue from 'vue';
// 공통: 빈 문자열 -> null
// 공통: 값 그대로 전달 (빈 문자열 유지)
function toNullIfBlank(value) {
if (typeof value === 'string') {
return value.trim() === '' ? null : value;
@@ -25,7 +25,12 @@ export async function createOriginal(data) {
category: toNullIfBlank(data.category),
isAdult: !!data.isAdult,
description: toNullIfBlank(data.description),
originalLink: toNullIfBlank(data.originalLink)
originalLink: toNullIfBlank(data.originalLink), // 원천 원작 링크
originalWork: toNullIfBlank(data.originalWork),
writer: toNullIfBlank(data.writer),
studio: toNullIfBlank(data.studio),
originalLinks: Array.isArray(data.originalLinks) ? data.originalLinks : [],
tags: Array.isArray(data.tags) ? data.tags : []
};
formData.append('request', JSON.stringify(request));
return Vue.axios.post('/admin/chat/original/register', formData, {
@@ -39,12 +44,7 @@ export async function updateOriginal(data, image = null) {
if (image) formData.append('image', image);
const processed = {};
Object.keys(data).forEach(key => {
const value = data[key];
if (typeof value === 'string' || value === '') {
processed[key] = toNullIfBlank(value)
} else {
processed[key] = value
}
processed[key] = data[key];
})
formData.append('request', JSON.stringify(processed));
return Vue.axios.put('/admin/chat/original/update', formData, {