UNPKG

@coursebuilder/adapter-drizzle

Version:

Drizzle adapter for Course Builder.

78 lines (76 loc) 2.04 kB
import { getRolesSchema } from "./chunk-LPJ2P2KJ.js"; import { getPermissionsSchema } from "./chunk-LZHZDFNZ.js"; import { __name } from "./chunk-H736K5TN.js"; // src/lib/mysql/schemas/auth/role-permissions.ts import { relations } from "drizzle-orm"; import { boolean, index, primaryKey, timestamp, varchar } from "drizzle-orm/mysql-core"; function getRolePermissionsSchema(mysqlTable) { return mysqlTable("RolePermission", { roleId: varchar("roleId", { length: 255 }).notNull(), permissionId: varchar("permissionId", { length: 255 }).notNull(), active: boolean("active").notNull().default(true), createdAt: timestamp("createdAt", { mode: "date", fsp: 3 }).defaultNow(), updatedAt: timestamp("updatedAt", { mode: "date", fsp: 3 }).defaultNow(), deletedAt: timestamp("deletedAt", { mode: "date", fsp: 3 }) }, (rp) => ({ pk: primaryKey({ columns: [ rp.roleId, rp.permissionId ] }), roleIdIdx: index("roleId_idx").on(rp.roleId), permissionIdIdx: index("permissionId_idx").on(rp.permissionId) })); } __name(getRolePermissionsSchema, "getRolePermissionsSchema"); function getRolePermissionsRelationsSchema(mysqlTable) { const permissions = getPermissionsSchema(mysqlTable); const roles = getRolesSchema(mysqlTable); const rolePermissions = getRolePermissionsSchema(mysqlTable); return relations(rolePermissions, ({ one }) => ({ role: one(roles, { fields: [ rolePermissions.roleId ], references: [ roles.id ], relationName: "role" }), permission: one(permissions, { fields: [ rolePermissions.permissionId ], references: [ permissions.id ], relationName: "permission" }) })); } __name(getRolePermissionsRelationsSchema, "getRolePermissionsRelationsSchema"); export { getRolePermissionsSchema, getRolePermissionsRelationsSchema }; //# sourceMappingURL=chunk-3GONHHMY.js.map