-
Notifications
You must be signed in to change notification settings - Fork 171
feat/purchase-piggy-cards #1416
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* feat: piggycards API draft * chore: refactoring out of ResponseResource * chore: renaming CTXSpend -> DashSpend * feat: piggy cards API support * feat: support for multiple gift card providers * fix: country mock * feat: errors & logged in state tracking * chore: logout & fixes * fix: PiggyCards email disclaimer * chore: rename GiftCardService to GiftCardProvider * chore: add logging * fix: proguard for piggycards
* feat: UI and new Explore table * feat: filtering by provider * fix: fixed/flexible denoms for gift card providers * fix: tests * chore: disable pre-packaging explore.db * chore: ignore missing explore db error * chore: cleanup
* feat: UI and new Explore table * feat: filtering by provider * fix: fixed/flexible denoms for gift card providers * fix: tests * chore: disable pre-packaging explore.db * chore: ignore missing explore db error * feat: new merchant details UI draft * chore: simplify itemdetails structure * chore: UI fixes * feat: merchant details UI * fix: atm UI and filters * fix: observe login state on page load * fix: tests * fix: crash in test * fix: v4 explore DB * fix: switching selected provider * fix: namespace refactor & proguard * fix: observing changes on page load * chore: cleanup * fix: 3 to 4 db migration
|
Caution Review failedThe pull request is closed. WalkthroughThis update introduces multi-provider support for DashSpend gift card features, adding PiggyCards alongside CTX. It refactors repositories, data models, and UI to support multiple providers, updates database schemas, expands filtering and selection logic, and migrates merchant detail views to Jetpack Compose. Numerous supporting models, DAOs, APIs, and configurations for PiggyCards are added, and navigation, resources, and Proguard rules are updated accordingly. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant UI (Compose)
participant DashSpendViewModel
participant DashSpendRepositoryFactory
participant CTXSpendRepository
participant PiggyCardsRepository
participant PiggyCardsApi
participant CTXSpendApi
User->>UI (Compose): Selects merchant, chooses provider
UI (Compose)->>DashSpendViewModel: onBuyGiftCardButtonClicked(provider)
DashSpendViewModel->>DashSpendRepositoryFactory: create(provider)
alt provider == CTX
DashSpendRepositoryFactory->>CTXSpendRepository: createCTXSpend()
DashSpendViewModel->>CTXSpendRepository: orderGiftcard(...)
CTXSpendRepository->>CTXSpendApi: purchaseGiftCard(...)
CTXSpendApi-->>CTXSpendRepository: GiftCardResponse
CTXSpendRepository-->>DashSpendViewModel: GiftCardInfo
else provider == PiggyCards
DashSpendRepositoryFactory->>PiggyCardsRepository: createPiggyCardsRepository()
DashSpendViewModel->>PiggyCardsRepository: orderGiftcard(...)
PiggyCardsRepository->>PiggyCardsApi: createOrder(...)
PiggyCardsApi-->>PiggyCardsRepository: OrderResponse
PiggyCardsRepository->>PiggyCardsApi: getOrderStatus(...)
PiggyCardsApi-->>PiggyCardsRepository: OrderStatusResponse
PiggyCardsRepository-->>DashSpendViewModel: GiftCardInfo
end
DashSpendViewModel-->>UI (Compose): Update UI with GiftCardInfo
Estimated code review effort🎯 5 (Critical) | ⏱️ ~90+ minutes Possibly related PRs
Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. ✨ Finishing Touches
🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Issue being fixed or feature implemented
Related PR's and Dependencies
Screenshots / Videos
How Has This Been Tested?
Checklist:
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Style
Documentation
Chores
Refactor