@@ -8,21 +8,21 @@ import (
88)
99
1010type AppDetail struct {
11- Metadata * AppMetadata `json:"metadata,notnull" validate:"required"`
12- GitMaterials []* GitMaterial `json:"gitMaterials,notnull"`
13- DockerConfig * DockerConfig `json:"dockerConfig"`
14- GlobalDeploymentTemplate * DeploymentTemplate `json:"globalDeploymentTemplate,notnull"`
15- AppWorkflows []* AppWorkflow `json:"workflows"`
16- GlobalConfigMaps []* ConfigMap `json:"globalConfigMaps"`
17- GlobalSecrets []* Secret `json:"globalSecrets"`
18- EnvironmentOverrides map [string ]* EnvironmentOverride `json:"environmentOverride"`
11+ Metadata * AppMetadata `json:"metadata,notnull" validate:"dive, required"`
12+ GitMaterials []* GitMaterial `json:"gitMaterials,notnull" validate:"dive,min=1" `
13+ DockerConfig * DockerConfig `json:"dockerConfig" validate:"dive" `
14+ GlobalDeploymentTemplate * DeploymentTemplate `json:"globalDeploymentTemplate,notnull" validate:"dive" `
15+ AppWorkflows []* AppWorkflow `json:"workflows,omitempty" validate:"dive "`
16+ GlobalConfigMaps []* ConfigMap `json:"globalConfigMaps,omitempty" validate:"dive "`
17+ GlobalSecrets []* Secret `json:"globalSecrets,omitempty" validate:"dive "`
18+ EnvironmentOverrides map [string ]* EnvironmentOverride `json:"environmentOverride,omitempty" validate:"dive "`
1919}
2020
2121type AppWorkflowCloneDto struct {
2222 AppId int `json:"appId"`
23- AppName string `json:"appName"`
24- AppWorkflows []* AppWorkflow `json:"workflows"`
25- EnvironmentOverrides map [string ]* EnvironmentOverride `json:"environmentOverride"`
23+ AppName string `json:"appName" validate:"required" `
24+ AppWorkflows []* AppWorkflow `json:"workflows,omitempty" validate:"dive "`
25+ EnvironmentOverrides map [string ]* EnvironmentOverride `json:"environmentOverride,omitempty" validate:"dive "`
2626}
2727
2828type AppMetadata struct {
@@ -71,15 +71,15 @@ type DeploymentTemplate struct {
7171}
7272
7373type AppWorkflow struct {
74- Name string `json:"name"`
75- CiPipeline * CiPipelineDetails `json:"ciPipeline"`
76- CdPipelines []* CdPipelineDetails `json:"cdPipelines"`
74+ Name string `json:"name" validate:"required" `
75+ CiPipeline * CiPipelineDetails `json:"ciPipeline" validate:"dive,required" `
76+ CdPipelines []* CdPipelineDetails `json:"cdPipelines,omitempty" validate:"dive "`
7777}
7878
7979type CiPipelineDetails struct {
8080 Name string `json:"name" validate:"required"` //name suffix of corresponding pipeline
81- IsManual bool `json:"isManual" validate:"required" `
82- CiPipelineMaterialsConfig []* CiPipelineMaterialConfig `json:"ciPipelineMaterialsConfig"`
81+ IsManual bool `json:"isManual"`
82+ CiPipelineMaterialsConfig []* CiPipelineMaterialConfig `json:"ciPipelineMaterialsConfig" validate:"dive,min=1" `
8383 DockerBuildArgs map [string ]string `json:"dockerBuildArgs"`
8484 BeforeDockerBuildScripts []* BuildScript `json:"beforeDockerBuildScripts"`
8585 AfterDockerBuildScripts []* BuildScript `json:"afterDockerBuildScripts"`
@@ -93,7 +93,7 @@ type CiPipelineDetails struct {
9393}
9494
9595type CiPipelineMaterialConfig struct {
96- Type pipelineConfig.SourceType `json:"type,omitempty" validate:"oneof=SOURCE_TYPE_BRANCH_FIXED WEBHOOK"`
96+ Type pipelineConfig.SourceType `json:"type,omitempty" validate:"oneof=SOURCE_TYPE_BRANCH_FIXED SOURCE_TYPE_BRANCH_REGEX SOURCE_TYPE_TAG_ANY WEBHOOK"`
9797 Value string `json:"value,omitempty" `
9898 CheckoutPath string `json:"checkoutPath"`
9999 GitMaterialId int `json:"gitMaterialId"`
@@ -107,9 +107,9 @@ type BuildScript struct {
107107}
108108
109109type CdPipelineDetails struct {
110- Name string `json:"name"` //pipelineName
111- EnvironmentName string `json:"environmentName" `
112- TriggerType pipelineConfig.TriggerType `json:"triggerType" validate:"required "`
110+ Name string `json:"name" validate:"required" ` //pipelineName
111+ EnvironmentName string `json:"environmentName" validate:"required" `
112+ TriggerType pipelineConfig.TriggerType `json:"triggerType" validate:"oneof=AUTOMATIC MANUAL "`
113113 DeploymentAppType string `json:"deploymentAppType"`
114114 DeploymentStrategyType chartRepoRepository.DeploymentStrategy `json:"deploymentType,omitempty"` //
115115 DeploymentStrategies []* DeploymentStrategy `json:"deploymentStrategies"`
0 commit comments