Add payout req parsing

This commit is contained in:
2026-03-14 17:52:10 +03:00
parent 17bd6114b7
commit 35f6dc6ca0
4 changed files with 36 additions and 10 deletions

View File

@@ -12,6 +12,7 @@ import (
"go.uber.org/fx"
"payouts/internal/config"
"payouts/internal/models"
"payouts/internal/service/cache"
"payouts/internal/service/database"
"payouts/internal/service/database/orm"
@@ -106,12 +107,30 @@ func (p *payoutHandler) PayoutCreate(w http.ResponseWriter, r *http.Request) {
http.Error(w, errors.Join(errors.New(message), err).Error(), status)
}
_, err := p.getSession(r)
userSession, err := p.getSession(r)
if err != nil {
errResponse("unauthorized", err, http.StatusUnauthorized)
return
}
panic("unimplemented")
payoutReq := models.PayoutReq{
PayoutType: models.TypeSBP,
}
decoder := json.NewDecoder(r.Body)
err = decoder.Decode(&payoutReq)
if err != nil {
slog.Error("Failed to decode request body", slog.String("error", err.Error()))
errResponse("failed to decode request body", err, http.StatusBadRequest)
return
}
slog.Debug(fmt.Sprintf("Received create payload request: %v from user %v", payoutReq, userSession))
err = p.yooKassa.CreatePayout(payoutReq, userSession)
if err != nil {
slog.Error("Failed to create payout request", slog.String("error", err.Error()))
errResponse("failed to create payout request", err, http.StatusBadRequest)
return
}
}
// PaymentCallback implements [Handler].