mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
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
|