58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
import { relations } from "drizzle-orm/relations";
|
|
import { wishlists, items, user, savedWishlists, reservations, session, account } from "./schema";
|
|
|
|
export const itemsRelations = relations(items, ({one, many}) => ({
|
|
wishlist: one(wishlists, {
|
|
fields: [items.wishlistId],
|
|
references: [wishlists.id]
|
|
}),
|
|
reservations: many(reservations),
|
|
}));
|
|
|
|
export const wishlistsRelations = relations(wishlists, ({one, many}) => ({
|
|
items: many(items),
|
|
user: one(user, {
|
|
fields: [wishlists.userId],
|
|
references: [user.id]
|
|
}),
|
|
savedWishlists: many(savedWishlists),
|
|
}));
|
|
|
|
export const userRelations = relations(user, ({many}) => ({
|
|
wishlists: many(wishlists),
|
|
savedWishlists: many(savedWishlists),
|
|
sessions: many(session),
|
|
accounts: many(account),
|
|
}));
|
|
|
|
export const savedWishlistsRelations = relations(savedWishlists, ({one}) => ({
|
|
user: one(user, {
|
|
fields: [savedWishlists.userId],
|
|
references: [user.id]
|
|
}),
|
|
wishlist: one(wishlists, {
|
|
fields: [savedWishlists.wishlistId],
|
|
references: [wishlists.id]
|
|
}),
|
|
}));
|
|
|
|
export const reservationsRelations = relations(reservations, ({one}) => ({
|
|
item: one(items, {
|
|
fields: [reservations.itemId],
|
|
references: [items.id]
|
|
}),
|
|
}));
|
|
|
|
export const sessionRelations = relations(session, ({one}) => ({
|
|
user: one(user, {
|
|
fields: [session.userId],
|
|
references: [user.id]
|
|
}),
|
|
}));
|
|
|
|
export const accountRelations = relations(account, ({one}) => ({
|
|
user: one(user, {
|
|
fields: [account.userId],
|
|
references: [user.id]
|
|
}),
|
|
})); |