251206:1710 specs: frontend plan P1,P3 wait Verification
This commit is contained in:
38
backend/src/common/auth/entities/refresh-token.entity.ts
Normal file
38
backend/src/common/auth/entities/refresh-token.entity.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import {
|
||||
Entity,
|
||||
Column,
|
||||
PrimaryGeneratedColumn,
|
||||
CreateDateColumn,
|
||||
ManyToOne,
|
||||
JoinColumn,
|
||||
} from 'typeorm';
|
||||
import { User } from '../../../modules/user/entities/user.entity';
|
||||
|
||||
@Entity('refresh_tokens')
|
||||
export class RefreshToken {
|
||||
@PrimaryGeneratedColumn({ name: 'token_id' })
|
||||
tokenId!: number;
|
||||
|
||||
@Column({ name: 'user_id' })
|
||||
userId!: number;
|
||||
|
||||
@Column({ name: 'token_hash', length: 255 })
|
||||
tokenHash!: string;
|
||||
|
||||
@Column({ name: 'expires_at' })
|
||||
expiresAt!: Date;
|
||||
|
||||
@Column({ name: 'is_revoked', default: false })
|
||||
isRevoked!: boolean;
|
||||
|
||||
@CreateDateColumn({ name: 'created_at' })
|
||||
createdAt!: Date;
|
||||
|
||||
@Column({ name: 'replaced_by_token', nullable: true, length: 255 })
|
||||
replacedByToken?: string; // For rotation support
|
||||
|
||||
// Relations
|
||||
@ManyToOne(() => User, { onDelete: 'CASCADE' })
|
||||
@JoinColumn({ name: 'user_id' })
|
||||
user?: User;
|
||||
}
|
||||
Reference in New Issue
Block a user