From f2f0a501715c58e45d0499552dc0bd4d4e4dfb7b Mon Sep 17 00:00:00 2001 From: Altay Date: Sat, 16 Dec 2023 22:12:03 +0200 Subject: [PATCH] refactor: update nullable stuff (#88) --- components/layout/app-layout.tsx | 6 +++--- lib/services/account.ts | 4 ++-- lib/services/spotify/save-user-info.ts | 4 ++-- lib/services/stripe/orders.ts | 3 +-- types/supabase/database.ts | 6 +++--- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/components/layout/app-layout.tsx b/components/layout/app-layout.tsx index eaf79b3..7879a06 100644 --- a/components/layout/app-layout.tsx +++ b/components/layout/app-layout.tsx @@ -17,9 +17,9 @@ export async function AppLayout({ children }: PropsWithChildren) { appHeader = ( diff --git a/lib/services/account.ts b/lib/services/account.ts index a30d1a3..61ee0a3 100644 --- a/lib/services/account.ts +++ b/lib/services/account.ts @@ -52,7 +52,7 @@ export const fetchAccountAICredits = async () => { throw new DatabaseError(accountQuery.error); } - return accountQuery.data.ai_credit || 0; + return accountQuery.data.ai_credit; }; export const validateAccountAICredits = async () => { @@ -82,5 +82,5 @@ export const updateAccountAICredits = async (amount: number) => { throw new DatabaseError(accountQuery.error); } - return accountQuery.data.ai_credit || 0; + return accountQuery.data.ai_credit; }; diff --git a/lib/services/spotify/save-user-info.ts b/lib/services/spotify/save-user-info.ts index bea6273..c2000d5 100644 --- a/lib/services/spotify/save-user-info.ts +++ b/lib/services/spotify/save-user-info.ts @@ -15,8 +15,8 @@ type UserMetadata = { }; const spotifyUserInfoResponseSchema = z.object({ - avatar_url: z.string().min(1), - full_name: z.string().min(1), + avatar_url: z.string().default(''), + full_name: z.string().default(''), provider_id: z.string().min(1), provider_token: z.string().min(1), }); diff --git a/lib/services/stripe/orders.ts b/lib/services/stripe/orders.ts index 336bba1..80f5b7b 100644 --- a/lib/services/stripe/orders.ts +++ b/lib/services/stripe/orders.ts @@ -73,8 +73,7 @@ export async function fulfillOrder(session: Stripe.Checkout.Session) { const updateAccountQuery = await supabase .from('account') .update({ - ai_credit: - (currentAccountCreditsQuery.data.ai_credit ?? 0) + purchasedCredits, + ai_credit: currentAccountCreditsQuery.data.ai_credit + purchasedCredits, }) .eq('id', validatedSession.data.metadata.accountId); diff --git a/types/supabase/database.ts b/types/supabase/database.ts index e411d47..ef31ca7 100644 --- a/types/supabase/database.ts +++ b/types/supabase/database.ts @@ -11,7 +11,7 @@ export interface Database { Tables: { account: { Row: { - ai_credit: number | null; + ai_credit: number; avatar_url: string | null; created_at: string; display_name: string | null; @@ -22,7 +22,7 @@ export interface Database { user_id: string; }; Insert: { - ai_credit?: number | null; + ai_credit?: number; avatar_url?: string | null; created_at?: string; display_name?: string | null; @@ -33,7 +33,7 @@ export interface Database { user_id: string; }; Update: { - ai_credit?: number | null; + ai_credit?: number; avatar_url?: string | null; created_at?: string; display_name?: string | null;