diff --git a/src/app/api/admin/banners/route.ts b/src/app/api/admin/banners/route.ts
index ab2f092..696389f 100644
--- a/src/app/api/admin/banners/route.ts
+++ b/src/app/api/admin/banners/route.ts
@@ -1,5 +1,6 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
+import type { Prisma } from "@prisma/client";
import { z } from "zod";
export async function GET() {
@@ -24,7 +25,7 @@ export async function POST(req: Request) {
const body = await req.json().catch(() => ({}));
const parsed = createSchema.safeParse(body);
if (!parsed.success) return NextResponse.json({ error: parsed.error.flatten() }, { status: 400 });
- const banner = await prisma.banner.create({ data: parsed.data });
+ const banner = await prisma.banner.create({ data: parsed.data as Prisma.BannerCreateInput });
return NextResponse.json({ banner }, { status: 201 });
}
diff --git a/src/app/api/admin/boards/route.ts b/src/app/api/admin/boards/route.ts
index 0cf87fa..039e987 100644
--- a/src/app/api/admin/boards/route.ts
+++ b/src/app/api/admin/boards/route.ts
@@ -1,5 +1,6 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
+import type { Prisma } from "@prisma/client";
import { z } from "zod";
export async function GET() {
@@ -54,7 +55,13 @@ export async function POST(req: Request) {
});
sortOrder = (max._max.sortOrder ?? 0) + 1;
}
- const created = await prisma.board.create({ data: { ...data, sortOrder } });
+ const { categoryId, sortOrder: _ignored, ...rest } = data;
+ const createData: Prisma.BoardCreateInput = {
+ ...(rest as any),
+ sortOrder,
+ ...(categoryId ? { category: { connect: { id: categoryId } } } : {}),
+ };
+ const created = await prisma.board.create({ data: createData });
return NextResponse.json({ board: created }, { status: 201 });
}
diff --git a/src/app/api/admin/categories/route.ts b/src/app/api/admin/categories/route.ts
index f002837..176b8c8 100644
--- a/src/app/api/admin/categories/route.ts
+++ b/src/app/api/admin/categories/route.ts
@@ -1,6 +1,7 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
import { z } from "zod";
+import type { Prisma } from "@prisma/client";
export async function GET() {
const categories = await prisma.boardCategory.findMany({
@@ -20,7 +21,7 @@ export async function POST(req: Request) {
const body = await req.json().catch(() => ({}));
const parsed = createSchema.safeParse(body);
if (!parsed.success) return NextResponse.json({ error: parsed.error.flatten() }, { status: 400 });
- const category = await prisma.boardCategory.create({ data: parsed.data });
+ const category = await prisma.boardCategory.create({ data: parsed.data as Prisma.BoardCategoryCreateInput });
return NextResponse.json({ category }, { status: 201 });
}
diff --git a/src/app/api/admin/partner-shops/route.ts b/src/app/api/admin/partner-shops/route.ts
index 703bc3b..eaafcab 100644
--- a/src/app/api/admin/partner-shops/route.ts
+++ b/src/app/api/admin/partner-shops/route.ts
@@ -1,6 +1,7 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
import { z } from "zod";
+import type { Prisma } from "@prisma/client";
export async function GET() {
const items = await prisma.partnerShop.findMany({ orderBy: [{ active: "desc" }, { sortOrder: "asc" }, { createdAt: "desc" }] });
@@ -20,7 +21,7 @@ export async function POST(req: Request) {
const body = await req.json().catch(() => ({}));
const parsed = createSchema.safeParse(body);
if (!parsed.success) return NextResponse.json({ error: parsed.error.flatten() }, { status: 400 });
- const item = await prisma.partnerShop.create({ data: parsed.data });
+ const item = await prisma.partnerShop.create({ data: parsed.data as Prisma.PartnerShopCreateInput });
return NextResponse.json({ item }, { status: 201 });
}
diff --git a/src/app/api/admin/view-types/route.ts b/src/app/api/admin/view-types/route.ts
index 084daac..f4738ec 100644
--- a/src/app/api/admin/view-types/route.ts
+++ b/src/app/api/admin/view-types/route.ts
@@ -1,6 +1,7 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
import { z } from "zod";
+import type { Prisma } from "@prisma/client";
export async function GET() {
const items = await prisma.boardViewType.findMany({ orderBy: [{ scope: 'asc' }, { name: 'asc' }] });
@@ -19,7 +20,7 @@ export async function POST(req: Request) {
if (!parsed.success) return NextResponse.json({ error: parsed.error.flatten() }, { status: 400 });
const exists = await prisma.boardViewType.findFirst({ where: { key: parsed.data.key } });
if (exists) return NextResponse.json({ error: 'duplicate_key' }, { status: 409 });
- const created = await prisma.boardViewType.create({ data: parsed.data });
+ const created = await prisma.boardViewType.create({ data: parsed.data as Prisma.BoardViewTypeCreateInput });
return NextResponse.json({ item: created }, { status: 201 });
}
diff --git a/src/app/api/coupons/route.ts b/src/app/api/coupons/route.ts
index a32be0f..3b21ba6 100644
--- a/src/app/api/coupons/route.ts
+++ b/src/app/api/coupons/route.ts
@@ -1,6 +1,7 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
import { z } from "zod";
+import type { Prisma } from "@prisma/client";
export async function GET() {
const now = new Date();
@@ -30,7 +31,7 @@ export async function POST(req: Request) {
const body = await req.json().catch(() => ({}));
const parsed = createSchema.safeParse(body);
if (!parsed.success) return NextResponse.json({ error: parsed.error.flatten() }, { status: 400 });
- const data = await prisma.coupon.create({ data: parsed.data });
+ const data = await prisma.coupon.create({ data: parsed.data as Prisma.CouponCreateInput });
return NextResponse.json({ coupon: data }, { status: 201 });
}
diff --git a/src/app/api/partner-inquiries/route.ts b/src/app/api/partner-inquiries/route.ts
index 7b1b85b..2886206 100644
--- a/src/app/api/partner-inquiries/route.ts
+++ b/src/app/api/partner-inquiries/route.ts
@@ -1,6 +1,7 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
import { z } from "zod";
+import type { Prisma } from "@prisma/client";
const schema = z.object({ name: z.string().min(1), contact: z.string().min(1), category: z.string().optional(), message: z.string().min(1) });
@@ -8,7 +9,7 @@ export async function POST(req: Request) {
const body = await req.json().catch(() => ({}));
const parsed = schema.safeParse(body);
if (!parsed.success) return NextResponse.json({ error: parsed.error.flatten() }, { status: 400 });
- const created = await prisma.partnerInquiry.create({ data: parsed.data });
+ const created = await prisma.partnerInquiry.create({ data: parsed.data as Prisma.PartnerInquiryCreateInput });
return NextResponse.json({ inquiry: created }, { status: 201 });
}
diff --git a/src/app/api/partner-requests/route.ts b/src/app/api/partner-requests/route.ts
index acea910..a0a534b 100644
--- a/src/app/api/partner-requests/route.ts
+++ b/src/app/api/partner-requests/route.ts
@@ -1,6 +1,7 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
import { z } from "zod";
+import type { Prisma } from "@prisma/client";
const schema = z.object({ name: z.string().min(1), category: z.string().min(1), latitude: z.coerce.number(), longitude: z.coerce.number(), address: z.string().optional(), contact: z.string().optional() });
@@ -8,7 +9,7 @@ export async function POST(req: Request) {
const body = await req.json().catch(() => ({}));
const parsed = schema.safeParse(body);
if (!parsed.success) return NextResponse.json({ error: parsed.error.flatten() }, { status: 400 });
- const created = await prisma.partnerRequest.create({ data: parsed.data });
+ const created = await prisma.partnerRequest.create({ data: parsed.data as Prisma.PartnerRequestCreateInput });
return NextResponse.json({ request: created }, { status: 201 });
}
diff --git a/src/app/components/RankIcon1st.tsx b/src/app/components/RankIcon1st.tsx
index 7840e07..8438db6 100644
--- a/src/app/components/RankIcon1st.tsx
+++ b/src/app/components/RankIcon1st.tsx
@@ -8,7 +8,7 @@ export function RankIcon1st({ width = 20, height = 21 }: { width?: number; heigh