From ccae408a25ecce490bfaa3aab7aec3aeef9fb117 Mon Sep 17 00:00:00 2001 From: Bryan Frimin Date: Mon, 7 Jul 2025 16:17:27 +0200 Subject: [PATCH] Validate signature request state before cancellation Signed-off-by: Bryan Frimin --- pkg/probo/document_service.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/probo/document_service.go b/pkg/probo/document_service.go index feda56ccf..9a9112693 100644 --- a/pkg/probo/document_service.go +++ b/pkg/probo/document_service.go @@ -873,6 +873,14 @@ func (s *DocumentService) CancelSignatureRequest( return s.svc.pg.WithTx( ctx, func(tx pg.Conn) error { + if err := documentVersionSignature.LoadByID(ctx, tx, s.svc.scope, documentVersionSignatureID); err != nil { + return fmt.Errorf("cannot load document version signature: %w", err) + } + + if documentVersionSignature.State != coredata.DocumentVersionSignatureStateRequested { + return fmt.Errorf("cannot cancel signature request: %w", err) + } + if err := documentVersionSignature.Delete(ctx, tx, s.svc.scope, documentVersionSignatureID); err != nil { return fmt.Errorf("cannot delete document version signature: %w", err) }