From 5eefe39ffd999e3aa776d644334a3d25b41838d9 Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Wed, 8 Feb 2023 12:56:24 +0100 Subject: [PATCH 1/2] fix: Allow to stop or remove workspaces using rich and old parameters --- coderd/workspacebuilds.go | 3 ++- codersdk/workspacebuilds.go | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/coderd/workspacebuilds.go b/coderd/workspacebuilds.go index 7486a36843145..853db8f639567 100644 --- a/coderd/workspacebuilds.go +++ b/coderd/workspacebuilds.go @@ -518,7 +518,8 @@ func (api *API) postWorkspaceBuilds(rw http.ResponseWriter, r *http.Request) { return } - if len(legacyParameters) > 0 && len(parameters) > 0 { + if (createBuild.Transition == codersdk.WorkspaceTransitionStart || createBuild.Transition == codersdk.WorkspaceTransitionCreate) && + len(legacyParameters) > 0 && len(parameters) > 0 { httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{ Message: "Rich parameters can't be used together with legacy parameters.", }) diff --git a/codersdk/workspacebuilds.go b/codersdk/workspacebuilds.go index ab43379c28da8..03f14af33acbb 100644 --- a/codersdk/workspacebuilds.go +++ b/codersdk/workspacebuilds.go @@ -14,6 +14,7 @@ import ( type WorkspaceTransition string const ( + WorkspaceTransitionCreate WorkspaceTransition = "create" WorkspaceTransitionStart WorkspaceTransition = "start" WorkspaceTransitionStop WorkspaceTransition = "stop" WorkspaceTransitionDelete WorkspaceTransition = "delete" From 9a35d09be4b183c0acdcc59fdf8d5b3b2534e1e7 Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Wed, 8 Feb 2023 13:01:23 +0100 Subject: [PATCH 2/2] Fix --- coderd/workspacebuilds.go | 2 +- codersdk/workspacebuilds.go | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/coderd/workspacebuilds.go b/coderd/workspacebuilds.go index 853db8f639567..2e3757cdd1160 100644 --- a/coderd/workspacebuilds.go +++ b/coderd/workspacebuilds.go @@ -518,7 +518,7 @@ func (api *API) postWorkspaceBuilds(rw http.ResponseWriter, r *http.Request) { return } - if (createBuild.Transition == codersdk.WorkspaceTransitionStart || createBuild.Transition == codersdk.WorkspaceTransitionCreate) && + if createBuild.Transition == codersdk.WorkspaceTransitionStart && len(legacyParameters) > 0 && len(parameters) > 0 { httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{ Message: "Rich parameters can't be used together with legacy parameters.", diff --git a/codersdk/workspacebuilds.go b/codersdk/workspacebuilds.go index 03f14af33acbb..ab43379c28da8 100644 --- a/codersdk/workspacebuilds.go +++ b/codersdk/workspacebuilds.go @@ -14,7 +14,6 @@ import ( type WorkspaceTransition string const ( - WorkspaceTransitionCreate WorkspaceTransition = "create" WorkspaceTransitionStart WorkspaceTransition = "start" WorkspaceTransitionStop WorkspaceTransition = "stop" WorkspaceTransitionDelete WorkspaceTransition = "delete"