feat(commerce): add GET /sell/transfers endpoint
This commit is contained in:
parent
22ce89f3da
commit
b3c74428d8
2 changed files with 26 additions and 4 deletions
|
|
@ -102,10 +102,11 @@ func (r *APIRouter) setupMarketplaceRoutes(router *gin.RouterGroup) {
|
|||
sellProtected.GET("/stats/top-products", marketHandler.GetSellTopProducts)
|
||||
sellProtected.GET("/sales", marketHandler.GetSellSales)
|
||||
|
||||
sellHandler := handlers.NewSellHandler(stripeConnectSvc, r.logger)
|
||||
sellHandler := handlers.NewSellHandler(r.db.GormDB, stripeConnectSvc, r.logger)
|
||||
sellProtected.POST("/connect/onboard", sellHandler.ConnectOnboard)
|
||||
sellProtected.GET("/connect/callback", sellHandler.ConnectCallback)
|
||||
sellProtected.GET("/balance", sellHandler.GetBalance)
|
||||
sellProtected.GET("/transfers", sellHandler.GetSellerTransfers)
|
||||
}
|
||||
|
||||
commerce := router.Group("/commerce")
|
||||
|
|
|
|||
|
|
@ -4,21 +4,25 @@ import (
|
|||
"errors"
|
||||
"net/http"
|
||||
|
||||
"veza-backend-api/internal/core/marketplace"
|
||||
"veza-backend-api/internal/services"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.uber.org/zap"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// SellHandler handles Stripe Connect seller payout endpoints
|
||||
type SellHandler struct {
|
||||
stripeConnect *services.StripeConnectService
|
||||
logger *zap.Logger
|
||||
db *gorm.DB
|
||||
stripeConnect *services.StripeConnectService
|
||||
logger *zap.Logger
|
||||
}
|
||||
|
||||
// NewSellHandler creates a new SellHandler
|
||||
func NewSellHandler(stripeConnect *services.StripeConnectService, logger *zap.Logger) *SellHandler {
|
||||
func NewSellHandler(db *gorm.DB, stripeConnect *services.StripeConnectService, logger *zap.Logger) *SellHandler {
|
||||
return &SellHandler{
|
||||
db: db,
|
||||
stripeConnect: stripeConnect,
|
||||
logger: logger,
|
||||
}
|
||||
|
|
@ -125,3 +129,20 @@ func (h *SellHandler) GetBalance(c *gin.Context) {
|
|||
"pending": bal.Pending,
|
||||
})
|
||||
}
|
||||
|
||||
// GetSellerTransfers returns the transfer history for the authenticated seller (v0.603)
|
||||
func (h *SellHandler) GetSellerTransfers(c *gin.Context) {
|
||||
userID, ok := GetUserIDUUID(c)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
var transfers []marketplace.SellerTransfer
|
||||
if err := h.db.Where("seller_id = ?", userID).Order("created_at DESC").Find(&transfers).Error; err != nil {
|
||||
h.logger.Error("GetSellerTransfers failed", zap.Error(err), zap.String("user_id", userID.String()))
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to fetch transfers"})
|
||||
return
|
||||
}
|
||||
|
||||
RespondSuccess(c, http.StatusOK, gin.H{"data": transfers})
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue