feat: add campaign query history exports and API docs - #746
Conversation
|
@damiedee96 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! 🚀 |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Utilitycoder
left a comment
There was a problem hiding this comment.
Please fix up the merge conflict and update your PR. Kindly ensure you offramp with Fundable at https://stellar.fundable.finance/offramp
Utilitycoder
left a comment
There was a problem hiding this comment.
Please fix up the merge conflict and update your PR. Kindly ensure you offramp with Fundable at https://stellar.fundable.finance/offramp
|
Thanks for the work. Kindly ensure you offramp with Fundable at https://stellar.fundable.finance/offramp |
Summary
Closes #712, #695, #706, and #708.
Implement campaign querying, status-history persistence, CSV exports, and OpenAPI documentation across the backend API.
Before
Campaign data did not have a GraphQL query with flexible filters and sorting. Campaign status transitions after tree verification were not persisted with a queryable history or audit actor. Campaign creators could not download sponsor and impact data as CSV, and the campaign REST endpoints were not documented in the OpenAPI specification.
After
Adds a GraphQL campaigns query with filtering by status, creator, search text, goal amount, and creation date.
Adds configurable sorting by creation date, update date, name, status, amounts, sponsor count, and tree count.
Adds pagination and network selection to campaign queries.
Adds a database migration for status_changed_at, campaign status history, audit attribution, and sponsor records.
Persists campaign state transitions with the previous status, new status, actor, timestamp, and reason.
Adds initial status-history entries when campaigns are created.
Adds GET, POST, and PATCH campaign REST handlers.
Adds CSV exports for sponsor lists and campaign impact reports.
Adds OpenAPI documentation for campaign endpoints, request schemas, response schemas, parameters, and error responses.
Adds focused tests for campaign filtering, sorting, status transitions, audit history, campaign creation, and CSV output.
Verification
Focused verification passed:
Campaign service and GraphQL analytics tests: 37 passed.
OpenAPI YAML validation: passed.
Git whitespace validation: passed.
Strict TypeScript checking reports no errors in the campaign implementation.
The full web test suite and repository-wide TypeScript check still report unrelated pre-existing failures in existing files outside these campaign changes.
Closes #695 , closes #706 , closes #708 , closes #712