mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-12 01:37:40 +02:00
112 lines
3.1 KiB
TypeScript
112 lines
3.1 KiB
TypeScript
import { relations } from "drizzle-orm/relations";
|
|
import { suppliers, dlcProducts, users, groups, tasks, publicities, publicityParticipations, roles, rolePermissions, permissions, userRoles } from "./schema";
|
|
|
|
export const dlcProductsRelations = relations(dlcProducts, ({one}) => ({
|
|
supplier: one(suppliers, {
|
|
fields: [dlcProducts.supplierId],
|
|
references: [suppliers.id]
|
|
}),
|
|
user_validatedBy: one(users, {
|
|
fields: [dlcProducts.validatedBy],
|
|
references: [users.id],
|
|
relationName: "dlcProducts_validatedBy_users_id"
|
|
}),
|
|
group: one(groups, {
|
|
fields: [dlcProducts.groupId],
|
|
references: [groups.id]
|
|
}),
|
|
user_createdBy: one(users, {
|
|
fields: [dlcProducts.createdBy],
|
|
references: [users.id],
|
|
relationName: "dlcProducts_createdBy_users_id"
|
|
}),
|
|
}));
|
|
|
|
export const suppliersRelations = relations(suppliers, ({many}) => ({
|
|
dlcProducts: many(dlcProducts),
|
|
}));
|
|
|
|
export const usersRelations = relations(users, ({many}) => ({
|
|
dlcProducts_validatedBy: many(dlcProducts, {
|
|
relationName: "dlcProducts_validatedBy_users_id"
|
|
}),
|
|
dlcProducts_createdBy: many(dlcProducts, {
|
|
relationName: "dlcProducts_createdBy_users_id"
|
|
}),
|
|
tasks_completedBy: many(tasks, {
|
|
relationName: "tasks_completedBy_users_id"
|
|
}),
|
|
tasks_createdBy: many(tasks, {
|
|
relationName: "tasks_createdBy_users_id"
|
|
}),
|
|
userRoles: many(userRoles),
|
|
}));
|
|
|
|
export const groupsRelations = relations(groups, ({many}) => ({
|
|
dlcProducts: many(dlcProducts),
|
|
tasks: many(tasks),
|
|
publicityParticipations: many(publicityParticipations),
|
|
}));
|
|
|
|
export const tasksRelations = relations(tasks, ({one}) => ({
|
|
user_completedBy: one(users, {
|
|
fields: [tasks.completedBy],
|
|
references: [users.id],
|
|
relationName: "tasks_completedBy_users_id"
|
|
}),
|
|
group: one(groups, {
|
|
fields: [tasks.groupId],
|
|
references: [groups.id]
|
|
}),
|
|
user_createdBy: one(users, {
|
|
fields: [tasks.createdBy],
|
|
references: [users.id],
|
|
relationName: "tasks_createdBy_users_id"
|
|
}),
|
|
}));
|
|
|
|
export const publicityParticipationsRelations = relations(publicityParticipations, ({one}) => ({
|
|
publicity: one(publicities, {
|
|
fields: [publicityParticipations.publicityId],
|
|
references: [publicities.id]
|
|
}),
|
|
group: one(groups, {
|
|
fields: [publicityParticipations.groupId],
|
|
references: [groups.id]
|
|
}),
|
|
}));
|
|
|
|
export const publicitiesRelations = relations(publicities, ({many}) => ({
|
|
publicityParticipations: many(publicityParticipations),
|
|
}));
|
|
|
|
export const rolePermissionsRelations = relations(rolePermissions, ({one}) => ({
|
|
role: one(roles, {
|
|
fields: [rolePermissions.roleId],
|
|
references: [roles.id]
|
|
}),
|
|
permission: one(permissions, {
|
|
fields: [rolePermissions.permissionId],
|
|
references: [permissions.id]
|
|
}),
|
|
}));
|
|
|
|
export const rolesRelations = relations(roles, ({many}) => ({
|
|
rolePermissions: many(rolePermissions),
|
|
userRoles: many(userRoles),
|
|
}));
|
|
|
|
export const permissionsRelations = relations(permissions, ({many}) => ({
|
|
rolePermissions: many(rolePermissions),
|
|
}));
|
|
|
|
export const userRolesRelations = relations(userRoles, ({one}) => ({
|
|
user: one(users, {
|
|
fields: [userRoles.userId],
|
|
references: [users.id]
|
|
}),
|
|
role: one(roles, {
|
|
fields: [userRoles.roleId],
|
|
references: [roles.id]
|
|
}),
|
|
})); |