role.entity.ts 788 B

123456789101112131415161718192021222324252627282930
  1. import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';
  2. import { Permission } from './role.schema';
  3. @Entity({ name: 'role' })
  4. export class Role {
  5. @PrimaryGeneratedColumn()
  6. id!: number;
  7. @Column({ type: 'varchar', length: 50, unique: true })
  8. name!: string;
  9. @Column({ type: 'text', nullable: true })
  10. description!: string | null;
  11. @Column({ type: 'simple-array', nullable: false })
  12. permissions: Permission[] = [];
  13. @CreateDateColumn({ name: 'created_at', type: 'timestamp' })
  14. createdAt!: Date;
  15. @UpdateDateColumn({ name: 'updated_at', type: 'timestamp' })
  16. updatedAt!: Date;
  17. constructor(partial?: Partial<Role>) {
  18. Object.assign(this, partial);
  19. if (!this.permissions) {
  20. this.permissions = [];
  21. }
  22. }
  23. }