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

24 lines
829 B
TypeScript

import { createId } from "@paralleldrive/cuid2";
import { relations } from "drizzle-orm";
import { pgTable, text, timestamp, varchar } from "drizzle-orm/pg-core";
import { permissionsToUsers } from "./permissionsToUsers";
import { permissionsToRoles } from "./permissionsToRoles";
export const permissionsSchema = pgTable("permissions", {
id: varchar("id", { length: 50 })
.primaryKey()
.$defaultFn(() => createId()),
code: varchar("code", { length: 50 }).notNull().unique(),
description: varchar("description", { length: 255 }),
createdAt: timestamp("createdAt").defaultNow(),
updatedAt: timestamp("updatedAt").defaultNow(),
});
export const permissionsRelations = relations(
permissionsSchema,
({ many }) => ({
permissionsToUsers: many(permissionsToUsers),
permissionsToRoles: many(permissionsToRoles),
})
);