feat: add manual revision and dashboard list apis

This commit is contained in:
afei A
2026-03-27 23:38:50 +08:00
parent d02fc8565f
commit eeaff269eb
24 changed files with 1950 additions and 64 deletions

View File

@@ -1,8 +1,10 @@
"""Asset ORM model."""
from __future__ import annotations
from typing import Any
from sqlalchemy import Enum, ForeignKey, Integer, JSON, String
from sqlalchemy import Boolean, Enum, ForeignKey, Integer, JSON, String
from sqlalchemy.orm import Mapped, mapped_column, relationship
from app.domain.enums import AssetType, WorkflowStepName
@@ -24,8 +26,15 @@ class AssetORM(TimestampMixin, Base):
Enum(WorkflowStepName, native_enum=False),
nullable=True,
)
parent_asset_id: Mapped[int | None] = mapped_column(
ForeignKey("assets.id"),
nullable=True,
index=True,
)
root_asset_id: Mapped[int | None] = mapped_column(Integer, nullable=True, index=True)
version_no: Mapped[int] = mapped_column(Integer, nullable=False, default=0)
is_current_version: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False)
uri: Mapped[str] = mapped_column(String(500), nullable=False)
metadata_json: Mapped[dict[str, Any] | None] = mapped_column(JSON, nullable=True)
order = relationship("OrderORM", back_populates="assets")