All files / src/db relation.ts

0% Statements 0/12
100% Branches 0/0
0% Functions 0/6
0% Lines 0/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94                                                                                                                                                                                           
// drizzle
import { relations } from 'drizzle-orm';
// tables
import { account, session, user } from './auth-schema';
import { debt, group, groupMembership } from './pay-crew2-schema';
 
// auth-schema
export const userRelations = relations(user, ({ many }) => ({
  sessions: many(session, {
    relationName: 'user__session_userId',
  }),
  accounts: many(account, {
    relationName: 'user__account_userId',
  }),
  groups: many(group, {
    relationName: 'user__group_creator',
  }),
  groupMemberships: many(groupMembership, {
    relationName: 'user__group_membership_userId',
  }),
  debts_creditor: many(debt, {
    relationName: 'user__debt_creditor',
  }),
  debts_debtor: many(debt, {
    relationName: 'user__debt_debtor',
  }),
  debts_deletedByUser: many(debt, {
    relationName: 'user__debt_deletedByUser',
  }),
}));
 
export const sessionRelations = relations(session, ({ one }) => ({
  user: one(user, {
    fields: [session.userId],
    references: [user.id],
    relationName: 'user__session_userId',
  }),
}));
 
export const accountRelations = relations(account, ({ one }) => ({
  user: one(user, {
    fields: [account.userId],
    references: [user.id],
    relationName: 'user__account_userId',
  }),
}));
 
// pay-crew2-schema
export const groupRelations = relations(group, ({ many, one }) => ({
  user: one(user, {
    fields: [group.createdBy],
    references: [user.id],
    relationName: 'user__group_creator',
  }),
  groupMemberships: many(groupMembership, { relationName: 'group__group_membership_groupId' }),
  debts: many(debt, { relationName: 'group__debt_groupId' }),
}));
 
export const groupMembershipRelations = relations(groupMembership, ({ one }) => ({
  group: one(group, {
    fields: [groupMembership.groupId],
    references: [group.id],
    relationName: 'group__group_membership_groupId',
  }),
  user: one(user, {
    fields: [groupMembership.userId],
    references: [user.id],
    relationName: 'user__group_membership_userId',
  }),
}));
 
export const debtRelations = relations(debt, ({ one }) => ({
  group: one(group, {
    fields: [debt.groupId],
    references: [group.id],
    relationName: 'group__debt_groupId',
  }),
  user_creditor: one(user, {
    fields: [debt.creditorId],
    references: [user.id],
    relationName: 'user__debt_creditor',
  }),
  user_debtor: one(user, {
    fields: [debt.debtorId],
    references: [user.id],
    relationName: 'user__debt_debtor',
  }),
  user_deletedByUser: one(user, {
    fields: [debt.deletedBy],
    references: [user.id],
    relationName: 'user__debt_deletedByUser',
  }),
}));