Feature Request: ExCheck client for node-tak
Summary
Add an ExCheck sub-client to @tak-ps/node-tak wrapping the TAK Server ExCheck REST API (/Marti/api/excheck/*). No ExCheck support exists in the library today.
Motivation
CloudTAK should be able to create, read, and update ExCheck templates, checklists, and tasks to drive a dispatch/HQ KanBan workflow. Without a client, every consumer has to hand-roll XML requests against the Marti endpoints.
Scope
A new client class (e.g. api.ExCheck) alongside the existing Mission / Subscription clients, using the same cert/password auth and TAKAPI.fetch() plumbing.
Endpoints to cover:
- Templates:
POST/GET/DELETE /excheck/template[/{uid}] and template-task CRUD (.../template/{uid}/task/{taskUid})
- Checklists:
POST /excheck/{templateUid}/start, GET /excheck/checklist/active, GET /excheck/checklist/{uid}, POST /excheck/{uid}/stop, DELETE /excheck/checklist/{uid}
- Tasks:
PUT/GET/DELETE /excheck/checklist/{uid}/task/{taskUid}
- Status + mission linking:
GET /excheck/checklist/{uid}/status, PUT/DELETE /excheck/checklist/{uid}/mission/{missionName}
Requirements
- XML request/response handling conforming to TAK Server's
excheck.xsd (build + parse), exposing typed objects rather than raw XML.
- Typed models for
Checklist, ChecklistDetails, ChecklistColumn, ChecklistTask (status enum: Pending / Complete / Complete (late) / Late).
- Support template creation from both XML and CSV payloads.
Notes / gotchas (observed in TAK Server source)
- Template
creatorUid is overwritten by callsign server-side — do not rely on round-tripped creator UID.
- The
token branch of the status endpoint is fragile; prefer the non-token path where possible.
Out of scope
KanBan / dispatch logic (lives in CloudTAK). This request is only the transport client.
Feature Request: ExCheck client for node-tak
Summary
Add an
ExChecksub-client to@tak-ps/node-takwrapping the TAK Server ExCheck REST API (/Marti/api/excheck/*). No ExCheck support exists in the library today.Motivation
CloudTAK should be able to create, read, and update ExCheck templates, checklists, and tasks to drive a dispatch/HQ KanBan workflow. Without a client, every consumer has to hand-roll XML requests against the Marti endpoints.
Scope
A new client class (e.g.
api.ExCheck) alongside the existingMission/Subscriptionclients, using the same cert/password auth andTAKAPI.fetch()plumbing.Endpoints to cover:
POST/GET/DELETE /excheck/template[/{uid}]and template-task CRUD (.../template/{uid}/task/{taskUid})POST /excheck/{templateUid}/start,GET /excheck/checklist/active,GET /excheck/checklist/{uid},POST /excheck/{uid}/stop,DELETE /excheck/checklist/{uid}PUT/GET/DELETE /excheck/checklist/{uid}/task/{taskUid}GET /excheck/checklist/{uid}/status,PUT/DELETE /excheck/checklist/{uid}/mission/{missionName}Requirements
excheck.xsd(build + parse), exposing typed objects rather than raw XML.Checklist,ChecklistDetails,ChecklistColumn,ChecklistTask(status enum: Pending / Complete / Complete (late) / Late).Notes / gotchas (observed in TAK Server source)
creatorUidis overwritten bycallsignserver-side — do not rely on round-tripped creator UID.tokenbranch of the status endpoint is fragile; prefer the non-token path where possible.Out of scope
KanBan / dispatch logic (lives in CloudTAK). This request is only the transport client.