import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn, Unique } from 'typeorm'

@Entity('payment_links')
@Unique(['invoiceId'])
export class PaymentLink {
	@PrimaryGeneratedColumn()
	id: number

	@Column({ nullable: false, default: 'mips' })
	provider: string // e.g., 'mips'

	@Column({ nullable: false })
	invoiceId: string

	@Column({ nullable: false })
	url: string

	@Column({ type: 'decimal', precision: 10, scale: 2, nullable: false })
	amount: number

	@Column({ nullable: false, default: 'MUR' })
	currency: string

	@Column({ default: false })
	used: boolean

  @Column({ nullable: true })
  expiresAt: Date;

	@Column({ nullable: true })
	usedAt: Date

	@CreateDateColumn()
	createdAt: Date

	@UpdateDateColumn()
	updatedAt: Date
}
