amati/apps/backend/src/drizzle/schema/permissionsToRoles.ts
2024-05-04 04:03:40 +07:00

36 lines
875 B
TypeScript

import { pgTable, primaryKey, text } from "drizzle-orm/pg-core";
import { permissionsSchema } from "./permissions";
import { relations } from "drizzle-orm";
import { rolesSchema } from "./roles";
export const permissionsToRoles = pgTable(
"permissions_to_roles",
{
roleId: text("roleId")
.notNull()
.references(() => rolesSchema.id),
permissionId: text("permissionId")
.notNull()
.references(() => permissionsSchema.id),
},
(table) => ({
pk: primaryKey({
columns: [table.roleId, table.permissionId],
}),
})
);
export const permissionsToRolesRelations = relations(
permissionsToRoles,
({ one }) => ({
role: one(rolesSchema, {
fields: [permissionsToRoles.roleId],
references: [rolesSchema.id],
}),
permission: one(permissionsSchema, {
fields: [permissionsToRoles.permissionId],
references: [permissionsSchema.id],
}),
})
);