Files
dh-inspeccion-v2/api-v3/src/database/entities/user-role.entity.ts
T

36 lines
881 B
TypeScript

import {
Column,
Entity,
Index,
JoinColumn,
ManyToOne,
PrimaryColumn,
} from 'typeorm';
import { Role } from './role.entity';
import { User } from './user.entity';
@Entity({ name: 'user_roles' })
@Index('idx_user_roles_user_id', ['userId'])
@Index('idx_user_roles_role_id', ['roleId'])
export class UserRole {
@PrimaryColumn({ name: 'user_id', type: 'uuid' })
userId!: string;
@PrimaryColumn({ name: 'role_id', type: 'uuid' })
roleId!: string;
@Column({ name: 'assigned_at', type: 'timestamptz', default: () => 'CURRENT_TIMESTAMP' })
assignedAt!: Date;
@Column({ name: 'assigned_by', type: 'uuid', nullable: true })
assignedBy!: string | null;
@ManyToOne(() => User, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'user_id' })
user!: User;
@ManyToOne(() => Role, { onDelete: 'RESTRICT' })
@JoinColumn({ name: 'role_id' })
role!: Role;
}