mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
3001-фух.это был сильный спринт.
сервис стал сильно лучше черновики сохраняются одним запросом дто черновиков вынесен отдельно
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
"github.com/shopspring/decimal"
|
||||
"go.uber.org/zap"
|
||||
|
||||
draftsdomain "rmser/internal/domain/drafts"
|
||||
"rmser/internal/services/drafts"
|
||||
"rmser/internal/services/ocr"
|
||||
"rmser/pkg/logger"
|
||||
@@ -361,6 +362,30 @@ func (h *DraftsHandler) ReorderItems(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{"success": true})
|
||||
}
|
||||
|
||||
// UpdateDraft обновляет черновик (шапку и позиции) пакетно
|
||||
func (h *DraftsHandler) UpdateDraft(c *gin.Context) {
|
||||
userID := c.MustGet("userID").(uuid.UUID)
|
||||
draftID, err := uuid.Parse(c.Param("id"))
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "invalid draft id"})
|
||||
return
|
||||
}
|
||||
|
||||
var req draftsdomain.UpdateDraftRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
if err := h.service.SaveDraftFull(draftID, userID, req); err != nil {
|
||||
logger.Log.Error("Failed to update draft", zap.Error(err))
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Не удалось сохранить изменения. Проверьте данные."})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"status": "updated"})
|
||||
}
|
||||
|
||||
// Upload обрабатывает загрузку файла и прогоняет через OCR
|
||||
func (h *DraftsHandler) Upload(c *gin.Context) {
|
||||
// Лимит размера тела запроса (20MB)
|
||||
|
||||
Reference in New Issue
Block a user