From e0161d1b5f51858c220f5b711a9d3886cddb3591 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 1 Aug 2023 16:27:19 +0100 Subject: [PATCH] handling bigint errors --- src/app/api/portfolio/route.ts | 8 ++++++-- src/app/components/home/Card.tsx | 2 +- src/app/components/home/CardTiles.tsx | 2 +- src/app/components/home/ModalSubmit.tsx | 2 +- src/app/db/schema/property.ts | 2 +- src/app/home/utils.ts | 6 ++---- src/app/portfolio/[slug]/utils.ts | 2 +- src/types/next-auth.d.ts | 2 +- 8 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/app/api/portfolio/route.ts b/src/app/api/portfolio/route.ts index 2b4ad942..f83b1b8f 100644 --- a/src/app/api/portfolio/route.ts +++ b/src/app/api/portfolio/route.ts @@ -10,7 +10,7 @@ import { db } from "@/app/db/db"; import { z } from "zod"; const createPortfolioSchema = z.object({ - userId: z.number(), + userId: z.bigint(), portfolioName: z.string(), budget: z.number().optional(), goal: z.enum(PortfolioGoal), @@ -52,7 +52,11 @@ export async function POST(request: NextRequest) { const response = await db .insert(portfolioUsers) - .values({ userId: userId, portfolioId: newPortfolioId, role: role }) + .values({ + userId: userId, + portfolioId: newPortfolioId, + role: role, + }) .returning(); if (response.length !== 1) { diff --git a/src/app/components/home/Card.tsx b/src/app/components/home/Card.tsx index 660bad6e..9b2bd50a 100644 --- a/src/app/components/home/Card.tsx +++ b/src/app/components/home/Card.tsx @@ -16,7 +16,7 @@ const styles = { }; interface CardProps { - id: number; + id: bigint; title: string; image: string; budget: number | null; diff --git a/src/app/components/home/CardTiles.tsx b/src/app/components/home/CardTiles.tsx index f9a5205c..9b00483a 100644 --- a/src/app/components/home/CardTiles.tsx +++ b/src/app/components/home/CardTiles.tsx @@ -19,7 +19,7 @@ export default function CardTiles({ const image_idx = index % 5; return ( ; // This type is used for the getProperties function in src/app/portfolio/[slug]/utils.ts export interface PropertyWithTarget { status: string | null; - id: number; + id: bigint; portfolioId: number; creationStatus: string; address: string | null; diff --git a/src/app/home/utils.ts b/src/app/home/utils.ts index 61e3c2c8..243aa162 100644 --- a/src/app/home/utils.ts +++ b/src/app/home/utils.ts @@ -1,12 +1,10 @@ -import { portfolioUsers, PortfolioUsers } from "./../db/schema/portfolio"; +import { portfolioUsers } from "./../db/schema/portfolio"; import { eq } from "drizzle-orm"; -import { user } from "@/app/db/schema/users"; import { db } from "@/app/db/db"; -import { NextRequest, NextResponse } from "next/server"; import { portfolio } from "@/app/db/schema/portfolio"; import type { Portfolio } from "@/app/db/schema/portfolio"; -export async function getPortfolios(userId: number): Promise { +export async function getPortfolios(userId: bigint): Promise { const userPortfolios = await db .select() .from(portfolio) diff --git a/src/app/portfolio/[slug]/utils.ts b/src/app/portfolio/[slug]/utils.ts index 67afe74f..92feb87d 100644 --- a/src/app/portfolio/[slug]/utils.ts +++ b/src/app/portfolio/[slug]/utils.ts @@ -9,7 +9,7 @@ export async function getPortfolio(portfolioId: number): Promise { const data = await db .select() .from(portfolio) - .where(eq(portfolio.id, portfolioId)); + .where(eq(portfolio.id, BigInt(portfolioId))); if (data.length === 0) { throw new Error("Portfolio not found"); diff --git a/src/types/next-auth.d.ts b/src/types/next-auth.d.ts index f95c6926..e70ea32c 100644 --- a/src/types/next-auth.d.ts +++ b/src/types/next-auth.d.ts @@ -9,6 +9,6 @@ declare module "next-auth" { } & DefaultSession["user"]; } interface User { - dbId: number; + dbId: bigint; } }