import { Column, CreateDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'; import { ApiProperty } from '@nestjs/swagger'; import { User } from './user.entity'; @Entity() export class RefCode { @PrimaryGeneratedColumn() @ApiProperty() id: number; @Column({ unique: true }) @ApiProperty() code: string; @Column() @ApiProperty() ownerUid: string; @ManyToOne(() => User, user => user.refCodes, { onDelete: 'CASCADE' }) @ApiProperty({ type: () => User }) owner: User; @Column({ default: false }) @ApiProperty() isPermanent: boolean; @Column({ default: false }) @ApiProperty() isUsed: boolean; @CreateDateColumn() @ApiProperty() createdAt: string; } @Entity() export class RefCodeWhiteList { @PrimaryGeneratedColumn() @ApiProperty() id: number; @Column({ unique: true, type: 'bigint' }) @Index({ unique: true }) @ApiProperty() telegramId: number; @Column({ unique: true }) @ApiProperty() code: string; @CreateDateColumn() @ApiProperty() createdAt: string; }