Skip to content

Commit 111e3bd

Browse files
authored
fix: deployment template editor view support in create app api (#2697)
* fix for deployment template editor view in create app api * removed validate tag for bool type * updated spec
1 parent ff66b11 commit 111e3bd

File tree

5 files changed

+34
-10
lines changed

5 files changed

+34
-10
lines changed

api/appbean/AppDetail.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package appbean
22

33
import (
4+
"github.com/devtron-labs/devtron/internal/sql/models"
45
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig"
56
"github.com/devtron-labs/devtron/pkg/pipeline/bean"
67
)
@@ -58,10 +59,12 @@ type DockerBuildConfig struct {
5859
}
5960

6061
type DeploymentTemplate struct {
61-
ChartRefId int `json:"chartRefId,notnull" validate:"required"`
62-
Template map[string]interface{} `json:"template,notnull" validate:"required"`
63-
ShowAppMetrics bool `json:"showAppMetrics"`
64-
IsOverride bool `json:"isOverride"`
62+
ChartRefId int `json:"chartRefId,notnull" validate:"required"`
63+
Template map[string]interface{} `json:"template,notnull" validate:"required"`
64+
ShowAppMetrics bool `json:"showAppMetrics"`
65+
IsOverride bool `json:"isOverride"`
66+
IsBasicViewLocked bool `json:"isBasicViewLocked"`
67+
CurrentViewEditor models.ChartsViewEditorType `json:"currentViewEditor" validate:"required"`
6568
}
6669

6770
type AppWorkflow struct {

api/restHandler/CoreAppRestHandler.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,8 @@ func (handler CoreAppRestHandlerImpl) buildAppEnvironmentDeploymentTemplate(appI
555555
var deploymentTemplateRaw json.RawMessage
556556
var chartRefId int
557557
var isOverride bool
558+
var isBasicViewLocked bool
559+
var currentViewEditor models.ChartsViewEditorType
558560
if envId > 0 {
559561
//on env level
560562
env, err := handler.propertiesConfigService.GetEnvironmentProperties(appId, envId, chartRefData.LatestEnvChartRef)
@@ -567,15 +569,21 @@ func (handler CoreAppRestHandlerImpl) buildAppEnvironmentDeploymentTemplate(appI
567569
deploymentTemplateRaw = env.EnvironmentConfig.EnvOverrideValues
568570
showAppMetrics = *env.AppMetrics
569571
isOverride = true
572+
isBasicViewLocked = env.EnvironmentConfig.IsBasicViewLocked
573+
currentViewEditor = env.EnvironmentConfig.CurrentViewEditor
570574
} else {
571575
showAppMetrics = appDeploymentTemplate.IsAppMetricsEnabled
572576
deploymentTemplateRaw = appDeploymentTemplate.DefaultAppOverride
577+
isBasicViewLocked = appDeploymentTemplate.IsBasicViewLocked
578+
currentViewEditor = appDeploymentTemplate.CurrentViewEditor
573579
}
574580
} else {
575581
//on app level
576582
showAppMetrics = appDeploymentTemplate.IsAppMetricsEnabled
577583
deploymentTemplateRaw = appDeploymentTemplate.DefaultAppOverride
578584
chartRefId = chartRefData.LatestAppChartRef
585+
isBasicViewLocked = appDeploymentTemplate.IsBasicViewLocked
586+
currentViewEditor = appDeploymentTemplate.CurrentViewEditor
579587
}
580588

581589
var deploymentTemplateObj map[string]interface{}
@@ -588,10 +596,12 @@ func (handler CoreAppRestHandlerImpl) buildAppEnvironmentDeploymentTemplate(appI
588596
}
589597

590598
deploymentTemplateResp := &appBean.DeploymentTemplate{
591-
ChartRefId: chartRefId,
592-
Template: deploymentTemplateObj,
593-
ShowAppMetrics: showAppMetrics,
594-
IsOverride: isOverride,
599+
ChartRefId: chartRefId,
600+
Template: deploymentTemplateObj,
601+
ShowAppMetrics: showAppMetrics,
602+
IsOverride: isOverride,
603+
IsBasicViewLocked: isBasicViewLocked,
604+
CurrentViewEditor: currentViewEditor,
595605
}
596606

597607
return deploymentTemplateResp, nil, http.StatusOK
@@ -1294,6 +1304,8 @@ func (handler CoreAppRestHandlerImpl) createDeploymentTemplate(ctx context.Conte
12941304
ChartRefId: deploymentTemplate.ChartRefId,
12951305
IsAppMetricsEnabled: deploymentTemplate.ShowAppMetrics,
12961306
UserId: userId,
1307+
IsBasicViewLocked: deploymentTemplate.IsBasicViewLocked,
1308+
CurrentViewEditor: deploymentTemplate.CurrentViewEditor,
12971309
}
12981310

12991311
//marshalling template
@@ -1733,6 +1745,8 @@ func (handler CoreAppRestHandlerImpl) createEnvDeploymentTemplate(appId int, use
17331745
Namespace: env.Namespace,
17341746
Status: models.CHARTSTATUS_NEW,
17351747
EnvOverrideValues: template,
1748+
IsBasicViewLocked: deploymentTemplateOverride.IsBasicViewLocked,
1749+
CurrentViewEditor: deploymentTemplateOverride.CurrentViewEditor,
17361750
}
17371751
_, err = handler.propertiesConfigService.UpdateEnvironmentProperties(appId, envConfigProperties, userId)
17381752
if err != nil {

pkg/chart/ChartService.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ type TemplateRequest struct {
7676
Schema json.RawMessage `json:"schema"`
7777
Readme string `json:"readme"`
7878
IsBasicViewLocked bool `json:"isBasicViewLocked"`
79-
CurrentViewEditor models.ChartsViewEditorType `json:"currentViewEditor"`
79+
CurrentViewEditor models.ChartsViewEditorType `json:"currentViewEditor" validate:"required"`
8080
UserId int32 `json:"-"`
8181
}
8282

pkg/pipeline/PropertiesConfig.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ type EnvironmentProperties struct {
5454
ChartRefId int `json:"chartRefId,omitempty" validate:"number"`
5555
IsOverride bool `sql:"isOverride"`
5656
IsBasicViewLocked bool `json:"isBasicViewLocked"`
57-
CurrentViewEditor models.ChartsViewEditorType `json:"currentViewEditor"`
57+
CurrentViewEditor models.ChartsViewEditorType `json:"currentViewEditor" validate:"required"`
5858
}
5959

6060
type EnvironmentPropertiesResponse struct {

specs/app_create_api.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,13 @@ components:
461461
type: object
462462
description: interface{}
463463
description: map of template fields and values
464+
isBasicViewLocked:
465+
type: boolean
466+
currentViewEditor:
467+
type: string
468+
enum:
469+
- "BASIC"
470+
- "ADVANCED"
464471
AppWorkflow:
465472
type: object
466473
properties:

0 commit comments

Comments
 (0)