59 lines
1.5 KiB
TypeScript
59 lines
1.5 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]
|
|
})
|
|
}));
|