Implement ReportInfo, ReportData, and ReportRow models. Add get_report
(with optional data format and data type params) and list_reports
(paginated) methods. Tests cover report data retrieval, format
parameters, listing reports by app, and not-found error.
Implement SaveListItemRequest and SaveListItemResponse models. Add
save_list_item (create/update via PUT) and delete_list_item methods.
Tests cover creating, updating, deleting list items and not-found error.
Implement Field model supporting base fields and polymorphic variants
(list, formula, reference fields via optional properties). Add get_field,
batch_get_fields, and list_fields endpoint methods with tests covering
basic fields, list-type fields, batch retrieval, pagination, and
not-found scenarios.
Implement App model and three endpoint methods: list_apps (paginated),
get_app (by ID), and batch_get_apps (up to 100 by IDs). Add
comprehensive tests for success, pagination, not-found, and batch
scenarios.
Implement ping() method on OnspringClient. Set up wiremock-based test
infrastructure with shared setup helper. Add tests for success and
unauthorized scenarios verifying correct headers are sent.
Set up Cargo.toml with dependencies (reqwest, serde, thiserror, tokio,
uuid, chrono). Implement OnspringClient with builder pattern and HTTP
helper methods. Define error types, enums, and paging models.