From 6952bf73f560e8ce16fd781934ab63b58a98e559 Mon Sep 17 00:00:00 2001 From: Khushal P Soonderji Date: Mon, 9 Mar 2026 17:37:11 +0530 Subject: [PATCH] (20260309) Added new 'mode' for formatting the muster roll. --- backend/api/blueprints/reports/muster_roll.py | 2 +- backend/models/api/reports/muster_roll.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/api/blueprints/reports/muster_roll.py b/backend/api/blueprints/reports/muster_roll.py index 8ab77ca..828f525 100644 --- a/backend/api/blueprints/reports/muster_roll.py +++ b/backend/api/blueprints/reports/muster_roll.py @@ -208,7 +208,7 @@ async def muster_roll_report_generate( pass # ... already an array elif inbound_data.mode == "map": report_data["report"] = { - r["User ID"]: {k: v for k,v in r.items() if k != "User ID"} + r["User ID"]: {k: v for k, v in r.items() if k != "User ID"} for r in report_data["report"] } diff --git a/backend/models/api/reports/muster_roll.py b/backend/models/api/reports/muster_roll.py index 0a50144..b87fbda 100644 --- a/backend/models/api/reports/muster_roll.py +++ b/backend/models/api/reports/muster_roll.py @@ -86,6 +86,7 @@ class CosecMusterRollReportRequestData(BaseModel): mode: Literal["array", "map"] = Field( description = "The format in which the response is desired.", + default = "array", frozen = True, ) @@ -118,11 +119,16 @@ class CosecMusterRollReportRequestData(BaseModel): ) return value - @field_validator("groupIds", mode = "after") + @field_validator("groupIds", mode = "before") def parse_group_ids(cls, value): if isinstance(value, str): value = value.split(",") return value + @field_validator("mode", mode = "before") + def parse_mode(cls, value): + if isinstance(value, str): value = value.lower() + return value + # ***************************************************************************************************************** # ***** ****