import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, Index } from 'typeorm';

@Entity('feature_analytics')
export class FeatureAnalytics {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ type: 'varchar', length: 255, name: 'feature_name' })
  @Index()
  featureName: string;

  @Column({ type: 'varchar', length: 255, name: 'user_ip' })
  userIp: string;

  @Column({ type: 'varchar', length: 255, name: 'user_agent' })
  userAgent: string;

  @Column({ type: 'json', name: 'geo_details', nullable: true })
  geoDetails: Record<string, any>;

  @Column({ type: 'json', nullable: true })
  metadata: Record<string, any>;

  @CreateDateColumn()
  timestamp: Date;
}
