diff --git a/apps/dashboard/app/(app)/projects/[projectId]/deployments/components/table/deployments-list.tsx b/apps/dashboard/app/(app)/projects/[projectId]/deployments/components/table/deployments-list.tsx index 78daec7272..5bf731fb81 100644 --- a/apps/dashboard/app/(app)/projects/[projectId]/deployments/components/table/deployments-list.tsx +++ b/apps/dashboard/app/(app)/projects/[projectId]/deployments/components/table/deployments-list.tsx @@ -58,7 +58,8 @@ export const DeploymentsList = () => { header: "Deployment ID", width: "20%", headerClassName: "pl-[18px]", - render: ({ deployment, environment }) => { + render: ({ deployment }) => { + const isProduction = deployment.id === activeDeployment.data.at(0)?.id; const isSelected = deployment.id === selectedDeployment?.deployment.id; const iconContainer = (
{ > {shortenId(deployment.id)}
- {deployment.id === activeDeployment.data.at(0)?.id ? ( - - ) : null} + {isProduction ? : null}
- {environment?.slug} + {isProduction ? "Production" : "Preview"}
diff --git a/go/apps/ctrl/services/deployment/create_deployment.go b/go/apps/ctrl/services/deployment/create_deployment.go index 2396dfdb0f..83902e344e 100644 --- a/go/apps/ctrl/services/deployment/create_deployment.go +++ b/go/apps/ctrl/services/deployment/create_deployment.go @@ -53,8 +53,9 @@ func (s *Service) CreateDeployment( req.Msg.GetProjectId(), req.Msg.GetWorkspaceId())) } - env, err := db.Query.FindEnvironmentByWorkspaceAndSlug(ctx, s.db.RO(), db.FindEnvironmentByWorkspaceAndSlugParams{ + env, err := db.Query.FindEnvironmentByProjectIdAndSlug(ctx, s.db.RO(), db.FindEnvironmentByProjectIdAndSlugParams{ WorkspaceID: req.Msg.GetWorkspaceId(), + ProjectID: project.ID, Slug: req.Msg.GetEnvironmentSlug(), }) if err != nil { @@ -146,11 +147,12 @@ func (s *Service) CreateDeployment( // Start the deployment workflow directly deployReq := &DeployRequest{ - WorkspaceID: req.Msg.GetWorkspaceId(), - ProjectID: req.Msg.GetProjectId(), - DeploymentID: deploymentID, - DockerImage: req.Msg.GetDockerImage(), - KeyspaceID: req.Msg.GetKeyspaceId(), + WorkspaceID: req.Msg.GetWorkspaceId(), + ProjectID: req.Msg.GetProjectId(), + EnvironmentID: env.ID, + DeploymentID: deploymentID, + DockerImage: req.Msg.GetDockerImage(), + KeyspaceID: req.Msg.GetKeyspaceId(), } executionID, err := s.hydraEngine.StartWorkflow(ctx, "deployment", deployReq, diff --git a/go/apps/ctrl/services/deployment/deploy_workflow.go b/go/apps/ctrl/services/deployment/deploy_workflow.go index 5a9a8e721a..f54b056ba4 100644 --- a/go/apps/ctrl/services/deployment/deploy_workflow.go +++ b/go/apps/ctrl/services/deployment/deploy_workflow.go @@ -65,11 +65,12 @@ func (w *DeployWorkflow) Name() string { // DeployRequest defines the input for the deploy workflow type DeployRequest struct { - WorkspaceID string `json:"workspace_id"` - ProjectID string `json:"project_id"` - KeyspaceID string `json:"keyspace_id"` - DeploymentID string `json:"deployment_id"` - DockerImage string `json:"docker_image"` + WorkspaceID string `json:"workspace_id"` + ProjectID string `json:"project_id"` + KeyspaceID string `json:"keyspace_id"` + DeploymentID string `json:"deployment_id"` + EnvironmentID string `json:"environment_id"` + DockerImage string `json:"docker_image"` } // DeploymentResult holds the deployment outcome diff --git a/go/pkg/db/environment_find_by_project_id_and_slug.sql_generated.go b/go/pkg/db/environment_find_by_project_id_and_slug.sql_generated.go new file mode 100644 index 0000000000..fdd3a719dd --- /dev/null +++ b/go/pkg/db/environment_find_by_project_id_and_slug.sql_generated.go @@ -0,0 +1,53 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.29.0 +// source: environment_find_by_project_id_and_slug.sql + +package db + +import ( + "context" + "database/sql" +) + +const findEnvironmentByProjectIdAndSlug = `-- name: FindEnvironmentByProjectIdAndSlug :one +SELECT id, workspace_id, project_id, slug, description +FROM environments +WHERE workspace_id = ? + AND project_id = ? + AND slug = ? +` + +type FindEnvironmentByProjectIdAndSlugParams struct { + WorkspaceID string `db:"workspace_id"` + ProjectID string `db:"project_id"` + Slug string `db:"slug"` +} + +type FindEnvironmentByProjectIdAndSlugRow struct { + ID string `db:"id"` + WorkspaceID string `db:"workspace_id"` + ProjectID string `db:"project_id"` + Slug string `db:"slug"` + Description sql.NullString `db:"description"` +} + +// FindEnvironmentByProjectIdAndSlug +// +// SELECT id, workspace_id, project_id, slug, description +// FROM environments +// WHERE workspace_id = ? +// AND project_id = ? +// AND slug = ? +func (q *Queries) FindEnvironmentByProjectIdAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByProjectIdAndSlugParams) (FindEnvironmentByProjectIdAndSlugRow, error) { + row := db.QueryRowContext(ctx, findEnvironmentByProjectIdAndSlug, arg.WorkspaceID, arg.ProjectID, arg.Slug) + var i FindEnvironmentByProjectIdAndSlugRow + err := row.Scan( + &i.ID, + &i.WorkspaceID, + &i.ProjectID, + &i.Slug, + &i.Description, + ) + return i, err +} diff --git a/go/pkg/db/environment_find_by_workspace_and_slug.sql_generated.go b/go/pkg/db/environment_find_by_workspace_and_slug.sql_generated.go deleted file mode 100644 index e29a6544d5..0000000000 --- a/go/pkg/db/environment_find_by_workspace_and_slug.sql_generated.go +++ /dev/null @@ -1,48 +0,0 @@ -// Code generated by sqlc. DO NOT EDIT. -// versions: -// sqlc v1.29.0 -// source: environment_find_by_workspace_and_slug.sql - -package db - -import ( - "context" - "database/sql" -) - -const findEnvironmentByWorkspaceAndSlug = `-- name: FindEnvironmentByWorkspaceAndSlug :one -SELECT id, workspace_id, project_id, slug, description -FROM environments -WHERE workspace_id = ? AND slug = ? -` - -type FindEnvironmentByWorkspaceAndSlugParams struct { - WorkspaceID string `db:"workspace_id"` - Slug string `db:"slug"` -} - -type FindEnvironmentByWorkspaceAndSlugRow struct { - ID string `db:"id"` - WorkspaceID string `db:"workspace_id"` - ProjectID string `db:"project_id"` - Slug string `db:"slug"` - Description sql.NullString `db:"description"` -} - -// FindEnvironmentByWorkspaceAndSlug -// -// SELECT id, workspace_id, project_id, slug, description -// FROM environments -// WHERE workspace_id = ? AND slug = ? -func (q *Queries) FindEnvironmentByWorkspaceAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByWorkspaceAndSlugParams) (FindEnvironmentByWorkspaceAndSlugRow, error) { - row := db.QueryRowContext(ctx, findEnvironmentByWorkspaceAndSlug, arg.WorkspaceID, arg.Slug) - var i FindEnvironmentByWorkspaceAndSlugRow - err := row.Scan( - &i.ID, - &i.WorkspaceID, - &i.ProjectID, - &i.Slug, - &i.Description, - ) - return i, err -} diff --git a/go/pkg/db/querier_generated.go b/go/pkg/db/querier_generated.go index 3ba37dc3e4..a622be962e 100644 --- a/go/pkg/db/querier_generated.go +++ b/go/pkg/db/querier_generated.go @@ -189,12 +189,14 @@ type Querier interface { // WHERE deployment_id = ? // ORDER BY created_at ASC FindDomainsByDeploymentId(ctx context.Context, db DBTX, deploymentID sql.NullString) ([]FindDomainsByDeploymentIdRow, error) - //FindEnvironmentByWorkspaceAndSlug + //FindEnvironmentByProjectIdAndSlug // // SELECT id, workspace_id, project_id, slug, description // FROM environments - // WHERE workspace_id = ? AND slug = ? - FindEnvironmentByWorkspaceAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByWorkspaceAndSlugParams) (FindEnvironmentByWorkspaceAndSlugRow, error) + // WHERE workspace_id = ? + // AND project_id = ? + // AND slug = ? + FindEnvironmentByProjectIdAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByProjectIdAndSlugParams) (FindEnvironmentByProjectIdAndSlugRow, error) //FindIdentity // // SELECT id, external_id, workspace_id, environment, meta, deleted, created_at, updated_at diff --git a/go/pkg/db/queries/environment_find_by_project_id_and_slug.sql b/go/pkg/db/queries/environment_find_by_project_id_and_slug.sql new file mode 100644 index 0000000000..cf86c7f6db --- /dev/null +++ b/go/pkg/db/queries/environment_find_by_project_id_and_slug.sql @@ -0,0 +1,6 @@ +-- name: FindEnvironmentByProjectIdAndSlug :one +SELECT id, workspace_id, project_id, slug, description +FROM environments +WHERE workspace_id = sqlc.arg(workspace_id) + AND project_id = sqlc.arg(project_id) + AND slug = sqlc.arg(slug); diff --git a/go/pkg/db/queries/environment_find_by_workspace_and_slug.sql b/go/pkg/db/queries/environment_find_by_workspace_and_slug.sql deleted file mode 100644 index 0458ba32db..0000000000 --- a/go/pkg/db/queries/environment_find_by_workspace_and_slug.sql +++ /dev/null @@ -1,4 +0,0 @@ --- name: FindEnvironmentByWorkspaceAndSlug :one -SELECT id, workspace_id, project_id, slug, description -FROM environments -WHERE workspace_id = sqlc.arg(workspace_id) AND slug = sqlc.arg(slug);