fix(kredi): paketliden liste ve revizyon kredisi düşmez #6
Reference in New Issue
Block a user
Delete Branch "odeme/paket-vaadi"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
/paket"liste dahil" diyor ama kod paketli kullanıcıdan da liste başına 3, revizyon başına 3 kredi düşüyordu. 299 TL ödeyen en fazla 51 soru sorabiliyordu; artık vaat edilen 60 gerçekten 60.Uygulama
Tek
const maliyet = user.hasPaket ? 0 : RAPOR_KREDIiki fonksiyonda altı yeri kapatıyor: harcama ×2, iade ×2, dönen bakiye ×2. Fark modalı paketliye kredi bedeli göstermez.Kaldırılmayanlar — bilerek
spendCredits/grantCreditsçağrılarının hiçbiri silinmedi:uniqueIndex("ledger_reason_ref")üretimin tek idempotency çapasıGüvenlik denetimi: merge edilebilir
Yazılımcının "koddan çıkarım" diye işaretlediği kritik soru izole test veritabanında koşturularak kesinleştirildi:
amount=0ve bakiye 0 ikenrowsAffected = 1,INSUFFICIENTdönmüyor,delta 0satırı yazılıyor ve ikinci insert UNIQUE kısıtına takılıyor. Paketin vaadi kodda tutuyor.Mutabakat etkilenmiyor: iyzico sorgusu yalnız
reason IN ('purchase','topup')üzerinden yürüyor.Kuyruğa giren üç iş (merge'e engel değil)
credits.ts:174delta 0iade dekrediBittiAt'ı null'lıyor.KrediYetersizmodalı paketlide ulaşılamaz oldu.Doğrulama:
next typegen✓ ·tsc --noEmit0 ·lint0 · 6/6 kabul grep'i · entegrasyon build'i temiz.