Validation_Suite/validation-suite/backend/mercury/app/models/document.py

26 lines
759 B
Python

from __future__ import annotations
import enum
from sqlalchemy import Enum, String
from sqlalchemy.orm import Mapped, mapped_column
from app.db.base import Base, TimestampMixin, UUIDMixin
class DocumentOwnerType(str, enum.Enum):
customer = "customer"
device = "device"
validation = "validation"
equipment = "equipment"
class Document(Base, UUIDMixin, TimestampMixin):
__tablename__ = "documents"
owner_type: Mapped[DocumentOwnerType] = mapped_column(Enum(DocumentOwnerType), index=True)
owner_id: Mapped[str] = mapped_column(String(80), index=True)
filename: Mapped[str] = mapped_column(String(255))
content_type: Mapped[str] = mapped_column(String(120))
storage_path: Mapped[str] = mapped_column(String(500))