Coverage for app/models/Grid.py: 100%
12 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-16 20:06 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-16 20:06 +0000
1import uuid
3from sqlalchemy import UUID, CheckConstraint, ForeignKey, Integer
4from sqlalchemy.orm import Mapped, mapped_column, relationship
6from app.models.Base import Base
9class Grid(Base):
10 __tablename__ = "grid"
12 id: Mapped[uuid.UUID] = mapped_column(
13 UUID(as_uuid=True),
14 primary_key=True,
15 default=uuid.uuid4,
16 )
17 x: Mapped[int] = mapped_column(
18 Integer,
19 nullable=False,
20 )
21 y: Mapped[int] = mapped_column(
22 Integer,
23 nullable=False,
24 )
26 probe_id: Mapped[uuid.UUID] = mapped_column(
27 UUID(as_uuid=True), ForeignKey("probe.id"), unique=True, nullable=False
28 )
29 probe: Mapped["Probe"] = relationship("Probe", back_populates="grid") # type: ignore # noqa: F821
31 __table_args__ = (
32 CheckConstraint("x >= 0", name="check_valid_grid_x_position"),
33 CheckConstraint("y >= 0", name="check_valid_grid_y_position"),
34 )