from sqlalchemy import Column, String, Float, Boolean, DateTime, ForeignKey, Integer, Date from sqlalchemy.dialects.postgresql import UUID from datetime import datetime from app.database import Base import uuid class UserCredit(Base): __tablename__ = "user_credits" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) user_id = Column(UUID(as_uuid=True), ForeignKey("users.id"), nullable=False, unique=True, index=True) balance = Column(Float, default=0) total_purchased = Column(Float, default=0) total_used = Column(Float, default=0) subscription_plan_id = Column(UUID(as_uuid=True), ForeignKey("subscription_plans.id"), nullable=True) subscription_expires_at = Column(DateTime, nullable=True) subscription_auto_renew = Column(Boolean, default=False) free_trial_used = Column(Boolean, default=False) daily_translate_chars = Column(Integer, default=0) daily_translate_date = Column(Date, nullable=True) created_at = Column(DateTime, default=datetime.utcnow) updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)