Skip to content

Conversation

@ChoiWheatley
Copy link
Collaborator

πŸ“ λ³€κ²½ 사항

이번 PRμ—μ„œλŠ” 후원 μ‚­μ œ ν”„λ‘œμ„ΈμŠ€ κ°œμ„  및 μ˜ˆλΉ„ν›„μ›(Provisional Donation) μƒνƒœ 관리λ₯Ό μΆ”κ°€ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

  1. 후원 μ‚­μ œ μ‹œ μ˜ˆλΉ„ν›„μ› μƒνƒœ μ΄ˆκΈ°ν™” μΆ”κ°€

    • κΈ°μ‘΄μ—λŠ” 후원 μ‚­μ œ μ‹œ μ—°κ΄€λœ ν›„μ›λ§Œ μ œκ±°ν–ˆμœΌλ‚˜, μ΄μ œλŠ” μ˜ˆλΉ„ν›„μ›μ˜ μƒνƒœλ₯Ό μ΄ˆκΈ°ν™”ν•œ ν›„ 이체 내역을 μ‚­μ œν•©λ‹ˆλ‹€.
    • DepositDeleteSaga.handleMatchedDepositDeleteRequested() λ‚΄μ—μ„œ μ˜ˆλΉ„ν›„μ›μ˜ 맀치λ₯Ό μ·¨μ†Œν•˜λŠ” λ‘œμ§μ„ μΆ”κ°€ν•˜μ˜€μœΌλ©°, μ‹€νŒ¨ μ‹œ μ μ ˆν•œ 보상 쑰치(κ΄€λ¦¬μž μ•Œλ¦Ό λ°œμ†‘)λ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€.
  2. μ˜ˆλΉ„ν›„μ› 맀치 μ·¨μ†Œ μ‹€νŒ¨ 처리

    • cancelMatchProvDon.execute() 호좜 μ‹œ InvalidStatus μ˜ˆμ™Έκ°€ λ°œμƒν•˜λ©΄ κ΄€λ¦¬μžμ—κ²Œ μ•Œλ¦Όμ„ 보내도둝 보상 쑰치λ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.
  3. E2E ν…ŒμŠ€νŠΈ μ—…λ°μ΄νŠΈ

    • Deposit API E2E Testμ—μ„œ 후원 μ‚­μ œ ν›„ μ˜ˆλΉ„ν›„μ›μ˜ μƒνƒœκ°€ Pending으둜 λ³€κ²½λ˜λŠ”μ§€λ₯Ό κ²€μ¦ν•˜λŠ” ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.
  4. Mock 데이터 생성 κ°œμ„ 

    • κΈ°μ‘΄ createMockFundingWithRelations() ν•¨μˆ˜μ—μ„œ provisional donation을 생성할 λ•Œ, senderSig 값을 적절히 μ„€μ •ν•˜λ„λ‘ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

πŸ“Œ μ£Όμš” λ³€κ²½ 파일

  • src/event-handlers/deposit-delete.saga.ts
  • src/features/deposit/deposit.e2e.spec.ts
  • src/tests/mock-factory.ts

βœ… κ²€ν†  포인트

  • μ˜ˆλΉ„ν›„μ›μ˜ μƒνƒœλ₯Ό Pending으둜 μ΄ˆκΈ°ν™”ν•˜λŠ” 방식이 μ μ ˆν•œμ§€
  • InvalidStatus μ˜ˆμ™Έ λ°œμƒ μ‹œ κ΄€λ¦¬μž μ•Œλ¦Ό μ²˜λ¦¬κ°€ μ μ ˆν•œμ§€
  • μƒˆλ‘œμš΄ E2E ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€κ°€ μΆ©λΆ„νžˆ κ²€μ¦ν•˜λŠ”μ§€

πŸš€ κΈ°λŒ€ 효과

  • 후원 μ‚­μ œ μ‹œ μ˜ˆλΉ„ν›„μ› 데이터 정합성을 보μž₯
  • μ˜ˆλΉ„ν›„μ› 맀치 μ·¨μ†Œ μ‹€νŒ¨ μ‹œ μ μ ˆν•œ 보상 쑰치λ₯Ό μˆ˜ν–‰ν•˜μ—¬ μ•ˆμ •μ„± 확보
  • κ΄€λ ¨ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€ μΆ”κ°€λ‘œ μΈν•œ κΈ°λŠ₯ 보μž₯ κ°•ν™”

⚠️ ν† λ‘ 

Deposit을 두 번 μ‚­μ œ μ‹œλ„ν•©λ‹ˆλ‹€. κ·Έ μ΄μœ λŠ” Donation μ‚­μ œ 성곡 이벀트 ν•Έλ“€λŸ¬μ—μ„œ ν•œ 번, ProvDon 리셋 성곡 이벀트 ν•Έλ“€λŸ¬μ—μ„œ ν•œ 번. ν•˜μ§€λ§Œ 결과적으둜 Eventual Consistencyλ₯Ό λ§Œμ‘±μ‹œν‚€λ‹ˆκΉŒ, 내비두어야 ν• κΉŒμš”?

리뷰 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€! πŸ™Œ

Copy link
Owner

@coding-jjun coding-jjun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@coding-jjun coding-jjun merged commit c23a38a into main Feb 6, 2025
@ChoiWheatley ChoiWheatley deleted the WISH-440-Matched-Deposit-Deletion-Related-ProvDon branch February 9, 2025 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants