Implemented Gift Card System with Creation, Redemption, and Management Features #970
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.
Summary:
This PR implements a comprehensive gift card system for managing gift cards in the application. The system includes the following key functionalities:
Details:
Endpoints:
POST /api/gift-cards:
value
: The monetary value of the gift card.userId
: The ID of the user associated with the gift card.expiryDate
: The expiry date of the gift card in ISO 8601 format.GET /api/gift-cards/:cardNumber:
POST /api/gift-cards/redeem:
cardNumber
: The card number to be redeemed.GET /api/gift-cards/user/:userId:
GET /api/gift-cards/search:
minValue
andmaxValue
.minValue
: Minimum value for the gift cards.maxValue
: Maximum value for the gift cards.DELETE /api/gift-cards/:cardNumber:
PATCH /api/gift-cards/deactivate/:cardNumber:
GET /api/gift-cards:
GET /api/gift-cards/stats:
Schema:
The
GiftCard
schema is designed to store the necessary details of each gift card:Middleware:
giftCardMiddleware.js
):Controllers:
Expected Outcome: