""" SQLAlchemy models for the URL Blink application. """ from sqlalchemy import Column, Integer, String, Text, DateTime, JSON from sqlalchemy.sql import func from database import Base class BlinkData(Base): """ Model for storing decrypted blink data. Attributes: id: Primary key user_id: User identifier (first 20 chars from URL param) refer_url: Referer URL from request header json_data: Decrypted JSON data created_at: Timestamp of record creation """ __tablename__ = "blink_data" id = Column(Integer, primary_key=True, autoincrement=True, index=True) user_id = Column(String(20), index=True, nullable=False) refer_url = Column(Text, nullable=True) ip_address = Column(String(45), nullable=True) # IPv6 can be up to 45 chars json_data = Column(JSON, nullable=True) created_at = Column(DateTime(timezone=True), server_default=func.now()) def __repr__(self): return f""