Saechaoc opened a new pull request, #4868:
URL: https://github.com/apache/fineract/pull/4868
## ๐ Feature: Add Birthday Filter to Savings Accounts Endpoint
**JIRA Ticket**: WEALTHFRONT-1234
**Summary**:
This PR introduces support for filtering savings accounts by client
birthdays using `month` and `day` query parameters on the `GET
/savingsaccounts` endpoint. This feature lays the groundwork for future
automation efforts like birthday email campaigns.
---
### โจ Changes Overview
#### ๐ง API Enhancements
- Extended `GET /savingsaccounts` to accept optional `month` and `day` query
parameters.
- Introduced a new `retrieveAllByBirthday` method in
`SavingsAccountReadPlatformService`.
#### ๐ฆ Core
- Enhanced `SearchParameters`:
- Added `birthMonth` and `birthDay` fields.
- Included overloads and helper methods for backward compatibility.
#### ๐ Service Implementation
- In `SavingsAccountReadPlatformServiceImpl`, added logic to:
- Append `MONTH(c.date_of_birth)` and `DAY(c.date_of_birth)` to SQL
queries conditionally.
- Maintain existing filtering behavior while optionally scoping results to
birthday filters.
#### โ
Tests
- Added integration test: `retrieveSavingsAccountsByBirthday_Success`
- Validates correct results for existing birthday records.
- Added negative test: `retrieveSavingsAccountsByBirthday_EmptySet`
- Ensures no accounts are returned when no clients match the given
birthday.
#### ๐งน Misc
- Updated `build.gradle` with dependency resolution override for
`okhttp-digest`.
---
### ๐ Validation
- โ
Manual test with test data containing birthdays returned expected
accounts.
- โ
Verified results were correctly filtered at the SQL level.
- โ
Regression tested `/savingsaccounts` without birthday filters for
compatibility.
---
### ๐ Notes
- This implementation supports **partial** birthday filtering โ month-only
or day-only queries are also valid.
- Next steps may include exposing this data on the UI dashboard and setting
up background email notifications.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]