// client.ts
"use server";
import { cookies } from "next/headers";
import { createServerClient } from "@supabase/ssr";
import { Database } from "../database.types";
export default async function createClient() {
const cookieStore = await cookies();
return createServerClient<Database>(
process.env.NEXT_PUBLIC_SUPABASE_URL,
process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY,
{
cookies: {
getAll() {
return cookieStore.getAll();
},
setAll(cookiesToSet) {
try {
cookiesToSet.forEach(({ name, value, options }) =>
cookieStore.set(name, value, options)
);
} catch {
}
},
},
}
);
}
// database.types.ts
// somewhere.ts
const supabase = await createClient();
const { error } = await supabase.rpc("complete_task", {
p_task_id: Number(taskId) // <-- Argument of type '{ p_task_id: number; }' is not assignable to parameter of type 'undefined'.ts(2345)
});
// database.types.ts
Functions: {
complete_task: {
Args: { p_task_id: number }
Returns: undefined
}
// ...
}
// client.ts
"use server";
import { cookies } from "next/headers";
import { createServerClient } from "@supabase/ssr";
import { Database } from "../database.types";
export default async function createClient() {
const cookieStore = await cookies();
return createServerClient<Database>(
process.env.NEXT_PUBLIC_SUPABASE_URL,
process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY,
{
cookies: {
getAll() {
return cookieStore.getAll();
},
setAll(cookiesToSet) {
try {
cookiesToSet.forEach(({ name, value, options }) =>
cookieStore.set(name, value, options)
);
} catch {
}
},
},
}
);
}
// database.types.ts
// somewhere.ts
const supabase = await createClient();
const { error } = await supabase.rpc("complete_task", {
p_task_id: Number(taskId) // <-- Argument of type '{ p_task_id: number; }' is not assignable to parameter of type 'undefined'.ts(2345)
});
// database.types.ts
Functions: {
complete_task: {
Args: { p_task_id: number }
Returns: undefined
}
// ...
}