MCPcopy
hub / github.com/IBM/AssetOpsBench / list_workorders

Function list_workorders

src/servers/wo/main.py:93–127  ·  view source on GitHub ↗

List work orders with optional filters (site, status, asset, priority, dates). status accepts OPEN / APPROVED_PENDING; page_size=0 returns all matches in one call.

(
    site_id: Optional[str] = None,
    status: Optional[str] = None,
    asset_num: Optional[str] = None,
    priority: Optional[int] = None,
    date_from: Optional[str] = None,
    date_to: Optional[str] = None,
    page_size: int = 50,
    page_num: int = 1,
)

Source from the content-addressed store, hash-verified

91
92
93async def list_workorders(
94 site_id: Optional[str] = None,
95 status: Optional[str] = None,
96 asset_num: Optional[str] = None,
97 priority: Optional[int] = None,
98 date_from: Optional[str] = None,
99 date_to: Optional[str] = None,
100 page_size: int = 50,
101 page_num: int = 1,
102) -> Union[WorkOrdersResult, ErrorResult]:
103 """List work orders with optional filters (site, status, asset, priority, dates).
104 status accepts OPEN / APPROVED_PENDING; page_size=0 returns all matches in one call."""
105 res = await wo.list_workorders(
106 db(),
107 site_id,
108 status,
109 asset_num,
110 priority,
111 date_from,
112 date_to,
113 page_size,
114 page_num,
115 )
116 err = _failed(res)
117 if err:
118 return err
119 d = res["data"]
120 items = [WorkOrderItem.model_validate(x) for x in d["workorders"]]
121 return WorkOrdersResult(
122 site_id=site_id,
123 status=status,
124 total=d["totalCount"],
125 work_orders=items,
126 message=f"Found {d['totalCount']} work order(s).",
127 )
128
129
130async def get_workorder(

Callers

nothing calls this directly

Calls 3

dbFunction · 0.85
_failedFunction · 0.85
WorkOrdersResultClass · 0.85

Tested by

no test coverage detected