diff --git a/next/dbgen/dbgen.go b/next/dbgen/dbgen.go index d4e8805fd..97321d37a 100644 --- a/next/dbgen/dbgen.go +++ b/next/dbgen/dbgen.go @@ -1,10 +1,11 @@ package main import ( + "os" + "gorm.io/driver/postgres" "gorm.io/gen" "gorm.io/gorm" - "os" ) // Dynamic SQL @@ -52,7 +53,9 @@ func main() { ) g.ApplyBasic( - g.GenerateModel("projects", gen.FieldType("team_id", "*int64")), + g.GenerateModel("projects", + gen.FieldType("team_id", "*int64"), + ), ) // Generate the code diff --git a/next/dbmodels/projects.go b/next/dbmodels/projects.go index d759642bb..8fe105543 100644 --- a/next/dbmodels/projects.go +++ b/next/dbmodels/projects.go @@ -1,6 +1,8 @@ package dbmodels import ( + "strings" + "github.com/diggerhq/digger/libs/digger_config" "github.com/diggerhq/digger/next/model" ) @@ -9,13 +11,23 @@ func ToDiggerProject(p *model.Project) digger_config.Project { return digger_config.Project{ Name: p.Name, Dir: p.TerraformWorkingDir, - Workspace: "default", - Terragrunt: false, - OpenTofu: false, + Workspace: func() string { + if p.Workspace == "" { + return "default" + } + return p.Workspace + }(), + Terragrunt: (p.IacType == "terragrunt"), + OpenTofu: (p.IacType == "opentofu"), Workflow: "default", - WorkflowFile: "digger_workflow.yml", - IncludePatterns: []string{}, - ExcludePatterns: []string{}, + WorkflowFile: func() string { + if p.WorkflowFile == "" { + return "digger_workflow.yml" + } + return p.WorkflowFile + }(), + IncludePatterns: strings.Split(p.IncludePatterns, ","), + ExcludePatterns: strings.Split(p.ExcludePatterns, ","), DependencyProjects: []string{}, DriftDetection: false, AwsRoleToAssume: nil, diff --git a/next/main b/next/main deleted file mode 100755 index 13486bd7a..000000000 Binary files a/next/main and /dev/null differ diff --git a/next/model/projects.gen.go b/next/model/projects.gen.go index a43738d9e..1c3d6a7f6 100644 --- a/next/model/projects.gen.go +++ b/next/model/projects.gen.go @@ -36,6 +36,11 @@ type Project struct { DriftCrontab string `gorm:"column:drift_crontab" json:"drift_crontab"` Branch string `gorm:"column:branch" json:"branch"` LatestDriftOutput string `gorm:"column:latest_drift_output" json:"latest_drift_output"` + IacType string `gorm:"column:iac_type;default:terraform" json:"iac_type"` + Workspace string `gorm:"column:workspace" json:"workspace"` + WorkflowFile string `gorm:"column:workflow_file" json:"workflow_file"` + IncludePatterns string `gorm:"column:include_patterns" json:"include_patterns"` + ExcludePatterns string `gorm:"column:exclude_patterns" json:"exclude_patterns"` } // TableName Project's table name diff --git a/next/models_generated/projects.gen.go b/next/models_generated/projects.gen.go index ee81b4dec..d15f3540a 100644 --- a/next/models_generated/projects.gen.go +++ b/next/models_generated/projects.gen.go @@ -49,6 +49,11 @@ func newProject(db *gorm.DB, opts ...gen.DOOption) project { _project.DriftCrontab = field.NewString(tableName, "drift_crontab") _project.Branch = field.NewString(tableName, "branch") _project.LatestDriftOutput = field.NewString(tableName, "latest_drift_output") + _project.IacType = field.NewString(tableName, "iac_type") + _project.Workspace = field.NewString(tableName, "workspace") + _project.WorkflowFile = field.NewString(tableName, "workflow_file") + _project.IncludePatterns = field.NewString(tableName, "include_patterns") + _project.ExcludePatterns = field.NewString(tableName, "exclude_patterns") _project.fillFieldMap() @@ -81,6 +86,11 @@ type project struct { DriftCrontab field.String Branch field.String LatestDriftOutput field.String + IacType field.String + Workspace field.String + WorkflowFile field.String + IncludePatterns field.String + ExcludePatterns field.String fieldMap map[string]field.Expr } @@ -119,6 +129,11 @@ func (p *project) updateTableName(table string) *project { p.DriftCrontab = field.NewString(table, "drift_crontab") p.Branch = field.NewString(table, "branch") p.LatestDriftOutput = field.NewString(table, "latest_drift_output") + p.IacType = field.NewString(table, "iac_type") + p.Workspace = field.NewString(table, "workspace") + p.WorkflowFile = field.NewString(table, "workflow_file") + p.IncludePatterns = field.NewString(table, "include_patterns") + p.ExcludePatterns = field.NewString(table, "exclude_patterns") p.fillFieldMap() @@ -135,7 +150,7 @@ func (p *project) GetFieldByName(fieldName string) (field.OrderExpr, bool) { } func (p *project) fillFieldMap() { - p.fieldMap = make(map[string]field.Expr, 22) + p.fieldMap = make(map[string]field.Expr, 27) p.fieldMap["id"] = p.ID p.fieldMap["name"] = p.Name p.fieldMap["created_at"] = p.CreatedAt @@ -158,6 +173,11 @@ func (p *project) fillFieldMap() { p.fieldMap["drift_crontab"] = p.DriftCrontab p.fieldMap["branch"] = p.Branch p.fieldMap["latest_drift_output"] = p.LatestDriftOutput + p.fieldMap["iac_type"] = p.IacType + p.fieldMap["workspace"] = p.Workspace + p.fieldMap["workflow_file"] = p.WorkflowFile + p.fieldMap["include_patterns"] = p.IncludePatterns + p.fieldMap["exclude_patterns"] = p.ExcludePatterns } func (p project) clone(db *gorm.DB) project {