From 0d7e147df65a0d06250b80749ef60097cc692255 Mon Sep 17 00:00:00 2001 From: Rostislav Dugin Date: Tue, 17 Mar 2026 16:33:00 +0300 Subject: [PATCH] FIX (wal): Allow to save error via /complete endpoint --- .../backups/controllers/postgres_wal_controller.go | 8 ++++++++ backend/internal/features/backups/backups/dto/dto.go | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/backend/internal/features/backups/backups/controllers/postgres_wal_controller.go b/backend/internal/features/backups/backups/controllers/postgres_wal_controller.go index 5888651..c18f254 100644 --- a/backend/internal/features/backups/backups/controllers/postgres_wal_controller.go +++ b/backend/internal/features/backups/backups/controllers/postgres_wal_controller.go @@ -222,6 +222,14 @@ func (c *PostgreWalBackupController) CompleteFullBackupUpload(ctx *gin.Context) return } + if request.Error == nil && (request.StartSegment == "" || request.StopSegment == "") { + ctx.JSON( + http.StatusBadRequest, + gin.H{"error": "startSegment and stopSegment are required when no error is provided"}, + ) + return + } + if err := c.walService.FinalizeBasebackup( database, request.BackupID, diff --git a/backend/internal/features/backups/backups/dto/dto.go b/backend/internal/features/backups/backups/dto/dto.go index bd969c0..fa5564c 100644 --- a/backend/internal/features/backups/backups/dto/dto.go +++ b/backend/internal/features/backups/backups/dto/dto.go @@ -84,7 +84,7 @@ type UploadBasebackupResponse struct { type FinalizeBasebackupRequest struct { BackupID uuid.UUID `json:"backupId" binding:"required"` - StartSegment string `json:"startSegment" binding:"required"` - StopSegment string `json:"stopSegment" binding:"required"` + StartSegment string `json:"startSegment"` + StopSegment string `json:"stopSegment"` Error *string `json:"error"` }