feat: add BulkCreateSavingsDto and BulkSavingsItemDto for batch savin…#1157
Merged
Devsol-01 merged 1 commit intoJun 30, 2026
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
This PR addresses backend issue #1141 by introducing a transactional bulk operations endpoint (
/savings/bulk-create) within the Savings module. The system handles multiple incoming operational payloads atomically while enforcing strict per-item validations and ensuring execution idempotency via unique batch markers.Fixes #1141
Type of Change
Proposed Architecture & Changes
bulk-create-savings.dto.ts): Implemented explicit class-validator constraints to check each individual item within the input list array before processing hits the query runner.savings.service.ts): Integrated an execution tracking lookup check. Duplicate incoming identicalbatchIdsubmissions are detected immediately, aborting re-execution and returning a cached state indicator safely.QueryRunnertransactions. If a single ledger assignment item throws an exception inside the processing collection loop, the entire database transaction automatically rolls back.How to Manually Test This Feature
Prerequisites
Ensure your local backend server runtime is active: