import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn } from 'typeorm';
export enum GiftCardStatus { ACTIVE = 'active', REDEEMED = 'redeemed', EXPIRED = 'expired' }
@Entity('gift_cards')
export class GiftCard {
@PrimaryGeneratedColumn('uuid') id: string;
@Column({ unique: true }) code: string;
@Column({ type: 'decimal', precision: 10, scale: 2 }) balance: number;
@Column({ type: 'decimal', precision: 10, scale: 2 }) initialAmount: number;
@Column({ default: 'USD' }) currency: string;
@Column() type: string;
@Column({ type: 'enum', enum: GiftCardStatus, default: GiftCardStatus.ACTIVE }) status: GiftCardStatus;
@Column({ nullable: true }) senderId: string;
@Column({ nullable: true }) recipientId: string;
@Column({ nullable: true }) recipientEmail: string;
@Column({ nullable: true }) message: string;
@Column({ nullable: true }) expiresAt: Date;
@CreateDateColumn() createdAt: Date;
}