From a8e7de756897e8a396e13631463e2e9a4fe3f6da Mon Sep 17 00:00:00 2001 From: xuans Date: Sat, 3 Oct 2026 01:42:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=AF=81=E4=B9=A6=E6=81=A2?= =?UTF-8?q?=E5=A4=8D=E5=90=8E=E5=8F=B0=E4=BB=BB=E5=8A=A1=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E5=87=86=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 保存恢复任务依赖注入和任务配置检查的中间状态,便于继续完成异步恢复链路。 --- backend/internal/httpapi/server.go | 3 +++ backend/internal/httpapi/task_api.go | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/internal/httpapi/server.go b/backend/internal/httpapi/server.go index 7dd1f64..90cc284 100644 --- a/backend/internal/httpapi/server.go +++ b/backend/internal/httpapi/server.go @@ -66,6 +66,7 @@ type Dependencies struct { // DeployCertificateTask 执行已有任务,不得重复创建任务或尝试记录。 DeployCertificateTask func(context.Context, string) (certificate.IssueResult, deployment.Report, error) RestoreCertificateVersion func(context.Context, string, string) (certificate.IssueResult, error) + RestoreCertificateVersionTask func(context.Context, string, string) (certificate.IssueResult, error) ValidateCertificate func(context.Context, string) (certificate.IssueResult, certificate.ValidationResult, error) // ValidateCertificateTask 直接校验当前证书,不重复创建任务。 ValidateCertificateTask func(context.Context, string) (certificate.IssueResult, certificate.ValidationResult, error) @@ -107,6 +108,7 @@ type Server struct { deployCertificate func(context.Context, string) (certificate.IssueResult, deployment.Report, error) deployCertificateTask func(context.Context, string) (certificate.IssueResult, deployment.Report, error) restoreVersion func(context.Context, string, string) (certificate.IssueResult, error) + restoreVersionTask func(context.Context, string, string) (certificate.IssueResult, error) validateCertificateWorkflow func(context.Context, string) (certificate.IssueResult, certificate.ValidationResult, error) validateCertificateTask func(context.Context, string) (certificate.IssueResult, certificate.ValidationResult, error) @@ -177,6 +179,7 @@ func New(deps Dependencies) *Server { deployCertificate: deps.DeployCertificate, deployCertificateTask: deps.DeployCertificateTask, restoreVersion: deps.RestoreCertificateVersion, + restoreVersionTask: deps.RestoreCertificateVersionTask, validateCertificateWorkflow: deps.ValidateCertificate, validateCertificateTask: deps.ValidateCertificateTask, runRenewal: deps.RunRenewal, diff --git a/backend/internal/httpapi/task_api.go b/backend/internal/httpapi/task_api.go index f0e00cc..c868b58 100644 --- a/backend/internal/httpapi/task_api.go +++ b/backend/internal/httpapi/task_api.go @@ -38,7 +38,10 @@ func (s *Server) submitPreparedDomainTask(c *gin.Context, taskType string, prepa prepared.cleanup() } }() - if (taskType == "certificate_issue" && s.issueCertificate == nil) || (taskType == "certificate_deploy" && s.deployCertificateTask == nil) || (taskType == "certificate_validate" && s.validateCertificateTask == nil) { + if (taskType == "certificate_issue" && s.issueCertificate == nil) || + (taskType == "certificate_deploy" && s.deployCertificateTask == nil) || + (taskType == "certificate_validate" && s.validateCertificateTask == nil) || + (taskType == "certificate_restore" && s.restoreVersionTask == nil) { s.writeError(c, http.StatusNotImplemented, "证书申请接口尚未配置", errors.New("证书申请工作流未配置")) return }