Skip to content

feat: add missing SirixDB REST API endpoints#26

Open
JohannesLichtenberger wants to merge 1 commit intomasterfrom
feat/add-missing-api-endpoints
Open

feat: add missing SirixDB REST API endpoints#26
JohannesLichtenberger wants to merge 1 commit intomasterfrom
feat/add-missing-api-endpoints

Conversation

@JohannesLichtenberger
Copy link
Member

Summary

  • Bug fix: Add missing Accept: application/json header to AsyncClient.get_database_info() (matching sync client)
  • Bug fix: Rename incorrect lastTopLevelNodeKey param to startNodeKey in _build_read_params()
  • New endpoint: Path summary (GET /:db/:resource/pathSummary) with optional revision param
  • New endpoint: Batch resource creation (POST /:db multipart) via Database.create_resources()
  • Extended: history() with revisions, start_revision, end_revision params
  • Extended: create() and update() with commit_message, commit_timestamp params
  • Extended: read() and read_with_metadata() with number_of_nodes, max_children, pretty_print, start_node_key params
  • Extended: query() (on both Sirix and Resource) with commit_message, commit_timestamp, plan, plan_stage params
  • New type: PathSummaryNode TypedDict added and exported

All new parameters default to None — no existing call sites break.

Test plan

  • All 57 existing tests pass (backward compatibility confirmed)
  • 24 new tests added (12 sync + 12 async) covering all new endpoints and extended parameters
  • Full test suite: 90 passed, 1 skipped, 0 failed

Add path summary endpoint, batch resource creation, and extend history,
create, update, read, and query methods with additional server parameters
(commit messages, timestamps, pagination controls, query plans). Fix
async_client get_database_info missing Accept header and incorrect
lastTopLevelNodeKey parameter name.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant