export const sponsorshipDbSchema = pgTable(
'sponsorship',
{
createdAt: timestamp('created_at').default(sql`now()`),
missionId: uuid('mission_id').references(() => missionDbSchema.missionId),
sponseeId: uuid('sponsee_id'),
sponsorshipId: uuid('sponsorship_id').defaultRandom().primaryKey(),
state: stateEnum('state').default(ContributionStateEnum.ON_HOLD),
updatedAt: timestamp('updated_at').default(sql`now()`),
userId: uuid('user_id').references(() => userDbSchema.userId),
},
(sponsorship) => ({ nameIndex: uniqueIndex('sponsorship_idx').on(sponsorship.sponsorshipId) }),
)
export const sponsorshipRelations = relations(sponsorshipDbSchema, ({ one }) => ({
mission: one(missionDbSchema, { fields: [sponsorshipDbSchema.missionId], references: [missionDbSchema.missionId] }),
user: one(userDbSchema, { fields: [sponsorshipDbSchema.userId], references: [userDbSchema.userId] }),
}))
export const sponsorshipDbSchema = pgTable(
'sponsorship',
{
createdAt: timestamp('created_at').default(sql`now()`),
missionId: uuid('mission_id').references(() => missionDbSchema.missionId),
sponseeId: uuid('sponsee_id'),
sponsorshipId: uuid('sponsorship_id').defaultRandom().primaryKey(),
state: stateEnum('state').default(ContributionStateEnum.ON_HOLD),
updatedAt: timestamp('updated_at').default(sql`now()`),
userId: uuid('user_id').references(() => userDbSchema.userId),
},
(sponsorship) => ({ nameIndex: uniqueIndex('sponsorship_idx').on(sponsorship.sponsorshipId) }),
)
export const sponsorshipRelations = relations(sponsorshipDbSchema, ({ one }) => ({
mission: one(missionDbSchema, { fields: [sponsorshipDbSchema.missionId], references: [missionDbSchema.missionId] }),
user: one(userDbSchema, { fields: [sponsorshipDbSchema.userId], references: [userDbSchema.userId] }),
}))