first commit
This commit is contained in:
38
app/api/cost_per_view/route.ts
Normal file
38
app/api/cost_per_view/route.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import { PrismaClient } from '@/app/generated/prisma';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
export async function GET() {
|
||||
try {
|
||||
const row = await prisma.costPerView.findUnique({ where: { id: 1 } });
|
||||
return NextResponse.json({ value: row?.costPerView ?? null });
|
||||
} catch (e) {
|
||||
console.error('GET /api/cost_per_view 오류:', e);
|
||||
return NextResponse.json({ error: '조회 실패' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
export async function POST(request: Request) {
|
||||
try {
|
||||
const body = await request.json();
|
||||
const valueRaw = body?.value;
|
||||
const value = typeof valueRaw === 'string' ? parseFloat(valueRaw) : valueRaw;
|
||||
if (typeof value !== 'number' || Number.isNaN(value)) {
|
||||
return NextResponse.json({ error: '유효한 숫자 값을 제공하세요' }, { status: 400 });
|
||||
}
|
||||
|
||||
const saved = await prisma.costPerView.upsert({
|
||||
where: { id: 1 },
|
||||
update: { costPerView: value },
|
||||
create: { id: 1, costPerView: value },
|
||||
});
|
||||
|
||||
return NextResponse.json({ ok: true, value: saved.costPerView });
|
||||
} catch (e) {
|
||||
console.error('POST /api/cost_per_view 오류:', e);
|
||||
return NextResponse.json({ error: '저장 실패' }, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user