56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
import { defineRelations } from "drizzle-orm";
|
|
import * as schema from "./schema.ts";
|
|
|
|
export const relations = defineRelations(schema, (r) => ({
|
|
priceHistory: {
|
|
sku: r.one.skus({
|
|
from: r.priceHistory.skuId,
|
|
to: r.skus.skuId,
|
|
}),
|
|
},
|
|
salesHistory: {
|
|
sku: r.one.skus({
|
|
from: r.salesHistory.skuId,
|
|
to: r.skus.skuId,
|
|
}),
|
|
},
|
|
skus: {
|
|
card: r.one.cards({
|
|
from: [r.skus.productId, r.skus.variant],
|
|
to: [r.cards.productId, r.cards.variant],
|
|
}),
|
|
history: r.many.priceHistory(),
|
|
latestSales: r.many.salesHistory(),
|
|
inventories: r.many.inventory(),
|
|
},
|
|
inventory: {
|
|
card: r.one.cards({
|
|
from: r.inventory.cardId,
|
|
to: r.cards.cardId,
|
|
}),
|
|
sku: r.one.skus({
|
|
from: [r.inventory.cardId, r.inventory.condition],
|
|
to: [r.skus.cardId, r.skus.condition],
|
|
}),
|
|
},
|
|
cards: {
|
|
prices: r.many.skus(),
|
|
inventories: r.many.inventory(),
|
|
set: r.one.sets({
|
|
from: r.cards.setId,
|
|
to: r.sets.setId,
|
|
}),
|
|
tcgdata: r.one.tcgcards({
|
|
from: r.cards.productId,
|
|
to: r.tcgcards.productId,
|
|
}),
|
|
},
|
|
sets: {
|
|
cards: r.many.cards(),
|
|
},
|
|
tcgcards: {
|
|
cards: r.many.cards(),
|
|
},
|
|
}));
|
|
|