How to connect the relationships between user, roles and permissions?
I try to figure out how to create a tables (user, role and permissions) with relationships and make the an example how to use them.
const users = pgTable("users", {
id: serial("id").primaryKey(),
name: text("name").notNull(),
email: text("email").notNull(),
password: text("password").notNull(),
});
const roles = pgTable("roles", {
id: serial("id").primaryKey(),
name: text("name").notNull(),
});
const permissions = pgTable("permissions", {
id: serial("id").primaryKey(),
name: text("name").notNull(),
});
const usersRelations = relations(users, ({ one, many }) => ({
role: one(roles, {
fields: [users.id],
references: [roles.userId],
}),
permissions: many(permissions, (join) => join.through(userRoles)),
}));