import { firestore } from "../firebase"; import type { ProductDoc } from "../types/reward"; export function productRef(id: string) { return firestore.doc(`products/${id}`); } export function availableStock(product: Pick) { return product.totalStock - product.reservedStock - product.safetyStock; } export async function listProducts(): Promise> { const s = await firestore.collection("products").where("active", "==", true).where("redeemable", "==", true).get(); return s.docs.map((d) => ({ id: d.id, ...(d.data() as ProductDoc) })); } export async function getProduct(id: string): Promise<(ProductDoc & { id: string }) | null> { const s = await productRef(id).get(); return s.exists ? { id, ...(s.data() as ProductDoc) } : null; }