motorstate-frontend/utils/apiHelper.ts
2025-12-26 13:12:37 +00:00

45 lines
1.5 KiB
TypeScript

import { cookies } from "next/headers";
// utils/tokenHelper.ts
export async function getAccessToken(): Promise<string | null> {
try {
// Get userid from sessionStorage (browser) or cookies (server-side)
let userId: string | null = null;
if (typeof window !== "undefined") {
// On client side
console.log("Running on client side");
userId = sessionStorage.getItem("userid");
} else {
console.log("Running on server side");
userId = cookies().get('d4a_uid')?.value || null;
// On server side (if needed, adjust as per cookie logic)
// e.g., you could use cookies-next package
}
if (!userId) {
console.error("UserId not found in sessionStorage/cookies");
return null;
}
const response = await fetch("https://ebay.backend.data4autos.com/api/auth/turn14/get-access-token", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ userid: userId }),
});
if (!response.ok) {
console.error("Failed to fetch token:", response.statusText);
return null;
}
const data = await response.json();
// Assuming the API returns { "access_token": "xxxxx" }
return data?.access_token ?? null;
} catch (error) {
console.error("Error fetching token:", error);
return null;
}
}