I am making a to-do list application with Supabase and NextJS-13 and while fetching the lists from Supabase, the server gave me this error
My List table on Supabase has three columns:
id
created_at
list_name
Supabase generates the id and createdat fields values so I only pass list name field from the client
This is my Database.ts file
import { createClient } from "@supabase/supabase-js";
const supabase_url = process.env.NEXT_PUBLIC_SUPABASE_URL!;
const supabase_api_key = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!;
const options = {
auth: {
persistSession: true,
storageKey: "supabase",
},
};
const supabase = createClient(supabase_url, supabase_api_key, options);
export default supabase;
export async function getLists() {
let { data: lists, error } = await supabase.from("Lists").select("*");
if (error) {
console.log(error);
return [];
}
return lists;
}
export async function addList({ list_name }: { list_name: string }) {
const { data, error } = await supabase
.from("Lists")
.insert([{ list_name: list_name }])
.select();
if (error) {
console.log(error);
return;
}
return data;
}
export async function deleteList(list_id: number) {
const { error } = await supabase.from("Lists").delete().eq("id", list_id);
if (error) {
console.log(error);
} else {
console.log("Deleted", list_id);
}
}
And route.ts for /api/lists route
import { getLists } from "@/app/utils/Database";
import { NextResponse } from "next/server";
export async function GET() {
let lists = await getLists();
if (!lists) {
lists = [];
}
return NextResponse.json(lists);
}
I tried setting
persistSession=falsein my createClient options but it still gave the other fetch error.I also tried setting
storageKeyparameters for local storage, but it also failed.Changed localhost to 127.0.0.1 based on this a StackOverflow thread
Downgraded nodejs version from 20.2 to 18.15
removed node_modules and reinstalled the dependencies
I expected it to just fetch the list names from the database and show them on the webpage.
If you need any other information, just ask and I will provide.
Thank you