Here is the complete code if you need :
import { getAuthToken } from "./get-token";
import { getStrapiURL } from "@/lib/utils";
import qs from "qs";
export async function getFamilyMembersLoader() {
const baseUrl = getStrapiURL();
const authToken = await getAuthToken();
if (!authToken) return { ok: false, data: null, error: "No auth token" };
try {
const userResponse = await fetch(`${baseUrl}/api/users/me`, {
headers: {
Authorization: `Bearer ${authToken}`,
},
});
const userData = await userResponse.json();
const userId = userData.id;
console.log("User ID:", userId);
const query = qs.stringify(
{
filters: {
familyOwner: {
$eq: userId,
},
},
populate: "*",
},
{ encodeValuesOnly: true }
);
const url = new URL(`${baseUrl}/api/families?${query}`);
const response = await fetch(url.href, {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${authToken}`,
},
cache: "no-cache",
});
const data = await response.json();
if (data.error) return { ok: false, data: null, error: data.error };
return { ok: true, data: data.data, error: null };
} catch (error) {
console.log(error);
return { ok: false, data: null, error: error };
}
}