"""Минимальные модели для notifier-воркера.""" from datetime import datetime from sqlalchemy import JSON, ForeignKey, Integer, String, Text, func from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column class Base(DeclarativeBase): pass class User(Base): __tablename__ = "users" id: Mapped[int] = mapped_column(Integer, primary_key=True) email: Mapped[str] = mapped_column(String(255)) name: Mapped[str] = mapped_column(String(255)) plan: Mapped[str] = mapped_column(String(20), default="free") is_verified: Mapped[bool] = mapped_column(default=False) class Task(Base): __tablename__ = "tasks" id: Mapped[str] = mapped_column(String(36), primary_key=True) user_id: Mapped[int] = mapped_column(ForeignKey("users.id")) type: Mapped[str] = mapped_column(String(20)) status: Mapped[str] = mapped_column(String(20)) input_data: Mapped[dict | None] = mapped_column(JSON, nullable=True) result: Mapped[dict | None] = mapped_column(JSON, nullable=True) error: Mapped[str | None] = mapped_column(Text, nullable=True) created_at: Mapped[datetime] = mapped_column(server_default=func.now())