From 5e6d72963176eccda83433134d79ec9b51d220b7 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Mon, 9 Jun 2025 20:44:48 +0800 Subject: [PATCH] fix: #769 --- internal/repository/certificate.go | 19 ------------------- .../workflow/node-processor/apply_node.go | 4 ++-- internal/workflow/node-processor/processor.go | 1 - .../workflow/node-processor/upload_node.go | 2 +- 4 files changed, 3 insertions(+), 23 deletions(-) diff --git a/internal/repository/certificate.go b/internal/repository/certificate.go index 290d5f9f..f5a345c7 100644 --- a/internal/repository/certificate.go +++ b/internal/repository/certificate.go @@ -77,25 +77,6 @@ func (r *CertificateRepository) GetByWorkflowNodeId(ctx context.Context, workflo return r.castRecordToModel(records[0]) } -func (r *CertificateRepository) GetByWorkflowRunId(ctx context.Context, workflowRunId string) (*domain.Certificate, error) { - records, err := app.GetApp().FindRecordsByFilter( - domain.CollectionNameCertificate, - "workflowRunId={:workflowRunId} && deleted=null", - "-created", - 1, 0, - dbx.Params{"workflowRunId": workflowRunId}, - ) - if err != nil { - return nil, err - } - - if len(records) == 0 { - return nil, domain.ErrRecordNotFound - } - - return r.castRecordToModel(records[0]) -} - func (r *CertificateRepository) Save(ctx context.Context, certificate *domain.Certificate) (*domain.Certificate, error) { collection, err := app.GetApp().FindCollectionByNameOrId(domain.CollectionNameCertificate) if err != nil { diff --git a/internal/workflow/node-processor/apply_node.go b/internal/workflow/node-processor/apply_node.go index 96cbabfb..313d21a6 100644 --- a/internal/workflow/node-processor/apply_node.go +++ b/internal/workflow/node-processor/apply_node.go @@ -105,7 +105,7 @@ func (n *applyNode) Process(ctx context.Context) error { // 保存 ARI 记录 if applyResult.ARIReplaced && lastOutput != nil { - lastCertificate, _ := n.certRepo.GetByWorkflowRunId(ctx, lastOutput.RunId) + lastCertificate, _ := n.certRepo.GetByWorkflowNodeId(ctx, lastOutput.NodeId) if lastCertificate != nil { lastCertificate.ACMERenewed = true n.certRepo.Save(ctx, lastCertificate) @@ -155,7 +155,7 @@ func (n *applyNode) checkCanSkip(ctx context.Context, lastOutput *domain.Workflo return false, "the configuration item 'KeyAlgorithm' changed" } - lastCertificate, _ := n.certRepo.GetByWorkflowRunId(ctx, lastOutput.RunId) + lastCertificate, _ := n.certRepo.GetByWorkflowNodeId(ctx, lastOutput.NodeId) if lastCertificate != nil { renewalInterval := time.Duration(thisNodeCfg.SkipBeforeExpiryDays) * time.Hour * 24 expirationTime := time.Until(lastCertificate.ExpireAt) diff --git a/internal/workflow/node-processor/processor.go b/internal/workflow/node-processor/processor.go index d375883f..ec0a1d91 100644 --- a/internal/workflow/node-processor/processor.go +++ b/internal/workflow/node-processor/processor.go @@ -50,7 +50,6 @@ func (n *nodeOutputer) GetOutputs() map[string]any { type certificateRepository interface { GetByWorkflowNodeId(ctx context.Context, workflowNodeId string) (*domain.Certificate, error) - GetByWorkflowRunId(ctx context.Context, workflowRunId string) (*domain.Certificate, error) Save(ctx context.Context, certificate *domain.Certificate) (*domain.Certificate, error) } diff --git a/internal/workflow/node-processor/upload_node.go b/internal/workflow/node-processor/upload_node.go index c06d0e82..95aac51d 100644 --- a/internal/workflow/node-processor/upload_node.go +++ b/internal/workflow/node-processor/upload_node.go @@ -93,7 +93,7 @@ func (n *uploadNode) checkCanSkip(ctx context.Context, lastOutput *domain.Workfl return false, "the configuration item 'PrivateKey' changed" } - lastCertificate, _ := n.certRepo.GetByWorkflowRunId(ctx, lastOutput.RunId) + lastCertificate, _ := n.certRepo.GetByWorkflowNodeId(ctx, lastOutput.NodeId) if lastCertificate != nil { daysLeft := int(time.Until(lastCertificate.ExpireAt).Hours() / 24) n.outputs[outputKeyForCertificateValidity] = strconv.FormatBool(daysLeft > 0)