mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
SQLModel ORM layer for magic_plan_plan/floor/room/window/door tables 🟩
This commit is contained in:
parent
bbcde75b8e
commit
7ff7e90307
1 changed files with 52 additions and 0 deletions
52
backend/app/db/models/magic_plan.py
Normal file
52
backend/app/db/models/magic_plan.py
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
from sqlmodel import Field, SQLModel
|
||||||
|
|
||||||
|
|
||||||
|
class MagicPlanPlan(SQLModel, table=True):
|
||||||
|
__tablename__ = "magic_plan_plan"
|
||||||
|
|
||||||
|
id: Optional[int] = Field(default=None, primary_key=True)
|
||||||
|
magic_plan_uid: Optional[str] = Field(default=None, unique=True, index=True)
|
||||||
|
name: Optional[str] = None
|
||||||
|
address: Optional[str] = None
|
||||||
|
postcode: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
|
class MagicPlanFloor(SQLModel, table=True):
|
||||||
|
__tablename__ = "magic_plan_floor"
|
||||||
|
|
||||||
|
id: Optional[int] = Field(default=None, primary_key=True)
|
||||||
|
magic_plan_plan_id: int = Field(foreign_key="magic_plan_plan.id")
|
||||||
|
level: Optional[int] = None
|
||||||
|
|
||||||
|
|
||||||
|
class MagicPlanRoom(SQLModel, table=True):
|
||||||
|
__tablename__ = "magic_plan_room"
|
||||||
|
|
||||||
|
id: Optional[int] = Field(default=None, primary_key=True)
|
||||||
|
magic_plan_floor_id: int = Field(foreign_key="magic_plan_floor.id")
|
||||||
|
name: Optional[str] = None
|
||||||
|
width_m: Optional[float] = None
|
||||||
|
length_m: Optional[float] = None
|
||||||
|
area_m2: Optional[float] = None
|
||||||
|
|
||||||
|
|
||||||
|
class MagicPlanWindow(SQLModel, table=True):
|
||||||
|
__tablename__ = "magic_plan_window"
|
||||||
|
|
||||||
|
id: Optional[int] = Field(default=None, primary_key=True)
|
||||||
|
magic_plan_room_id: int = Field(foreign_key="magic_plan_room.id")
|
||||||
|
width_m: Optional[float] = None
|
||||||
|
height_m: Optional[float] = None
|
||||||
|
area_m2: Optional[float] = None
|
||||||
|
opening_type: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
|
class MagicPlanDoor(SQLModel, table=True):
|
||||||
|
__tablename__ = "magic_plan_door"
|
||||||
|
|
||||||
|
id: Optional[int] = Field(default=None, primary_key=True)
|
||||||
|
magic_plan_room_id: int = Field(foreign_key="magic_plan_room.id")
|
||||||
|
width_mm: Optional[float] = None
|
||||||
|
type: Optional[str] = None
|
||||||
Loading…
Add table
Reference in a new issue