From 333cf1d68b881934f0083f95028c71fb8ec09286 Mon Sep 17 00:00:00 2001 From: MrWaradana Date: Tue, 4 Mar 2025 13:00:58 +0700 Subject: [PATCH] refactor: equipment master join equipment tree --- .../__pycache__/schema.cpython-311.pyc | Bin 10736 -> 10736 bytes .../__pycache__/model.cpython-311.pyc | Bin 2405 -> 2606 bytes .../__pycache__/schema.cpython-311.pyc | Bin 2828 -> 3307 bytes src/equipment_master/model.py | 11 +++++++---- src/equipment_master/schema.py | 14 ++++++++++---- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/equipment/__pycache__/schema.cpython-311.pyc b/src/equipment/__pycache__/schema.cpython-311.pyc index 8e257be96cee90194a9d2b951a1b855e66540058..e9461c1c50e6e6f3b759f2a026b25331c1b03182 100644 GIT binary patch delta 20 acmewm{2`coIWI340}yX* z^KvS0v6mL7=42L^_-Tqx{=s}i;1(aM8I$+01Twa6=3|Xz)cwH0Af_}S<_3rO4PNmZ zB2hO4MQ;d*e&A*kWBbSeB)))%20suiGMQY+mc?460JM7YD>hjH6(FNX6-20k2#v|& z?6PuNAf_>hFaZ&!AVL8~SWFILcVPodC`_Ki-YXB5K~?>W!zMRBr8FniuE=(>2gi0D ebw;)i44A}(lo>uBLE>K!k|C3|In7u=<^uqW{C%GQ delta 272 zcmZ1{@>Ga#IWI340}yCgC#KJ4-^iE6$hcs0CF6WXwiJP222H`qcFfnA{WL`;PhmMS zIfFHjF>doN)>uZi29E}hBK^rO>{&LqcwGxiGYfK4^GZUBQd4gU<`&1N!bIXrfI@CX z5WA4C{{2qPF_I$4^-g$*oWG&z-{R~{^b xs`?j)O>TZlX-=wLk>zAT&h0w#jBFnmFo_8%GkiXR#J?aU{U(3mG-Cmo4*-GEL?ZwI diff --git a/src/equipment_master/__pycache__/schema.cpython-311.pyc b/src/equipment_master/__pycache__/schema.cpython-311.pyc index bdbe183051d38a3c870e7cca2225ff014c8fa2b8..18e3728d77274d61f2ba3de1c77fa38593fe1c72 100644 GIT binary patch delta 837 zcmZXSO=}ZD7{_P!J-gXW($q8wB_{0#n#8s$zF-gRE;**aKEstJZiJ(wxbo@ZzJ0GYA8bL1=)kyislN7^W!aW8%Pw zrqUQ9aIAhGu>0R5KIpD^BTv|EC6(kHe0q(*k4TX0woB+V%3v8d0%NtU^ATlTCs8Jgx*9wb6Ds^ z)xxSLfn!0Q73k?v9daJ=7A}jWdxOo9XL_vHpuILyo=Ayz1tS$0&#yv?zgztkuqRVWzl*nl&v}Vn?vY`U+=o{%NmXJ}FVr{Fhk`QfjmW5kX5s5H7-dHMHqmQ)3WvmWE~> zf+!ptqov89DJYs+S`4DOd!9m62hNX=?>qP21NYrNvGlH{F~aLsYwUOYZ9O6kNIQG# zsvRF87rckHs|&;x9JNEa%X{P+0$C@Hc1#@g--(cy={z%B<J^ z49Zd=pzwsjo>W?3Ke_97f;B$sYOemvW#~ErUr%W!;7dwER<5oZO_STrafG*#gvvt5 zh!jFZq!BZSNkj&bg|0krBv2xvyj#!kCa?5L!6a3R7zDf&>MX)$Q6kcC#L5z?t=t&g zu)31>ro0?7%Cx!2C4NWifOFuZl)l1_au1tozABPv>MYt%EkD?mN4wG|*1#{(!hrlo PKU(}i`*W1Rm0JA<(uZG) diff --git a/src/equipment_master/model.py b/src/equipment_master/model.py index d396928..f9d64ba 100644 --- a/src/equipment_master/model.py +++ b/src/equipment_master/model.py @@ -44,10 +44,13 @@ class EquipmentMaster(Base, DefaultMixin): "EquipmentMaster", backref=backref("parent", remote_side=[id]), lazy="selectin" ) - # equipment_tree = relationship( - # "EquipmentTree", - # back_populates="equipment_master" - # ) + equipment_tree = relationship( + "EquipmentTree", + lazy="selectin", + primaryjoin="and_(EquipmentTree.id == foreign(EquipmentMaster.equipment_tree_id))", + viewonly=True, + uselist=False, + ) class EquipmentTree(Base, DefaultMixin): diff --git a/src/equipment_master/schema.py b/src/equipment_master/schema.py index 2adce2a..ed7baf1 100644 --- a/src/equipment_master/schema.py +++ b/src/equipment_master/schema.py @@ -1,4 +1,3 @@ - from datetime import datetime from typing import ForwardRef, List, Optional from uuid import UUID @@ -18,20 +17,27 @@ class EquipmentMasterCreate(EquipmentMasterBase): pass +class EquipmentTree(DefaultBase): + level_no: Optional[int] = Field(None, nullable=True) + name: Optional[str] = Field(None, nullable=True) + + class EquipmentMasterUpdate(EquipmentMasterBase): pass -EquipmentMasterReadRef = ForwardRef('EquipmentMasterRead') + +EquipmentMasterReadRef = ForwardRef("EquipmentMasterRead") + class EquipmentMasterRead(EquipmentMasterBase): id: UUID equipment_tree_id: Optional[UUID] = Field(None, nullable=True) + equipment_tree: EquipmentTree category_id: Optional[UUID] = Field(None, nullable=True) system_tag: Optional[str] = Field(None, nullable=True) assetnum: Optional[str] = Field(None, nullable=True) location_tag: Optional[str] = Field(None, nullable=True) - children: List[EquipmentMasterReadRef] # type: ignore - + children: List[EquipmentMasterReadRef] # type: ignore class EquipmentMasterPaginated(Pagination):