Skip to content

Commit 0447286

Browse files
committed
fix: store_entity accepts any model instance, not just Entity (fixes #121)
Use isinstance(param, StoreEntityParam) instead of isinstance(param, Entity) to detect param type. This handles controllers and models whose Entity base class differs after fetch_schema regeneration.
1 parent 00bad82 commit 0447286

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

‎src/osw/core.py‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1624,10 +1624,11 @@ def store_entity(
16241624
param:
16251625
StoreEntityParam, the dataclass instance or a list of instances
16261626
"""
1627-
if isinstance(param, model.Entity):
1628-
param = OSW.StoreEntityParam(entities=[param])
16291627
if isinstance(param, list):
16301628
param = OSW.StoreEntityParam(entities=param)
1629+
elif not isinstance(param, OSW.StoreEntityParam):
1630+
# Accept any OswBaseModel / Entity / Controller instance
1631+
param = OSW.StoreEntityParam(entities=[param])
16311632
if not isinstance(param.entities, list):
16321633
param.entities = [param.entities]
16331634

0 commit comments

Comments
 (0)