from __future__ import annotations from sqlalchemy import FetchedValue from sqlalchemy.orm import Mapped, mapped_column from bid_doctor.core.columns import PK, DbTs, Ts, UuidCol from bid_doctor.core.db import Base class Feedback(Base): """误报 / 漏报(J5):用户写,运营后台处理。致命问题「确认无误」的说明也自动进来(U4)。""" __tablename__ = "feedback" id: Mapped[PK] tenant_id: Mapped[UuidCol] project_id: Mapped[UuidCol] object_type: Mapped[str] object_id: Mapped[UuidCol | None] kind: Mapped[str] source: Mapped[str] note: Mapped[str | None] status: Mapped[str] = mapped_column(server_default=FetchedValue()) handled_by_ops: Mapped[UuidCol | None] handled_at: Mapped[Ts | None] created_by: Mapped[UuidCol] created_at: Mapped[DbTs] updated_at: Mapped[DbTs]