diff --git a/internal/applicant/applicant.go b/internal/applicant/applicant.go index ebe6208f..8cd8b6d0 100644 --- a/internal/applicant/applicant.go +++ b/internal/applicant/applicant.go @@ -73,12 +73,7 @@ func NewWithApplyNode(node *domain.WorkflowNode) (Applicant, error) { if access, err := accessRepo.GetById(context.Background(), nodeConfig.ProviderAccessId); err != nil { return nil, fmt.Errorf("failed to get access #%s record: %w", nodeConfig.ProviderAccessId, err) } else { - accessConfig, err := access.UnmarshalConfigToMap() - if err != nil { - return nil, fmt.Errorf("failed to unmarshal access config: %w", err) - } - - options.ProviderAccessConfig = accessConfig + options.ProviderAccessConfig = access.Config } certRepo := repository.NewCertificateRepository() diff --git a/internal/deployer/deployer.go b/internal/deployer/deployer.go index 36e92866..6efc001c 100644 --- a/internal/deployer/deployer.go +++ b/internal/deployer/deployer.go @@ -39,14 +39,9 @@ func NewWithDeployNode(node *domain.WorkflowNode, certdata struct { return nil, fmt.Errorf("failed to get access #%s record: %w", nodeConfig.ProviderAccessId, err) } - accessConfig, err := access.UnmarshalConfigToMap() - if err != nil { - return nil, fmt.Errorf("failed to unmarshal access config: %w", err) - } - deployer, err := createDeployer(&deployerOptions{ Provider: domain.DeployProviderType(nodeConfig.Provider), - ProviderAccessConfig: accessConfig, + ProviderAccessConfig: access.Config, ProviderDeployConfig: nodeConfig.ProviderConfig, }) if err != nil { diff --git a/internal/domain/access.go b/internal/domain/access.go index 4b0b08b9..dc796c83 100644 --- a/internal/domain/access.go +++ b/internal/domain/access.go @@ -1,7 +1,6 @@ package domain import ( - "encoding/json" "time" ) @@ -9,19 +8,10 @@ const CollectionNameAccess = "access" type Access struct { Meta - Name string `json:"name" db:"name"` - Provider string `json:"provider" db:"provider"` - Config string `json:"config" db:"config"` - DeletedAt *time.Time `json:"deleted" db:"deleted"` -} - -func (a *Access) UnmarshalConfigToMap() (map[string]any, error) { - config := make(map[string]any) - if err := json.Unmarshal([]byte(a.Config), &config); err != nil { - return nil, err - } - - return config, nil + Name string `json:"name" db:"name"` + Provider string `json:"provider" db:"provider"` + Config map[string]any `json:"config" db:"config"` + DeletedAt *time.Time `json:"deleted" db:"deleted"` } type AccessConfigFor1Panel struct { diff --git a/internal/repository/access.go b/internal/repository/access.go index 0bfeaea9..d25a6366 100644 --- a/internal/repository/access.go +++ b/internal/repository/access.go @@ -39,6 +39,11 @@ func (r *AccessRepository) castRecordToModel(record *core.Record) (*domain.Acces return nil, fmt.Errorf("record is nil") } + config := make(map[string]any) + if err := record.UnmarshalJSONField("config", &config); err != nil { + return nil, err + } + access := &domain.Access{ Meta: domain.Meta{ Id: record.Id, @@ -47,7 +52,7 @@ func (r *AccessRepository) castRecordToModel(record *core.Record) (*domain.Acces }, Name: record.GetString("name"), Provider: record.GetString("provider"), - Config: record.GetString("config"), + Config: config, } return access, nil } diff --git a/ui/src/components/workflow/WorkflowRunDetail.tsx b/ui/src/components/workflow/WorkflowRunDetail.tsx index 5d8c7f29..e104410a 100644 --- a/ui/src/components/workflow/WorkflowRunDetail.tsx +++ b/ui/src/components/workflow/WorkflowRunDetail.tsx @@ -37,6 +37,7 @@ import Show from "@/components/Show"; import { type CertificateModel } from "@/domain/certificate"; import type { WorkflowLogModel } from "@/domain/workflowLog"; import { WORKFLOW_RUN_STATUSES, type WorkflowRunModel } from "@/domain/workflowRun"; +import { useBrowserTheme } from "@/hooks"; import { listByWorkflowRunId as listCertificatesByWorkflowRunId } from "@/repository/certificate"; import { listByWorkflowRunId as listLogsByWorkflowRunId } from "@/repository/workflowLog"; import { mergeCls } from "@/utils/css"; @@ -67,6 +68,7 @@ const WorkflowRunLogs = ({ runId, runStatus }: { runId: string; runStatus: strin const { t } = useTranslation(); const { token: themeToken } = theme.useToken(); + const { theme: browserTheme } = useBrowserTheme(); type Log = Pick; type LogGroup = { id: string; name: string; records: Log[] }; @@ -212,7 +214,7 @@ const WorkflowRunLogs = ({ runId, runStatus }: { runId: string; runStatus: strin }} trigger={["click"]} > -