Wire homepage specials, product/blog pages, instant search, and the customer portal so the live pharmacy site can be managed from the dashboard. Co-authored-by: Cursor <cursoragent@cursor.com>
29 lines
850 B
TypeScript
29 lines
850 B
TypeScript
import { meshkeeApiBase, websiteDomain } from "@/lib/config";
|
|
|
|
export async function meshkeeGet<T>(path: string, fallback: T, revalidate = 60): Promise<T> {
|
|
try {
|
|
const response = await fetch(`${meshkeeApiBase}${path}`, {
|
|
next: { revalidate },
|
|
});
|
|
if (!response.ok) return fallback;
|
|
return (await response.json()) as T;
|
|
} catch {
|
|
return fallback;
|
|
}
|
|
}
|
|
|
|
export function tenantPath(suffix: string) {
|
|
return `/tenants/${encodeURIComponent(websiteDomain)}${suffix}`;
|
|
}
|
|
|
|
type Tenant = { id: number | string; nameFa?: string; name?: string; domain?: string };
|
|
|
|
export async function getTenant() {
|
|
return meshkeeGet<Tenant | null>(`/tenants/${encodeURIComponent(websiteDomain)}`, null);
|
|
}
|
|
|
|
export async function getBusinessId() {
|
|
const tenant = await getTenant();
|
|
return tenant?.id != null ? String(tenant.id) : "";
|
|
}
|