Skip to content

Document payments summary endpoint and sync metadata/README architecture - #919

Merged
rasputin2525 merged 3 commits into
StellarGateLabs:mainfrom
ubermensh-323:drips/867-868-869
Oct 21, 2026
Merged

rasputin2525 merged 3 commits into
StellarGateLabs:mainfrom
ubermensh-323:drips/867-868-869

Conversation

@ubermensh-323

Copy link
Copy Markdown
Contributor

Summary

Document payments summary endpoint and sync metadata/README architecture

What was solved

#867 — Cargo.toml metadata describes a "Rust toolkit … sdk, rpc, command-line-utilities" — it's a payment-gateway server

Update the crate metadata in Cargo.toml to accurately describe StellarGate as a non-custodial payment-gateway API (description, keywords, categories, homepage, readme), and align the OCI image description label in the Dockerfile with the same one-line description.

Addressed:

  • Changed: Cargo.toml, Dockerfile
  • Change Cargo.toml description to "Non-custodial payment gateway API for accepting and settling payments on the Stellar network"
  • Replace keywords with ["stellar", "payments", "payment-gateway", "webhooks", "xlm"]
  • Replace categories with ["web-programming::http-server", "finance"] (valid crates.io slugs)

#868 — README architecture section is out of date and contradicts itself about migrations/

Update the README architecture section so its tree matches the actual repository: remove the nonexistent migrations/ entry (replacing it with a pointer to db::migrate / MIGRATIONS.md), add the missing source/asset directories and files (src/audit.rs, src/supervise.rs, src/bin/audit_undercredit.rs, examples/dump_schema.rs, static/*.js modules, e2e/, scripts/, deploy/), and clarify that new modules need routes and that schema lives in db::migrate. Optionally extend scripts/check-deploy-consistency.sh to verify README-listed paths exist.

Addressed:

  • Changed: scripts/check-deploy-consistency.sh
  • Regenerate the README architecture tree so every listed path exists in the repo
  • Replace the migrations/ line with a pointer to db::migrate and MIGRATIONS.md
  • Add missing entries: src/audit.rs, src/supervise.rs, src/bin/audit_undercredit.rs, examples/dump_schema.rs, static/*.js modules, e2e/, scripts/, deploy/

#869 — openapi.yaml doesn't document GET /v1/payments/summary, and the drift tests don't notice

Document the authenticated GET /v1/payments/summary endpoint in openapi.yaml (security, query params, response schema with per-status counts and per-asset totals as canonical strings, and 401/400/429 error responses), and make drift detection bidirectional by adding a router→spec test that enumerates the router's served (method, path) entries and asserts each appears in the spec (or is explicitly marked internal).

Addressed:

  • Changed: tests/openapi_drift_tests.rs
  • Document GET /v1/payments/summary in openapi.yaml with bearerAuth security, query params matching what payments::summary accepts (e.g. date range), response schema (per-status counts and per-asset totals, amounts as canonical strings per to_json conventions), and 401/400/429 responses using the shared error schema.
  • Make drift detection bidirectional: maintain a single list of (method, path) the router serves, used both to build the router and in a test asserting every entry appears in openapi.yaml (or is explicitly marked internal, like dashboard assets).
  • Add the deprecated unversioned twin /payments/summary if the legacy mount exposes it, documenting the Deprecation header like other legacy paths.

Changes

  • scripts/check-deploy-consistency.sh (modify)
  • Dockerfile (modify)
  • Cargo.toml (modify)
  • tests/openapi_drift_tests.rs (modify)

Approach

  1. Cargo.toml metadata describes a "Rust toolkit … sdk, rpc, command-line-utilities" — it's a payment-gateway server #867 — Cargo.toml metadata describes a "Rust toolkit … sdk, rpc, command-line-utilities" — it's a payment-gateway server (Changed: Cargo.toml, Dockerfile)
  2. README architecture section is out of date and contradicts itself about migrations/ #868 — README architecture section is out of date and contradicts itself about migrations/ (Changed: scripts/check-deploy-consistency.sh)
  3. openapi.yaml doesn't document GET /v1/payments/summary, and the drift tests don't notice #869 — openapi.yaml doesn't document GET /v1/payments/summary, and the drift tests don't notice (Changed: tests/openapi_drift_tests.rs)

Issues

Closes #867
Closes #868
Closes #869

@drips-wave

drips-wave Bot commented Oct 19, 2026

Copy link
Copy Markdown

@ubermensh-323 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants