xport const avatars = pgTable("avatars", {
id: text().primaryKey().default(sql`gen_random_uuid()`).notNull(),
createdAt: timestamp().notNull().defaultNow(),
updatedAt: timestamp().notNull().defaultNow(),
name: text().notNull(),
});
export const avatarsRelations = relations(avatars, ({ many }) => ({
friends: many(avatarsToFriends),
}));
export const avatarsToFriends = pgTable(
'avatars_to_friends',
{
avatarId: text()
.notNull()
.references(() => avatars.id),
friendId: text()
.notNull()
.references(() => avatars.id),
},
(t) => ({
pk: primaryKey({ columns: [t.avatarId, t.friendId] }),
}),
);
export const avatarsToFriendsRelations = relations(avatarsToFriends, ({ one }) => ({
friend: one(avatars, {
fields: [avatarsToFriends.friendId],
references: [avatars.id],
}),
avatar: one(avatars, {
fields: [avatarsToFriends.avatarId],
references: [avatars.id]
}),
}));
xport const avatars = pgTable("avatars", {
id: text().primaryKey().default(sql`gen_random_uuid()`).notNull(),
createdAt: timestamp().notNull().defaultNow(),
updatedAt: timestamp().notNull().defaultNow(),
name: text().notNull(),
});
export const avatarsRelations = relations(avatars, ({ many }) => ({
friends: many(avatarsToFriends),
}));
export const avatarsToFriends = pgTable(
'avatars_to_friends',
{
avatarId: text()
.notNull()
.references(() => avatars.id),
friendId: text()
.notNull()
.references(() => avatars.id),
},
(t) => ({
pk: primaryKey({ columns: [t.avatarId, t.friendId] }),
}),
);
export const avatarsToFriendsRelations = relations(avatarsToFriends, ({ one }) => ({
friend: one(avatars, {
fields: [avatarsToFriends.friendId],
references: [avatars.id],
}),
avatar: one(avatars, {
fields: [avatarsToFriends.avatarId],
references: [avatars.id]
}),
}));