28 lines
710 B
TypeScript
28 lines
710 B
TypeScript
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;
|
|
} |