shit show but data works

This commit is contained in:
2025-07-03 10:43:58 -04:00
parent bdb5e0fe55
commit 8e756b6553
19 changed files with 1641 additions and 636 deletions

View File

@@ -0,0 +1,53 @@
import { relations } from "drizzle-orm/relations";
import { categories, productCategoryMappings, products, offers, offerPriceHistory, productAttributes } from "./schema";
export const productCategoryMappingsRelations = relations(productCategoryMappings, ({one}) => ({
category: one(categories, {
fields: [productCategoryMappings.canonicalCategoryId],
references: [categories.id]
}),
}));
export const categoriesRelations = relations(categories, ({one, many}) => ({
productCategoryMappings: many(productCategoryMappings),
category: one(categories, {
fields: [categories.parentId],
references: [categories.id],
relationName: "categories_parentId_categories_id"
}),
categories: many(categories, {
relationName: "categories_parentId_categories_id"
}),
products: many(products),
}));
export const productsRelations = relations(products, ({one, many}) => ({
category: one(categories, {
fields: [products.canonicalCategoryId],
references: [categories.id]
}),
offers: many(offers),
productAttributes: many(productAttributes),
}));
export const offersRelations = relations(offers, ({one, many}) => ({
product: one(products, {
fields: [offers.productId],
references: [products.id]
}),
offerPriceHistories: many(offerPriceHistory),
}));
export const offerPriceHistoryRelations = relations(offerPriceHistory, ({one}) => ({
offer: one(offers, {
fields: [offerPriceHistory.offerId],
references: [offers.id]
}),
}));
export const productAttributesRelations = relations(productAttributes, ({one}) => ({
product: one(products, {
fields: [productAttributes.productId],
references: [products.id]
}),
}));