21 lines
834 B
Python
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")
|
|
|