This commit is contained in:
Bastian Wagner
2026-07-20 17:01:16 +02:00
parent 2f84a109e8
commit aa7758c9dd
38 changed files with 1129 additions and 134 deletions

View File

@@ -0,0 +1,46 @@
import {
Column,
CreateDateColumn,
Entity,
Index,
PrimaryGeneratedColumn,
Unique,
UpdateDateColumn,
} from 'typeorm';
export enum UserRoleAssignmentSource {
Manual = 'MANUAL',
Oidc = 'OIDC',
System = 'SYSTEM',
}
@Entity('user_role_assignments')
@Unique('uq_user_role_assignments_source', ['userId', 'roleId', 'source'])
@Index('idx_user_role_assignments_user', ['userId'])
export class UserRoleAssignmentEntity {
@PrimaryGeneratedColumn('uuid')
id!: string;
@Column({ name: 'user_id', type: 'char', length: 36 })
userId!: string;
@Column({ name: 'role_id', type: 'char', length: 36 })
roleId!: string;
@Column({ type: 'varchar', length: 20 })
source!: UserRoleAssignmentSource;
@Column({
name: 'last_synchronized_at',
type: 'datetime',
precision: 3,
nullable: true,
})
lastSynchronizedAt!: Date | null;
@CreateDateColumn({ name: 'created_at', type: 'datetime', precision: 3 })
createdAt!: Date;
@UpdateDateColumn({ name: 'updated_at', type: 'datetime', precision: 3 })
updatedAt!: Date;
}