mirror of
https://github.com/certimate-go/certimate.git
synced 2026-10-28 03:22:24 +08:00
refactor: clean code
This commit is contained in:
@@ -28,7 +28,7 @@ func (r *StatisticsRepository) Get(ctx context.Context) (*domain.Statistics, err
|
||||
Content string `db:"content"`
|
||||
}{}
|
||||
if err := app.GetDB().
|
||||
NewQuery("SELECT content FROM settings WHERE name = {:name}").
|
||||
NewQuery(fmt.Sprintf("SELECT content FROM %s WHERE name = {:name}", domain.CollectionNameSettings)).
|
||||
Bind(dbx.Params{"name": domain.SettingsNamePersistence}).
|
||||
One(&rsSettings); err != nil {
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
@@ -45,7 +45,7 @@ func (r *StatisticsRepository) Get(ctx context.Context) (*domain.Statistics, err
|
||||
Total int `db:"total"`
|
||||
}{}
|
||||
if err := app.GetDB().
|
||||
NewQuery("SELECT COUNT(*) AS total FROM certificate WHERE deleted = ''").
|
||||
NewQuery(fmt.Sprintf("SELECT COUNT(*) AS total FROM %s WHERE deleted = ''", domain.CollectionNameCertificate)).
|
||||
One(&rsCertTotal); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -56,7 +56,7 @@ func (r *StatisticsRepository) Get(ctx context.Context) (*domain.Statistics, err
|
||||
Total int `db:"total"`
|
||||
}{}
|
||||
if err := app.GetDB().
|
||||
NewQuery(fmt.Sprintf("SELECT COUNT(*) AS total FROM certificate WHERE validityNotAfter <= DATETIME('now', '+%d days') AND validityNotAfter > DATETIME('now') AND isRevoked = 0 AND deleted = ''", persistenceSettings.CertificatesWarningDaysBeforeExpire)).
|
||||
NewQuery(fmt.Sprintf("SELECT COUNT(*) AS total FROM %s WHERE validityNotAfter <= DATETIME('now', '+%d days') AND validityNotAfter > DATETIME('now') AND isRevoked = 0 AND deleted = ''", domain.CollectionNameCertificate, persistenceSettings.CertificatesWarningDaysBeforeExpire)).
|
||||
One(&rsCertExpiringSoonTotal); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -67,7 +67,7 @@ func (r *StatisticsRepository) Get(ctx context.Context) (*domain.Statistics, err
|
||||
Total int `db:"total"`
|
||||
}{}
|
||||
if err := app.GetDB().
|
||||
NewQuery("SELECT COUNT(*) AS total FROM certificate WHERE validityNotAfter <= DATETIME('now') AND deleted = ''").
|
||||
NewQuery(fmt.Sprintf("SELECT COUNT(*) AS total FROM %s WHERE validityNotAfter <= DATETIME('now') AND deleted = ''", domain.CollectionNameCertificate)).
|
||||
One(&rsCertExpiredTotal); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -78,7 +78,7 @@ func (r *StatisticsRepository) Get(ctx context.Context) (*domain.Statistics, err
|
||||
Total int `db:"total"`
|
||||
}{}
|
||||
if err := app.GetDB().
|
||||
NewQuery("SELECT COUNT(*) AS total FROM workflow").
|
||||
NewQuery(fmt.Sprintf("SELECT COUNT(*) AS total FROM %s", domain.CollectionNameWorkflow)).
|
||||
One(&rsWorkflowTotal); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -89,7 +89,7 @@ func (r *StatisticsRepository) Get(ctx context.Context) (*domain.Statistics, err
|
||||
Total int `db:"total"`
|
||||
}{}
|
||||
if err := app.GetDB().
|
||||
NewQuery("SELECT COUNT(*) AS total FROM workflow WHERE enabled IS TRUE").
|
||||
NewQuery(fmt.Sprintf("SELECT COUNT(*) AS total FROM %s WHERE enabled IS TRUE", domain.CollectionNameWorkflow)).
|
||||
One(&rsWorkflowEnabledTotal); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -89,10 +89,10 @@ func (wd *workflowDispatcher) Bootup(ctx context.Context) error {
|
||||
wd.taskMtx.Lock()
|
||||
defer wd.taskMtx.Unlock()
|
||||
|
||||
if _, err := app.GetDB().NewQuery("UPDATE workflow SET lastRunStatus = 'canceled' WHERE lastRunStatus = 'pending' OR lastRunStatus = 'processing'").Execute(); err != nil {
|
||||
if _, err := app.GetDB().NewQuery(fmt.Sprintf("UPDATE %s SET lastRunStatus = 'canceled' WHERE lastRunStatus = 'pending' OR lastRunStatus = 'processing'", domain.CollectionNameWorkflow)).Execute(); err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := app.GetDB().NewQuery("UPDATE workflow_run SET status = 'canceled' WHERE status = 'pending' OR status = 'processing'").Execute(); err != nil {
|
||||
if _, err := app.GetDB().NewQuery(fmt.Sprintf("UPDATE %s SET status = 'canceled' WHERE status = 'pending' OR status = 'processing'", domain.CollectionNameWorkflowRun)).Execute(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -255,6 +255,7 @@ func (wd *workflowDispatcher) tryExecuteAsync(task *taskInfo) {
|
||||
workflowRun.Error = errmsg
|
||||
}
|
||||
wd.workflowRunRepo.SaveWithCascading(task.ctx, workflowRun)
|
||||
|
||||
return nil
|
||||
})
|
||||
we.OnError(func(ctx context.Context, err error) error {
|
||||
@@ -267,6 +268,7 @@ func (wd *workflowDispatcher) tryExecuteAsync(task *taskInfo) {
|
||||
workflowRun.Error = err.Error()
|
||||
wd.workflowRunRepo.SaveWithCascading(task.ctx, workflowRun)
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
we.OnNodeError(func(ctx context.Context, node *engine.Node, err error) error {
|
||||
|
||||
@@ -69,13 +69,13 @@ func (we *workflowEngine) Invoke(ctx context.Context, execution WorkflowExecutio
|
||||
wfIOs := newInOutManager()
|
||||
|
||||
wfVars := newVariableManager()
|
||||
wfVars.Set(stateVarKeyWorkflowId, execution.WorkflowId, "string")
|
||||
wfVars.Set(stateVarKeyWorkflowName, execution.WorkflowName, "string")
|
||||
wfVars.Set(stateVarKeyRunId, execution.RunId, "string")
|
||||
wfVars.Set(stateVarKeyRunTrigger, execution.RunTrigger, "string")
|
||||
wfVars.Set(stateVarKeyErrorNodeId, "", "string")
|
||||
wfVars.Set(stateVarKeyErrorNodeName, "", "string")
|
||||
wfVars.Set(stateVarKeyErrorMessage, "", "string")
|
||||
wfVars.Set(stateVarKeyWorkflowId, execution.WorkflowId, stateValTypeString)
|
||||
wfVars.Set(stateVarKeyWorkflowName, execution.WorkflowName, stateValTypeString)
|
||||
wfVars.Set(stateVarKeyRunId, execution.RunId, stateValTypeString)
|
||||
wfVars.Set(stateVarKeyRunTrigger, execution.RunTrigger, stateValTypeString)
|
||||
wfVars.Set(stateVarKeyErrorNodeId, "", stateValTypeString)
|
||||
wfVars.Set(stateVarKeyErrorNodeName, "", stateValTypeString)
|
||||
wfVars.Set(stateVarKeyErrorMessage, "", stateValTypeString)
|
||||
|
||||
wfCtx := (&WorkflowContext{}).
|
||||
SetExecutingWorkflow(execution.WorkflowId, execution.RunId, execution.Graph).
|
||||
@@ -153,8 +153,8 @@ func (we *workflowEngine) executeNode(wfCtx *WorkflowContext, node *Node) error
|
||||
executor.SetLogger(logger)
|
||||
}
|
||||
|
||||
wfCtx.variables.SetScoped(node.Id, stateVarKeyNodeId, node.Id, "string")
|
||||
wfCtx.variables.SetScoped(node.Id, stateVarKeyNodeName, node.Data.Name, "string")
|
||||
wfCtx.variables.SetScoped(node.Id, stateVarKeyNodeId, node.Id, stateValTypeString)
|
||||
wfCtx.variables.SetScoped(node.Id, stateVarKeyNodeName, node.Data.Name, stateValTypeString)
|
||||
|
||||
// 节点已禁用,直接跳过执行
|
||||
if node.Data.Disabled {
|
||||
@@ -167,9 +167,9 @@ func (we *workflowEngine) executeNode(wfCtx *WorkflowContext, node *Node) error
|
||||
execRes, err := executor.Execute(execCtx)
|
||||
if err != nil && !errors.Is(err, ErrTerminated) {
|
||||
if !errors.Is(err, ErrBlocksException) {
|
||||
wfCtx.variables.Set(stateVarKeyErrorNodeId, node.Id, "string")
|
||||
wfCtx.variables.Set(stateVarKeyErrorNodeName, node.Data.Name, "string")
|
||||
wfCtx.variables.Set(stateVarKeyErrorMessage, err.Error(), "string")
|
||||
wfCtx.variables.Set(stateVarKeyErrorNodeId, node.Id, stateValTypeString)
|
||||
wfCtx.variables.Set(stateVarKeyErrorNodeName, node.Data.Name, stateValTypeString)
|
||||
wfCtx.variables.Set(stateVarKeyErrorMessage, err.Error(), stateValTypeString)
|
||||
}
|
||||
|
||||
we.fireOnNodeErrorHooks(wfCtx.ctx, node, err)
|
||||
@@ -198,7 +198,7 @@ func (we *workflowEngine) executeNode(wfCtx *WorkflowContext, node *Node) error
|
||||
RunId: execCtx.RunId,
|
||||
NodeId: execCtx.Node.Id,
|
||||
NodeConfig: execCtx.Node.Data.Config,
|
||||
Succeeded: true, // 目前恒为 true
|
||||
Succeeded: true, // TODO: 目前恒为 true
|
||||
}
|
||||
if len(execOutputs) > 0 {
|
||||
output.Outputs = lo.Map(execOutputs, func(state InOutState, _ int) *domain.WorkflowOutputEntry {
|
||||
|
||||
@@ -86,7 +86,7 @@ func (ne *bizApplyNodeExecutor) Execute(execCtx *NodeExecutionContext) (*NodeExe
|
||||
if skippable, reason := ne.checkCanSkip(execCtx, lastOutput, lastCertificate); skippable {
|
||||
ne.logger.Info(fmt.Sprintf("skip this application, because %s", reason))
|
||||
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, true, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, true, stateValTypeBoolean)
|
||||
return execRes, nil
|
||||
} else {
|
||||
if reason != "" {
|
||||
@@ -95,7 +95,7 @@ func (ne *bizApplyNodeExecutor) Execute(execCtx *NodeExecutionContext) (*NodeExe
|
||||
ne.logger.Info("no found last requested certificate, begin to apply")
|
||||
}
|
||||
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, false, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, false, stateValTypeBoolean)
|
||||
}
|
||||
|
||||
// 申请证书
|
||||
@@ -437,9 +437,9 @@ func (ne *bizApplyNodeExecutor) setOuputsOfResult(execCtx *NodeExecutionContext,
|
||||
key := "certificate"
|
||||
value := fmt.Sprintf("%s#%s", domain.CollectionNameCertificate, certificate.Id)
|
||||
if persistent {
|
||||
execRes.AddOutputWithPersistent(stateIOTypeRef, key, value, "string")
|
||||
execRes.AddOutputWithPersistent(stateIOTypeRef, key, value, stateValTypeString)
|
||||
} else {
|
||||
execRes.AddOutput(stateIOTypeRef, key, value, "string")
|
||||
execRes.AddOutput(stateIOTypeRef, key, value, stateValTypeString)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -463,24 +463,24 @@ func (ne *bizApplyNodeExecutor) setVariablesOfResult(execCtx *NodeExecutionConte
|
||||
vValidity = certificate.ValidityNotAfter.After(time.Now())
|
||||
}
|
||||
|
||||
execRes.AddVariable(stateVarKeyCertificateDomain, vCommonName, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateDomains, vSubjectAltNames, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateCommonName, vCommonName, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateNotBefore, vNotBefore, "datetime")
|
||||
execRes.AddVariable(stateVarKeyCertificateNotAfter, vNotAfter, "datetime")
|
||||
execRes.AddVariable(stateVarKeyCertificateHoursLeft, vHoursLeft, "number")
|
||||
execRes.AddVariable(stateVarKeyCertificateDaysLeft, vDaysLeft, "number")
|
||||
execRes.AddVariable(stateVarKeyCertificateValidity, vValidity, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomain, vCommonName, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomains, vSubjectAltNames, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateCommonName, vCommonName, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotBefore, vNotBefore, "datetime")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotAfter, vNotAfter, "datetime")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateHoursLeft, vHoursLeft, "number")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDaysLeft, vDaysLeft, "number")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateValidity, vValidity, "boolean")
|
||||
execRes.AddVariable(stateVarKeyCertificateDomain, vCommonName, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateDomains, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateCommonName, vCommonName, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateNotBefore, vNotBefore, stateValTypeDateTime)
|
||||
execRes.AddVariable(stateVarKeyCertificateNotAfter, vNotAfter, stateValTypeDateTime)
|
||||
execRes.AddVariable(stateVarKeyCertificateHoursLeft, vHoursLeft, stateValTypeNumber)
|
||||
execRes.AddVariable(stateVarKeyCertificateDaysLeft, vDaysLeft, stateValTypeNumber)
|
||||
execRes.AddVariable(stateVarKeyCertificateValidity, vValidity, stateValTypeBoolean)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomain, vCommonName, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomains, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateCommonName, vCommonName, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotBefore, vNotBefore, stateValTypeDateTime)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotAfter, vNotAfter, stateValTypeDateTime)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateHoursLeft, vHoursLeft, stateValTypeNumber)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDaysLeft, vDaysLeft, stateValTypeNumber)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateValidity, vValidity, stateValTypeBoolean)
|
||||
}
|
||||
|
||||
func newBizApplyNodeExecutor() NodeExecutor {
|
||||
|
||||
@@ -67,15 +67,15 @@ func (ne *bizDeployNodeExecutor) Execute(execCtx *NodeExecutionContext) (*NodeEx
|
||||
if skippable, reason := ne.checkCanSkip(execCtx, lastOutput); skippable {
|
||||
ne.logger.Info(fmt.Sprintf("skip this deployment, because %s", reason))
|
||||
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, true, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, true, stateValTypeBoolean)
|
||||
return execRes, nil
|
||||
} else if reason != "" {
|
||||
ne.logger.Info(fmt.Sprintf("re-deploy, because %s", reason))
|
||||
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, false, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, false, stateValTypeBoolean)
|
||||
}
|
||||
} else {
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, false, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, false, stateValTypeBoolean)
|
||||
}
|
||||
|
||||
// 读取部署提供商授权
|
||||
|
||||
@@ -107,8 +107,8 @@ func (ne *bizMonitorNodeExecutor) Execute(execCtx *NodeExecutionContext) (*NodeE
|
||||
}
|
||||
|
||||
// 除了验证证书有效期,还要确保证书与域名匹配
|
||||
execRes.AddVariable(stateVarKeyCertificateValidity, false, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateValidity, false, "boolean")
|
||||
execRes.AddVariable(stateVarKeyCertificateValidity, false, stateValTypeBoolean)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateValidity, false, stateValTypeBoolean)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -173,24 +173,24 @@ func (ne *bizMonitorNodeExecutor) setVariablesOfResult(execCtx *NodeExecutionCon
|
||||
vValidity = certX509.NotAfter.After(time.Now())
|
||||
}
|
||||
|
||||
execRes.AddVariable(stateVarKeyCertificateDomain, vCommonName, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateDomains, vSubjectAltNames, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateCommonName, vCommonName, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateNotBefore, vNotBefore, "datetime")
|
||||
execRes.AddVariable(stateVarKeyCertificateNotAfter, vNotAfter, "datetime")
|
||||
execRes.AddVariable(stateVarKeyCertificateHoursLeft, vHoursLeft, "number")
|
||||
execRes.AddVariable(stateVarKeyCertificateDaysLeft, vDaysLeft, "number")
|
||||
execRes.AddVariable(stateVarKeyCertificateValidity, vValidity, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomain, vCommonName, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomains, vSubjectAltNames, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateCommonName, vCommonName, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotBefore, vNotBefore, "datetime")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotAfter, vNotAfter, "datetime")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateHoursLeft, vHoursLeft, "number")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDaysLeft, vDaysLeft, "number")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateValidity, vValidity, "boolean")
|
||||
execRes.AddVariable(stateVarKeyCertificateDomain, vCommonName, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateDomains, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateCommonName, vCommonName, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateNotBefore, vNotBefore, stateValTypeDateTime)
|
||||
execRes.AddVariable(stateVarKeyCertificateNotAfter, vNotAfter, stateValTypeDateTime)
|
||||
execRes.AddVariable(stateVarKeyCertificateHoursLeft, vHoursLeft, stateValTypeNumber)
|
||||
execRes.AddVariable(stateVarKeyCertificateDaysLeft, vDaysLeft, stateValTypeNumber)
|
||||
execRes.AddVariable(stateVarKeyCertificateValidity, vValidity, stateValTypeBoolean)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomain, vCommonName, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomains, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateCommonName, vCommonName, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotBefore, vNotBefore, stateValTypeDateTime)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotAfter, vNotAfter, stateValTypeDateTime)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateHoursLeft, vHoursLeft, stateValTypeNumber)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDaysLeft, vDaysLeft, stateValTypeNumber)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateValidity, vValidity, stateValTypeBoolean)
|
||||
}
|
||||
|
||||
func newBizMonitorNodeExecutor() NodeExecutor {
|
||||
|
||||
@@ -68,7 +68,7 @@ func (ne *bizUploadNodeExecutor) Execute(execCtx *NodeExecutionContext) (*NodeEx
|
||||
if skippable, reason := ne.checkCanSkip(execCtx, lastOutput, lastCertificate); skippable {
|
||||
ne.logger.Info(fmt.Sprintf("skip this uploading, because %s", reason))
|
||||
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, true, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyNodeSkipped, true, stateValTypeBoolean)
|
||||
return execRes, nil
|
||||
} else if reason != "" {
|
||||
ne.logger.Info(fmt.Sprintf("re-upload, because %s", reason))
|
||||
@@ -248,9 +248,9 @@ func (ne *bizUploadNodeExecutor) setOuputsOfResult(execCtx *NodeExecutionContext
|
||||
key := "certificate"
|
||||
value := fmt.Sprintf("%s#%s", domain.CollectionNameCertificate, certificate.Id)
|
||||
if persistent {
|
||||
execRes.AddOutputWithPersistent(stateIOTypeRef, key, value, "string")
|
||||
execRes.AddOutputWithPersistent(stateIOTypeRef, key, value, stateValTypeString)
|
||||
} else {
|
||||
execRes.AddOutput(stateIOTypeRef, key, value, "string")
|
||||
execRes.AddOutput(stateIOTypeRef, key, value, stateValTypeString)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -274,24 +274,24 @@ func (ne *bizUploadNodeExecutor) setVariablesOfResult(execCtx *NodeExecutionCont
|
||||
vValidity = certificate.ValidityNotAfter.After(time.Now())
|
||||
}
|
||||
|
||||
execRes.AddVariable(stateVarKeyCertificateDomain, vCommonName, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateDomains, vSubjectAltNames, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateCommonName, vCommonName, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, "string")
|
||||
execRes.AddVariable(stateVarKeyCertificateNotBefore, vNotBefore, "datetime")
|
||||
execRes.AddVariable(stateVarKeyCertificateNotAfter, vNotAfter, "datetime")
|
||||
execRes.AddVariable(stateVarKeyCertificateHoursLeft, vHoursLeft, "number")
|
||||
execRes.AddVariable(stateVarKeyCertificateDaysLeft, vDaysLeft, "number")
|
||||
execRes.AddVariable(stateVarKeyCertificateValidity, vValidity, "boolean")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomain, vCommonName, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomains, vSubjectAltNames, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateCommonName, vCommonName, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, "string")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotBefore, vNotBefore, "datetime")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotAfter, vNotAfter, "datetime")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateHoursLeft, vHoursLeft, "number")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDaysLeft, vDaysLeft, "number")
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateValidity, vValidity, "boolean")
|
||||
execRes.AddVariable(stateVarKeyCertificateDomain, vCommonName, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateDomains, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateCommonName, vCommonName, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariable(stateVarKeyCertificateNotBefore, vNotBefore, stateValTypeDateTime)
|
||||
execRes.AddVariable(stateVarKeyCertificateNotAfter, vNotAfter, stateValTypeDateTime)
|
||||
execRes.AddVariable(stateVarKeyCertificateHoursLeft, vHoursLeft, stateValTypeNumber)
|
||||
execRes.AddVariable(stateVarKeyCertificateDaysLeft, vDaysLeft, stateValTypeNumber)
|
||||
execRes.AddVariable(stateVarKeyCertificateValidity, vValidity, stateValTypeBoolean)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomain, vCommonName, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDomains, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateCommonName, vCommonName, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateSubjectAltNames, vSubjectAltNames, stateValTypeString)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotBefore, vNotBefore, stateValTypeDateTime)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateNotAfter, vNotAfter, stateValTypeDateTime)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateHoursLeft, vHoursLeft, stateValTypeNumber)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateDaysLeft, vDaysLeft, stateValTypeNumber)
|
||||
execRes.AddVariableWithScope(execCtx.Node.Id, stateVarKeyCertificateValidity, vValidity, stateValTypeBoolean)
|
||||
}
|
||||
|
||||
func newBizUploadNodeExecutor() NodeExecutor {
|
||||
|
||||
@@ -17,13 +17,13 @@ type VariableState struct {
|
||||
|
||||
func (s VariableState) ValueString() string {
|
||||
switch s.ValueType {
|
||||
case "string":
|
||||
case stateValTypeString:
|
||||
return fmt.Sprintf("%s", s.Value)
|
||||
case "number":
|
||||
case stateValTypeNumber:
|
||||
return fmt.Sprintf("%d", s.Value)
|
||||
case "boolean":
|
||||
case stateValTypeBoolean:
|
||||
return strconv.FormatBool(s.Value.(bool))
|
||||
case "datetime":
|
||||
case stateValTypeDateTime:
|
||||
valueAsTime := s.Value.(time.Time)
|
||||
if valueAsTime.IsZero() {
|
||||
return "-"
|
||||
@@ -166,11 +166,11 @@ type InOutState struct {
|
||||
|
||||
func (s InOutState) ValueString() string {
|
||||
switch s.ValueType {
|
||||
case "string":
|
||||
case stateValTypeString:
|
||||
return s.Value.(string)
|
||||
case "number":
|
||||
case stateValTypeNumber:
|
||||
return fmt.Sprintf("%d", s.Value)
|
||||
case "boolean":
|
||||
case stateValTypeBoolean:
|
||||
return strconv.FormatBool(s.Value.(bool))
|
||||
default:
|
||||
return fmt.Sprintf("%v", s.Value)
|
||||
@@ -278,6 +278,13 @@ func newInOutManager() InOutManager {
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
stateValTypeBoolean = "boolean"
|
||||
stateValTypeDateTime = "datetime"
|
||||
stateValTypeNumber = "number"
|
||||
stateValTypeString = "string"
|
||||
)
|
||||
|
||||
const (
|
||||
stateIOTypeRef = "ref"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user