import { Permission } from 'src/enum'; import { Column, ColumnIndex, CreateDateColumn, ForeignKeyColumn, PrimaryGeneratedColumn, Table, UpdateDateColumn, UpdateIdColumn, } from 'src/sql-tools'; import { UserTable } from 'src/tables/user.table'; @Table('api_keys') export class APIKeyTable { @PrimaryGeneratedColumn() id!: string; @Column() name!: string; @Column() key!: string; @Column({ array: true, type: 'character varying' }) permissions!: Permission[]; @CreateDateColumn() createdAt!: Date; @UpdateDateColumn() updatedAt!: Date; @ColumnIndex({ name: 'IDX_api_keys_update_id' }) @UpdateIdColumn() updateId?: string; @ForeignKeyColumn(() => UserTable, { onUpdate: 'CASCADE', onDelete: 'CASCADE' }) userId!: string; }