amati/apps/backend/src/drizzle/schema/permissionsToUsers.ts

36 lines
892 B
TypeScript

import { pgTable, primaryKey, varchar } from "drizzle-orm/pg-core";
import { users } from "./users";
import { permissionsSchema } from "./permissions";
import { relations } from "drizzle-orm";
export const permissionsToUsers = pgTable(
"permissions_to_users",
{
userId: varchar("userId", { length: 50 })
.notNull()
.references(() => users.id),
permissionId: varchar("permissionId", { length: 50 })
.notNull()
.references(() => permissionsSchema.id),
},
(table) => ({
pk: primaryKey({
columns: [table.userId, table.permissionId],
}),
})
);
export const permissionsToUsersRelations = relations(
permissionsToUsers,
({ one }) => ({
user: one(users, {
fields: [permissionsToUsers.userId],
references: [users.id],
}),
permission: one(permissionsSchema, {
fields: [permissionsToUsers.permissionId],
references: [permissionsSchema.id],
}),
})
);