8000 feat: add OpenIn option to coder_app (#15743) · coder/coder@08463c2 · GitHub
[go: up one dir, main page]

Skip to content

Commit 08463c2

Browse files
authored
feat: add OpenIn option to coder_app (#15743)
This PR is the coder/coder part of [the open_in parameter issue](coder/terraform-provider-coder#297) aiming to add a new optional parameter to choose how to open modules. This PR is heavily linked [to this PR](coder/terraform-provider-coder#321). ℹ️ For now, some integrations tests can not be pushed as it requires a release on the terraform-provider repo.
1 parent 3f1795f commit 08463c2

34 files changed

+1075
-800
lines changed

agent/proto/agent.pb.go

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

agent/proto/agent.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ message WorkspaceApp {
4242
}
4343
Health health = 12;
4444
bool hidden = 13;
45+
string open_in = 14;
4546
}
4647

4748
message WorkspaceAgentScript {

coderd/agentapi/apps_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ func TestBatchUpdateAppHealths(t *testing.T) {
3030
DisplayName: "code-server 1",
3131
HealthcheckUrl: "http://localhost:3000",
3232
Health: database.WorkspaceAppHealthInitializing,
33+
OpenIn: database.WorkspaceAppOpenInSlimWindow,
3334
}
3435
app2 = database.WorkspaceApp{
3536
ID: uuid.New(),
@@ -38,6 +39,7 @@ func TestBatchUpdateAppHealths(t *testing.T) {
3839
DisplayName: "code-server 2",
3940
HealthcheckUrl: "http://localhost:3001",
4041
Health: database.WorkspaceAppHealthHealthy,
42+
OpenIn: database.WorkspaceAppOpenInSlimWindow,
4143
}
4244
)
4345

@@ -163,6 +165,7 @@ func TestBatchUpdateAppHealths(t *testing.T) {
163165
AgentID: agent.ID,
164166
Slug: "code-server-3",
165167
DisplayName: "code-server 3",
168+
OpenIn: database.WorkspaceAppOpenInSlimWindow,
166169
}
167170

168171
dbM := dbmock.NewMockStore(gomock.NewController(t))

coderd/apidoc/docs.go

Lines changed: 3 additions & 0 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 & 0 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: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2502,7 +2502,7 @@ func (s *MethodTestSuite) TestSystemFunctions() {
25022502
check.Args(time.Now()).Asserts(rbac.ResourceSystem, policy.ActionRead)
25032503
}))
25042504
s.Run("GetWorkspaceAppsCreatedAfter", s.Subtest(func(db database.Store, check *expects) {
2505-
_ = dbgen.WorkspaceApp(s.T(), db, database.WorkspaceApp{CreatedAt: time.Now().Add(-time.Hour)})
2505+
_ = dbgen.WorkspaceApp(s.T(), db, database.WorkspaceApp{CreatedAt: time.Now().Add(-time.Hour), OpenIn: database.WorkspaceAppOpenInSlimWindow})
25062506
check.Args(time.Now()).Asserts(rbac.ResourceSystem, policy.ActionRead)
25072507
}))
25082508
s.Run("GetWorkspaceResourcesCreatedAfter", s.Subtest(func(db database.Store, check *expects) {
@@ -2551,13 +2551,13 @@ func (s *MethodTestSuite) TestSystemFunctions() {
25512551
aBuild := dbgen.WorkspaceBuild(s.T(), db, database.WorkspaceBuild{WorkspaceID: aWs.ID, JobID: uuid.New()})
25522552
aRes := dbgen.WorkspaceResource(s.T(), db, database.WorkspaceResource{JobID: aBuild.JobID})
25532553
aAgt := dbgen.WorkspaceAgent(s.T(), db, database.WorkspaceAgent{ResourceID: aRes.ID})
2554-
a := dbgen.WorkspaceApp(s.T(), db, database.WorkspaceApp{AgentID: aAgt.ID})
2554+
a := dbgen.WorkspaceApp(s.T(), db, database.WorkspaceApp{AgentID: aAgt.ID, OpenIn: database.WorkspaceAppOpenInSlimWindow})
25552555

25562556
bWs := dbgen.Workspace(s.T(), db, database.WorkspaceTable{})
25572557
bBuild := dbgen.WorkspaceBuild(s.T(), db, database.WorkspaceBuild{WorkspaceID: bWs.ID, JobID: uuid.New()})
25582558
bRes := dbgen.WorkspaceResource(s.T(), db, database.WorkspaceResource{JobID: bBuild.JobID})
25592559
bAgt := dbgen.WorkspaceAgent(s.T(), db, database.WorkspaceAgent{ResourceID: bRes.ID})
2560-
b := dbgen.WorkspaceApp(s.T(), db, database.WorkspaceApp{AgentID: bAgt.ID})
2560+
b := dbgen.WorkspaceApp(s.T(), db, database.WorkspaceApp{AgentID: bAgt.ID, OpenIn: database.WorkspaceAppOpenInSlimWindow})
25612561

25622562
check.Args([]uuid.UUID{a.AgentID, b.AgentID}).
25632563
Asserts(rbac.ResourceSystem, policy.ActionRead).
@@ -2611,6 +2611,7 @@ func (s *MethodTestSuite) TestSystemFunctions() {
26112611
ID: uuid.New(),
26122612
Health: database.WorkspaceAppHealthDisabled,
26132613
SharingLevel: database.AppSharingLevelOwner,
2614+
OpenIn: database.WorkspaceAppOpenInSlimWindow,
26142615
}).Asserts(rbac.ResourceSystem, policy.ActionCreate)
26152616
}))
26162617
s.Run("InsertWorkspaceResourceMetadata", s.Subtest(func(db database.Store, check *expects) {

coderd/database/dbgen/dbgen.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,6 +659,7 @@ func WorkspaceApp(t testing.TB, db database.Store, orig database.WorkspaceApp) d
659659
Health: takeFirst(orig.Health, database.WorkspaceAppHealthHealthy),
660660
DisplayOrder: takeFirst(orig.DisplayOrder, 1),
661661
Hidden: orig.Hidden,
662+
OpenIn: takeFirst(orig.OpenIn, database.WorkspaceAppOpenInSlimWindow),
662663
})
663664
require.NoError(t, err, "insert app")
664665
return resource

coderd/database/dbmem/dbmem.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8348,6 +8348,10 @@ func (q *FakeQuerier) InsertWorkspaceApp(_ context.Context, arg database.InsertW
83488348
arg.SharingLevel = database.AppSharingLevelOwner
83498349
}
83508350

8351+
if arg.OpenIn == "" {
8352+
arg.OpenIn = database.WorkspaceAppOpenInSlimWindow
8353+
}
8354+
83518355
// nolint:gosimple
83528356
workspaceApp := database.WorkspaceApp{
83538357
ID: arg.ID,
@@ -8367,6 +8371,7 @@ func (q *FakeQuerier) InsertWorkspaceApp(_ context.Context, arg database.InsertW
83678371
Health: arg.Health,
83688372
Hidden: arg.Hidden,
83698373
DisplayOrder: arg.DisplayOrder,
8374+
OpenIn: arg.OpenIn,
83708375
}
83718376
q.workspaceApps = append(q.workspaceApps, workspaceApp)
83728377
return workspaceApp, nil

coderd/database/dump.sql

Lines changed: 8 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
ALTER TABLE workspace_apps DROP COLUMN open_in;
2+
3+
DROP TYPE workspace_app_open_in;

0 commit comments

Comments
 (0)
0