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

21 lines
834 B
Python

from __future__ import annotations
from sqlalchemy import ForeignKey, String
from sqlalchemy.orm import Mapped, mapped_column, relationship
from app.db.base import Base, TimestampMixin, UUIDMixin
class Location(Base, UUIDMixin, TimestampMixin):
__tablename__ = "locations"
customer_id: Mapped[str] = mapped_column(ForeignKey("customers.id", ondelete="CASCADE"), index=True)
name: Mapped[str] = mapped_column(String(160))
street: Mapped[str | None] = mapped_column(String(220))
postal_code: Mapped[str | None] = mapped_column(String(20))
city: Mapped[str | None] = mapped_column(String(120))
room: Mapped[str | None] = mapped_column(String(120))
customer: Mapped["Customer"] = relationship(back_populates="locations")
devices: Mapped[list["Device"]] = relationship(back_populates="location")