import {
  BaseEntity,
  Column,
  Entity,
  PrimaryGeneratedColumn,
  Index,
} from "typeorm";

@Entity({ name: "TokenBlacklist" })
export class TokenBlacklist extends BaseEntity {
  @PrimaryGeneratedColumn("uuid")
  id: string;

  @Index()
  @Column({ name: "token", type: "varchar", length: 1000 })
  token: string;

  @Column({ name: "userId" })
  userId: string;

  @Column({ name: "expiresAt", type: "timestamp" })
  expiresAt: Date;

  @Column({ name: "reason", nullable: true })
  reason: string;

  @Column({
    name: "created_at",
    type: "timestamp",
    default: () => "CURRENT_TIMESTAMP",
  })
  created_at: Date;
}
