refactor: clean code

This commit is contained in:
Fu Diwei
2026-01-06 15:51:17 +08:00
committed by RHQYZ
parent 8fce7c56a7
commit 1a0d41d623
8 changed files with 103 additions and 94 deletions
+6 -6
View File
@@ -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
}
+4 -2
View File
@@ -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 {
+13 -13
View File
@@ -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 {
+22 -22
View File
@@ -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)
}
// 读取部署提供商授权
+20 -20
View File
@@ -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 {
+21 -21
View File
@@ -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 {
+14 -7
View File
@@ -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"
)