фикс создания фасовки

This commit is contained in:
2025-12-29 12:34:52 +03:00
parent 310a64e3ba
commit d6703e1a4b
8 changed files with 128 additions and 50 deletions

View File

@@ -9,16 +9,18 @@ import (
"rmser/internal/services/drafts"
invService "rmser/internal/services/invoices"
"rmser/internal/services/sync"
"rmser/pkg/logger"
)
type InvoiceHandler struct {
service *invService.Service
draftsService *drafts.Service
syncService *sync.Service
}
func NewInvoiceHandler(service *invService.Service) *InvoiceHandler {
return &InvoiceHandler{service: service}
func NewInvoiceHandler(service *invService.Service, syncService *sync.Service) *InvoiceHandler {
return &InvoiceHandler{service: service, syncService: syncService}
}
// SendInvoice godoc
@@ -85,3 +87,26 @@ func (h *InvoiceHandler) GetInvoice(c *gin.Context) {
c.JSON(http.StatusOK, dto)
}
// SyncInvoices godoc
// @Summary Запустить синхронизацию накладных
// @Description Запускает синхронизацию накладных для пользователя
// @Tags invoices
// @Produce json
// @Success 200 {object} map[string]string
// @Failure 500 {object} map[string]string
func (h *InvoiceHandler) SyncInvoices(c *gin.Context) {
userID := c.MustGet("userID").(uuid.UUID)
err := h.syncService.SyncInvoicesOnly(userID)
if err != nil {
logger.Log.Error("Ошибка синхронизации накладных", zap.Error(err))
c.JSON(http.StatusInternalServerError, gin.H{"error": "Ошибка синхронизации"})
return
}
c.JSON(http.StatusOK, gin.H{
"status": "ok",
"message": "Синхронизация запущена",
})
}