diff --git a/src/app/api/survey-sales/[id]/route.ts b/src/app/api/survey-sales/[id]/route.ts index 3b88e86..415d1e6 100644 --- a/src/app/api/survey-sales/[id]/route.ts +++ b/src/app/api/survey-sales/[id]/route.ts @@ -1,6 +1,6 @@ import { NextRequest, NextResponse } from 'next/server' import { prisma } from '@/libs/prisma' -import { convertToSnakeCase } from '../route' +import { convertToSnakeCase } from '@/utils/common-utils' export async function GET(request: NextRequest, { params }: { params: Promise<{ id: string }> }) { try { diff --git a/src/app/api/survey-sales/route.ts b/src/app/api/survey-sales/route.ts index aa9a549..3298f5d 100644 --- a/src/app/api/survey-sales/route.ts +++ b/src/app/api/survey-sales/route.ts @@ -1,6 +1,6 @@ import { NextResponse } from 'next/server' import { prisma } from '@/libs/prisma' - +import { convertToSnakeCase } from '@/utils/common-utils' /** * 검색 파라미터 */ @@ -219,30 +219,6 @@ export async function PUT(request: Request) { } } -// 카멜케이스를 스네이크케이스로 변환하는 함수 -export const toSnakeCase = (str: string) => { - return str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`); -} - -// 객체의 키를 스네이크케이스로 변환하는 함수 -export const convertToSnakeCase = (obj: any): Record => { - if (obj === null || obj === undefined) return obj; - - if (Array.isArray(obj)) { - return obj.map((item: any) => convertToSnakeCase(item)) - } - - if (typeof obj === 'object') { - return Object.keys(obj).reduce((acc, key) => { - const snakeKey = toSnakeCase(key).toUpperCase(); - acc[snakeKey] = convertToSnakeCase(obj[key]); - return acc; - }, {} as Record); - } - - return obj; -} - export async function POST(request: Request) { try { const body = await request.json() diff --git a/src/utils/common-utils.js b/src/utils/common-utils.js index 0a1265f..d0c7f65 100644 --- a/src/utils/common-utils.js +++ b/src/utils/common-utils.js @@ -185,3 +185,28 @@ export const isEqualObjects = (obj1, obj2) => { function isObject(value) { return value !== null && typeof value === 'object' } + + +// 카멜케이스를 스네이크케이스로 변환하는 함수 +export const toSnakeCase = (str) => { + return str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`); +} + +// 객체의 키를 스네이크케이스로 변환하는 함수 +export const convertToSnakeCase = (obj) => { + if (obj === null || obj === undefined) return obj; + + if (Array.isArray(obj)) { + return obj.map((item) => convertToSnakeCase(item)) + } + + if (typeof obj === 'object') { + return Object.keys(obj).reduce((acc, key) => { + const snakeKey = toSnakeCase(key).toUpperCase(); + acc[snakeKey] = convertToSnakeCase(obj[key]); + return acc; + }, {}); + } + + return obj; +}