Add start and end date filter parameters to GET transactions endpoint #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
This PR adds optional
startDateandendDatequery parameters to theGET /api/transactionendpoint, allowing users to filter transactions by date range.Implementation
The date filtering has been implemented across all layers of the application:
DateTime?parametersstartDateandendDateto theGetTransactionsactionTransactionProcessor.GetTransactions()to accept and pass through date filtersITransactionsDataServiceinterface andTransactionsDataServiceimplementation to apply MongoDB filters for date rangesThe filtering is performed at the database level using MongoDB query operators:
startDate: Uses$gte(greater than or equal) to include transactions from the specified date onwardsendDate: Uses$lte(less than or equal) to include transactions up to the specified dateAPI Usage
Backward Compatibility
All parameters are optional with default values of
null, ensuring existing API calls continue to work without modification. The date filters can be used independently or in combination with the existingaccountIdfilter.Additional Changes
using System;directives for DateTime supportFixes #[issue-number]
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.