| 123456789101112131415161718192021222324252627282930 |
- import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';
- import { Permission } from './role.schema';
- @Entity({ name: 'role' })
- export class Role {
- @PrimaryGeneratedColumn()
- id!: number;
- @Column({ type: 'varchar', length: 50, unique: true })
- name!: string;
- @Column({ type: 'text', nullable: true })
- description!: string | null;
- @Column({ type: 'simple-array', nullable: false })
- permissions: Permission[] = [];
- @CreateDateColumn({ name: 'created_at', type: 'timestamp' })
- createdAt!: Date;
- @UpdateDateColumn({ name: 'updated_at', type: 'timestamp' })
- updatedAt!: Date;
- constructor(partial?: Partial<Role>) {
- Object.assign(this, partial);
- if (!this.permissions) {
- this.permissions = [];
- }
- }
- }
|