Skip to content

Commit 8629626

Browse files
committed
change to enum
1 parent 392e7f8 commit 8629626

21 files changed

+111
-135
lines changed

coderd/apidoc/docs.go

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"github.com/coder/coder/v2/coderd/database/dbtime"
2323
"github.com/coder/coder/v2/coderd/rbac"
2424
"github.com/coder/coder/v2/coderd/util/slice"
25-
"github.com/coder/coder/v2/codersdk"
2625
"github.com/coder/coder/v2/provisionersdk"
2726
"github.com/coder/coder/v2/testutil"
2827
)
@@ -1634,7 +1633,7 @@ func (s *MethodTestSuite) TestWorkspacePortSharing() {
16341633
WorkspaceID: ps.WorkspaceID,
16351634
AgentName: ps.AgentName,
16361635
Port: ps.Port,
1637-
ShareLevel: int32(codersdk.WorkspaceAgentPortShareLevelAuthenticated),
1636+
ShareLevel: database.AppSharingLevelAuthenticated,
16381637
}).Asserts(ws, rbac.ActionUpdate).Returns()
16391638
}))
16401639
s.Run("DeleteWorkspaceAgentPortShare", s.Subtest(func(db database.Store, check *expects) {

coderd/database/dbgen/dbgen.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"github.com/coder/coder/v2/coderd/database/provisionerjobs"
2323
"github.com/coder/coder/v2/coderd/database/pubsub"
2424
"github.com/coder/coder/v2/coderd/rbac"
25-
"github.com/coder/coder/v2/codersdk"
2625
"github.com/coder/coder/v2/cryptorand"
2726
)
2827

@@ -91,7 +90,7 @@ func Template(t testing.TB, db database.Store, seed database.Template) database.
9190
GroupACL: seed.GroupACL,
9291
DisplayName: takeFirst(seed.DisplayName, namesgenerator.GetRandomName(1)),
9392
AllowUserCancelWorkspaceJobs: seed.AllowUserCancelWorkspaceJobs,
94-
MaxPortSharingLevel: takeFirst(seed.MaxPortSharingLevel, 0),
93+
MaxPortSharingLevel: takeFirst(seed.MaxPortSharingLevel, database.AppSharingLevelOwner),
9594
})
9695
require.NoError(t, err, "insert template")
9796

@@ -140,7 +139,7 @@ func WorkspaceAgentPortShare(t testing.TB, db database.Store, orig database.Work
140139
WorkspaceID: takeFirst(orig.WorkspaceID, uuid.New()),
141140
AgentName: takeFirst(orig.AgentName, namesgenerator.GetRandomName(1)),
142141
Port: takeFirst(orig.Port, 8080),
143-
ShareLevel: takeFirst(orig.ShareLevel, int32(codersdk.WorkspaceAgentPortShareLevelPublic)),
142+
ShareLevel: takeFirst(orig.ShareLevel, database.AppSharingLevelPublic),
144143
})
145144
require.NoError(t, err, "insert workspace agent")
146145
return ps

coderd/database/dump.sql

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/migrations/000188_workspace_agent_port_sharing.up.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ CREATE TABLE workspace_agent_port_share (
22
workspace_id uuid NOT NULL REFERENCES workspaces (id) ON DELETE CASCADE,
33
agent_name text NOT NULL,
44
port integer NOT NULL,
5-
share_level integer NOT NULL
5+
share_level app_sharing_level NOT NULL
66
);
77

8-
ALTER TABLE templates ADD COLUMN max_port_sharing_level integer NOT NULL DEFAULT 0;
8+
ALTER TABLE templates ADD COLUMN max_port_sharing_level app_sharing_level NOT NULL DEFAULT 'owner'::app_sharing_level;
99

1010
-- Update the template_with_users view by recreating it.
1111
DROP VIEW template_with_users;

coderd/database/models.go

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries.sql.go

Lines changed: 18 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/templates.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ func (api *API) postTemplateByOrganization(rw http.ResponseWriter, r *http.Reque
344344
DisplayName: createTemplate.DisplayName,
345345
Icon: createTemplate.Icon,
346346
AllowUserCancelWorkspaceJobs: allowUserCancelWorkspaceJobs,
347-
MaxPortSharingLevel: 0,
347+
MaxPortSharingLevel: database.AppSharingLevelOwner,
348348
})
349349
if err != nil {
350350
return xerrors.Errorf("insert template: %s", err)
@@ -633,14 +633,14 @@ func (api *API) patchTemplateMeta(rw http.ResponseWriter, r *http.Request) {
633633
}
634634
maxPortShareLevel := template.MaxPortSharingLevel
635635
if req.MaxPortShareLevel != nil {
636-
if *req.MaxPortShareLevel < 0 || *req.MaxPortShareLevel > 2 {
637-
validErrs = append(validErrs, codersdk.ValidationError{Field: "max_port_sharing_level", Detail: "Value must be between 0 and 2."})
636+
if req.MaxPortShareLevel.ValidMaxLevel() {
637+
validErrs = append(validErrs, codersdk.ValidationError{Field: "max_port_sharing_level", Detail: "Value must be 'authenticated' or 'public'."})
638638
}
639639
if !portSharer.CanRestrictSharing() {
640640
validErrs = append(validErrs, codersdk.ValidationError{Field: "max_port_sharing_level", Detail: "Restricting port sharing level is an enterprise feature that is not enabled."})
641641
}
642642

643-
maxPortShareLevel = *req.MaxPortShareLevel
643+
maxPortShareLevel = database.AppSharingLevel(*req.MaxPortShareLevel)
644644
}
645645

646646
if len(validErrs) > 0 {
@@ -911,6 +911,6 @@ func (api *API) convertTemplate(
911911
RequireActiveVersion: templateAccessControl.RequireActiveVersion,
912912
Deprecated: templateAccessControl.IsDeprecated(),
913913
DeprecationMessage: templateAccessControl.Deprecated,
914-
MaxPortShareLevel: template.MaxPortSharingLevel,
914+
MaxPortShareLevel: codersdk.WorkspaceAgentPortShareLevel(template.MaxPortSharingLevel),
915915
}
916916
}

coderd/templates_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -623,11 +623,8 @@ func TestPatchTemplateMeta(t *testing.T) {
623623
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
624624
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
625625
require.Equal(t, int32(0), template.MaxPortShareLevel)
626-
// It is unfortunate we need to sleep, but the test can fail if the
627-
// updatedAt is too close together.
628-
time.Sleep(time.Millisecond * 5)
629626

630-
var level int32 = 2
627+
var level codersdk.WorkspaceAgentPortShareLevel = codersdk.WorkspaceAgentPortShareLevelPublic
631628
req := codersdk.UpdateTemplateMeta{
632629
MaxPortShareLevel: &level,
633630
}

0 commit comments

Comments
 (0)