import { Entity, PrimaryColumn, Column, Index, ManyToOne, JoinColumn } from 'typeorm'; import { UserEntity } from './user.entity'; @Entity('refresh_token') export class RefreshTokenEntity { @PrimaryColumn('text') id!: string; @Index() @Column('text', { name: 'user_id' }) userId!: string; @ManyToOne(() => UserEntity, { onDelete: 'CASCADE' }) @JoinColumn({ name: 'user_id' }) user?: UserEntity; @Column('text', { name: 'token_hash', unique: true }) tokenHash!: string; @Column('text', { name: 'issued_at' }) issuedAt!: string; @Column('text', { name: 'expires_at' }) expiresAt!: string; @Column('text', { name: 'revoked_at', nullable: true }) revokedAt!: string | null; }