From a52a30bc7d5687fc20ff644e5fa67a7ad3c8593a Mon Sep 17 00:00:00 2001 From: William Carr Date: Wed, 22 Jul 2026 06:59:05 -0400 Subject: [PATCH] feat: add archived attribute to /models endpoints --- src/webapp/database.py | 1 + src/webapp/routers/models.py | 4 ++++ src/webapp/routers/models_test.py | 3 +++ 3 files changed, 8 insertions(+) diff --git a/src/webapp/database.py b/src/webapp/database.py index f5d554a3..366ed42d 100644 --- a/src/webapp/database.py +++ b/src/webapp/database.py @@ -115,6 +115,7 @@ def _setup_test_institutions(session: Session) -> None: name=model["name"], created_by=LOCAL_USER_UUID, valid=model.get("valid", True), + archived=model.get("archived", 0), created_at=DATETIME_TESTING, updated_at=DATETIME_TESTING, ) diff --git a/src/webapp/routers/models.py b/src/webapp/routers/models.py index e7393e21..de216482 100644 --- a/src/webapp/routers/models.py +++ b/src/webapp/routers/models.py @@ -218,6 +218,7 @@ class ModelInfo(BaseModel): created_by: str | None = None valid: bool = True deleted: bool | None = None + archived: int = 0 def _model_version_as_str(version: Any) -> str | None: @@ -297,6 +298,7 @@ def read_inst_models( "created_by": uuid_to_str(elem[0].created_by), "deleted": elem[0].deleted, "valid": elem[0].valid, + "archived": elem[0].archived, } ) return res @@ -373,6 +375,7 @@ def create_model( "created_by": uuid_to_str(query_result[0][0].created_by), "deleted": query_result[0][0].deleted, "valid": query_result[0][0].valid, + "archived": query_result[0][0].archived, } @@ -420,6 +423,7 @@ def read_inst_model( "created_by": uuid_to_str(query_result[0][0].created_by), "deleted": query_result[0][0].deleted, "valid": query_result[0][0].valid, + "archived": query_result[0][0].archived, } diff --git a/src/webapp/routers/models_test.py b/src/webapp/routers/models_test.py index 7911fd76..9378b480 100644 --- a/src/webapp/routers/models_test.py +++ b/src/webapp/routers/models_test.py @@ -63,6 +63,7 @@ def same_model_orderless(a_elem: ModelInfo, b_elem: ModelInfo) -> bool: or a_elem.m_id != b_elem.m_id or a_elem.valid != b_elem.valid or a_elem.deleted != b_elem.deleted + or a_elem.archived != b_elem.archived ): return False return True @@ -247,6 +248,7 @@ def test_read_inst_models(client: TestClient) -> None: inst_id="1d7c75c33eda42949c6675ea8af97b55", deleted=None, valid=True, + archived=0, ), ) @@ -279,6 +281,7 @@ def test_read_inst_model(client: TestClient) -> None: m_id="e4862c62829440d8ab4c9c298f02f619", name="sample_model_for_school_1", valid=True, + archived=0, ) assert same_model_orderless(response_model, expected_model)