20 lines
743 B
TypeScript
20 lines
743 B
TypeScript
import { createId } from "@paralleldrive/cuid2";
|
|
import { relations } from "drizzle-orm";
|
|
import { pgTable, text, timestamp, varchar } from "drizzle-orm/pg-core";
|
|
import { permissionsToRoles } from "./permissionsToRoles";
|
|
|
|
export const rolesSchema = pgTable("roles", {
|
|
id: varchar("id", { length: 50 })
|
|
.primaryKey()
|
|
.$defaultFn(() => createId()),
|
|
code: varchar("code", { length: 50 }).notNull().unique(),
|
|
name: varchar("name", { length: 255 }).notNull(),
|
|
description: varchar("description", { length: 255 }),
|
|
createdAt: timestamp("createdAt").defaultNow(),
|
|
updatedAt: timestamp("updatedAt").defaultNow(),
|
|
});
|
|
|
|
export const rolesRelations = relations(rolesSchema, ({ many }) => ({
|
|
permissionsToRoles: many(permissionsToRoles),
|
|
}));
|