import { ProductBackend, Product } from '@betterdata/commerce-gateway';
class MyDatabaseBackend implements ProductBackend {
async searchProducts(query: string): Promise<ProductSearchResult> {
const results = await db.products.findMany({
where: { name: { contains: query } }
});
return {
products: results.map(this.mapToProduct),
total: results.length,
hasMore: false,
};
}
async getProductDetails(id: string): Promise<Product | null> {
const product = await db.products.findUnique({ where: { id } });
return product ? this.mapToProduct(product) : null;
}
private mapToProduct(raw: any): Product {
return {
id: raw.id,
name: raw.title,
price: { amount: raw.price, currency: 'USD' },
// ...
};
}
}