Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a30cf22

Browse files
committed
Rename workspace history to workspace build
1 parent 2f56c6d commit a30cf22

24 files changed

+427
-428
lines changed

cli/workspacecreate.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func workspaceCreate() *cobra.Command {
100100
if err != nil {
101101
return err
102102
}
103-
history, err := client.CreateWorkspaceHistory(cmd.Context(), "", workspace.Name, coderd.CreateWorkspaceHistoryRequest{
103+
history, err := client.CreateWorkspaceBuild(cmd.Context(), "", workspace.Name, coderd.CreateWorkspaceBuildRequest{
104104
ProjectVersionID: projectVersion.ID,
105105
Transition: database.WorkspaceTransitionStart,
106106
})

coderd/coderd.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,11 @@ func New(options *Options) (http.Handler, func()) {
175175
r.Use(httpmw.ExtractWorkspaceParam(options.Database))
176176
r.Get("/", api.workspaceByUser)
177177
r.Route("/version", func(r chi.Router) {
178-
r.Post("/", api.postWorkspaceHistoryByUser)
179-
r.Get("/", api.workspaceHistoryByUser)
180-
r.Route("/{workspacehistory}", func(r chi.Router) {
181-
r.Use(httpmw.ExtractWorkspaceHistoryParam(options.Database))
182-
r.Get("/", api.workspaceHistoryByName)
178+
r.Post("/", api.postWorkspaceBuildByUser)
179+
r.Get("/", api.workspaceBuildByUser)
180+
r.Route("/{workspacebuild}", func(r chi.Router) {
181+
r.Use(httpmw.ExtractWorkspaceBuildParam(options.Database))
182+
r.Get("/", api.workspaceBuildByName)
183183
})
184184
})
185185
})

coderd/coderdtest/coderdtest_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func TestNew(t *testing.T) {
2626
coderdtest.AwaitProjectImportJob(t, client, user.Organization, job.ID)
2727
project := coderdtest.CreateProject(t, client, user.Organization, job.ID)
2828
workspace := coderdtest.CreateWorkspace(t, client, "me", project.ID)
29-
history, err := client.CreateWorkspaceHistory(context.Background(), "me", workspace.Name, coderd.CreateWorkspaceHistoryRequest{
29+
history, err := client.CreateWorkspaceBuild(context.Background(), "me", workspace.Name, coderd.CreateWorkspaceBuildRequest{
3030
ProjectVersionID: project.ActiveVersionID,
3131
Transition: database.WorkspaceTransitionStart,
3232
})

coderd/provisionerdaemons.go

+19-19
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ func (api *api) provisionerDaemonsServe(rw http.ResponseWriter, r *http.Request)
113113

114114
// The input for a "workspace_provision" job.
115115
type workspaceProvisionJob struct {
116-
WorkspaceHistoryID uuid.UUID `json:"workspace_history_id"`
117-
DryRun bool `json:"dry_run"`
116+
WorkspaceBuildID uuid.UUID `json:"workspace_build_id"`
117+
DryRun bool `json:"dry_run"`
118118
}
119119

120120
// Implementation of the provisioner daemon protobuf server.
@@ -188,15 +188,15 @@ func (server *provisionerdServer) AcquireJob(ctx context.Context, _ *proto.Empty
188188
if err != nil {
189189
return nil, failJob(fmt.Sprintf("unmarshal job input %q: %s", job.Input, err))
190190
}
191-
workspaceHistory, err := server.Database.GetWorkspaceHistoryByID(ctx, input.WorkspaceHistoryID)
191+
workspaceBuild, err := server.Database.GetWorkspaceBuildByID(ctx, input.WorkspaceBuildID)
192192
if err != nil {
193-
return nil, failJob(fmt.Sprintf("get workspace history: %s", err))
193+
return nil, failJob(fmt.Sprintf("get workspace build: %s", err))
194194
}
195-
workspace, err := server.Database.GetWorkspaceByID(ctx, workspaceHistory.WorkspaceID)
195+
workspace, err := server.Database.GetWorkspaceByID(ctx, workspaceBuild.WorkspaceID)
196196
if err != nil {
197197
return nil, failJob(fmt.Sprintf("get workspace: %s", err))
198198
}
199-
projectVersion, err := server.Database.GetProjectVersionByID(ctx, workspaceHistory.ProjectVersionID)
199+
projectVersion, err := server.Database.GetProjectVersionByID(ctx, workspaceBuild.ProjectVersionID)
200200
if err != nil {
201201
return nil, failJob(fmt.Sprintf("get project version: %s", err))
202202
}
@@ -231,17 +231,17 @@ func (server *provisionerdServer) AcquireJob(ctx context.Context, _ *proto.Empty
231231
}
232232
protoParameters = append(protoParameters, converted)
233233
}
234-
transition, err := convertWorkspaceTransition(workspaceHistory.Transition)
234+
transition, err := convertWorkspaceTransition(workspaceBuild.Transition)
235235
if err != nil {
236236
return nil, failJob(fmt.Sprint("convert workspace transition: %w", err))
237237
}
238238

239239
protoJob.Type = &proto.AcquiredJob_WorkspaceProvision_{
240240
WorkspaceProvision: &proto.AcquiredJob_WorkspaceProvision{
241-
WorkspaceHistoryId: workspaceHistory.ID.String(),
242-
WorkspaceName: workspace.Name,
243-
State: workspaceHistory.ProvisionerState,
244-
ParameterValues: protoParameters,
241+
WorkspaceBuildId: workspaceBuild.ID.String(),
242+
WorkspaceName: workspace.Name,
243+
State: workspaceBuild.ProvisionerState,
244+
ParameterValues: protoParameters,
245245
Metadata: &sdkproto.Provision_Metadata{
246246
CoderUrl: server.AccessURL.String(),
247247
WorkspaceTransition: transition,
@@ -441,13 +441,13 @@ func (server *provisionerdServer) FailJob(ctx context.Context, failJob *proto.Fa
441441
if err != nil {
442442
return nil, xerrors.Errorf("unmarshal workspace provision input: %w", err)
443443
}
444-
err = server.Database.UpdateWorkspaceHistoryByID(ctx, database.UpdateWorkspaceHistoryByIDParams{
444+
err = server.Database.UpdateWorkspaceBuildByID(ctx, database.UpdateWorkspaceBuildByIDParams{
445445
ID: jobID,
446446
UpdatedAt: database.Now(),
447447
ProvisionerState: jobType.WorkspaceProvision.State,
448448
})
449449
if err != nil {
450-
return nil, xerrors.Errorf("update workspace history state: %w", err)
450+
return nil, xerrors.Errorf("update workspace build state: %w", err)
451451
}
452452
case *proto.FailedJob_ProjectImport_:
453453
}
@@ -510,9 +510,9 @@ func (server *provisionerdServer) CompleteJob(ctx context.Context, completed *pr
510510
return nil, xerrors.Errorf("unmarshal job data: %w", err)
511511
}
512512

513-
workspaceHistory, err := server.Database.GetWorkspaceHistoryByID(ctx, input.WorkspaceHistoryID)
513+
workspaceBuild, err := server.Database.GetWorkspaceBuildByID(ctx, input.WorkspaceBuildID)
514514
if err != nil {
515-
return nil, xerrors.Errorf("get workspace history: %w", err)
515+
return nil, xerrors.Errorf("get workspace build: %w", err)
516516
}
517517

518518
err = server.Database.InTx(func(db database.Store) error {
@@ -527,17 +527,17 @@ func (server *provisionerdServer) CompleteJob(ctx context.Context, completed *pr
527527
if err != nil {
528528
return xerrors.Errorf("update provisioner job: %w", err)
529529
}
530-
err = db.UpdateWorkspaceHistoryByID(ctx, database.UpdateWorkspaceHistoryByIDParams{
531-
ID: workspaceHistory.ID,
530+
err = db.UpdateWorkspaceBuildByID(ctx, database.UpdateWorkspaceBuildByIDParams{
531+
ID: workspaceBuild.ID,
532532
UpdatedAt: database.Now(),
533533
ProvisionerState: jobType.WorkspaceProvision.State,
534534
})
535535
if err != nil {
536-
return xerrors.Errorf("update workspace history: %w", err)
536+
return xerrors.Errorf("update workspace build: %w", err)
537537
}
538538
// This could be a bulk insert to improve performance.
539539
for _, protoResource := range jobType.WorkspaceProvision.Resources {
540-
err = insertProvisionerJobResource(ctx, db, job.ID, workspaceHistory.Transition, protoResource)
540+
err = insertProvisionerJobResource(ctx, db, job.ID, workspaceBuild.Transition, protoResource)
541541
if err != nil {
542542
return xerrors.Errorf("insert provisioner job: %w", err)
543543
}

coderd/provisionerjobs_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ func TestProvisionerJobLogsByName(t *testing.T) {
224224
project := coderdtest.CreateProject(t, client, user.Organization, job.ID)
225225
coderdtest.AwaitProjectImportJob(t, client, user.Organization, job.ID)
226226
workspace := coderdtest.CreateWorkspace(t, client, "me", project.ID)
227-
history, err := client.CreateWorkspaceHistory(context.Background(), "", workspace.Name, coderd.CreateWorkspaceHistoryRequest{
227+
history, err := client.CreateWorkspaceBuild(context.Background(), "", workspace.Name, coderd.CreateWorkspaceBuildRequest{
228228
ProjectVersionID: project.ActiveVersionID,
229229
Transition: database.WorkspaceTransitionStart,
230230
})
@@ -261,7 +261,7 @@ func TestProvisionerJobLogsByName(t *testing.T) {
261261
coderdtest.AwaitProjectImportJob(t, client, user.Organization, job.ID)
262262
workspace := coderdtest.CreateWorkspace(t, client, "me", project.ID)
263263
before := time.Now().UTC()
264-
history, err := client.CreateWorkspaceHistory(context.Background(), "", workspace.Name, coderd.CreateWorkspaceHistoryRequest{
264+
history, err := client.CreateWorkspaceBuild(context.Background(), "", workspace.Name, coderd.CreateWorkspaceBuildRequest{
265265
ProjectVersionID: project.ActiveVersionID,
266266
Transition: database.WorkspaceTransitionStart,
267267
})
@@ -302,7 +302,7 @@ func TestProvisionerJobLogsByName(t *testing.T) {
302302
coderdtest.AwaitProjectImportJob(t, client, user.Organization, job.ID)
303303
workspace := coderdtest.CreateWorkspace(t, client, "me", project.ID)
304304
before := database.Now()
305-
history, err := client.CreateWorkspaceHistory(context.Background(), "", workspace.Name, coderd.CreateWorkspaceHistoryRequest{
305+
history, err := client.CreateWorkspaceBuild(context.Background(), "", workspace.Name, coderd.CreateWorkspaceBuildRequest{
306306
ProjectVersionID: project.ActiveVersionID,
307307
Transition: database.WorkspaceTransitionStart,
308308
})

coderd/workspaceagent_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func TestWorkspaceAgentServe(t *testing.T) {
5252
project := coderdtest.CreateProject(t, client, user.Organization, job.ID)
5353
coderdtest.AwaitProjectImportJob(t, client, user.Organization, job.ID)
5454
workspace := coderdtest.CreateWorkspace(t, client, "me", project.ID)
55-
history, err := client.CreateWorkspaceHistory(context.Background(), "", workspace.Name, coderd.CreateWorkspaceHistoryRequest{
55+
history, err := client.CreateWorkspaceBuild(context.Background(), "", workspace.Name, coderd.CreateWorkspaceBuildRequest{
5656
ProjectVersionID: project.ActiveVersionID,
5757
Transition: database.WorkspaceTransitionStart,
5858
})

coderd/workspaceagentauth.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -117,20 +117,20 @@ func (api *api) postAuthenticateWorkspaceAgentUsingGoogleInstanceIdentity(rw htt
117117
})
118118
return
119119
}
120-
resourceHistory, err := api.Database.GetWorkspaceHistoryByID(r.Context(), jobData.WorkspaceHistoryID)
120+
resourceHistory, err := api.Database.GetWorkspaceBuildByID(r.Context(), jobData.WorkspaceBuildID)
121121
if err != nil {
122122
httpapi.Write(rw, http.StatusInternalServerError, httpapi.Response{
123-
Message: fmt.Sprintf("get workspace history: %s", err),
123+
Message: fmt.Sprintf("get workspace build: %s", err),
124124
})
125125
return
126126
}
127127
// This token should only be exchanged if the instance ID is valid
128128
// for the latest history. If an instance ID is recycled by a cloud,
129129
// we'd hate to leak access to a user's workspace.
130-
latestHistory, err := api.Database.GetWorkspaceHistoryByWorkspaceIDWithoutAfter(r.Context(), resourceHistory.WorkspaceID)
130+
latestHistory, err := api.Database.GetWorkspaceBuildByWorkspaceIDWithoutAfter(r.Context(), resourceHistory.WorkspaceID)
131131
if err != nil {
132132
httpapi.Write(rw, http.StatusInternalServerError, httpapi.Response{
133-
Message: fmt.Sprintf("get latest workspace history: %s", err),
133+
Message: fmt.Sprintf("get latest workspace build: %s", err),
134134
})
135135
return
136136
}

coderd/workspaceagentauth_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ func TestPostWorkspaceAgentAuthenticateGoogleInstanceIdentity(t *testing.T) {
9191
project := coderdtest.CreateProject(t, client, user.Organization, job.ID)
9292
coderdtest.AwaitProjectImportJob(t, client, user.Organization, job.ID)
9393
workspace := coderdtest.CreateWorkspace(t, client, "me", project.ID)
94-
firstHistory, err := client.CreateWorkspaceHistory(context.Background(), "", workspace.Name, coderd.CreateWorkspaceHistoryRequest{
94+
firstHistory, err := client.CreateWorkspaceBuild(context.Background(), "", workspace.Name, coderd.CreateWorkspaceBuildRequest{
9595
ProjectVersionID: project.ActiveVersionID,
9696
Transition: database.WorkspaceTransitionStart,
9797
})

coderd/workspacehistory.go

+39-39
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ import (
1818
"github.com/coder/coder/httpmw"
1919
)
2020

21-
// WorkspaceHistory is an at-point representation of a workspace state.
21+
// WorkspaceBuild is an at-point representation of a workspace state.
2222
// Iterate on before/after to determine a chronological history.
23-
type WorkspaceHistory struct {
23+
type WorkspaceBuild struct {
2424
ID uuid.UUID `json:"id"`
2525
CreatedAt time.Time `json:"created_at"`
2626
UpdatedAt time.Time `json:"updated_at"`
@@ -34,14 +34,14 @@ type WorkspaceHistory struct {
3434
ProvisionJobID uuid.UUID `json:"provision_job_id"`
3535
}
3636

37-
// CreateWorkspaceHistoryRequest provides options to update the latest workspace history.
38-
type CreateWorkspaceHistoryRequest struct {
37+
// CreateWorkspaceBuildRequest provides options to update the latest workspace build.
38+
type CreateWorkspaceBuildRequest struct {
3939
ProjectVersionID uuid.UUID `json:"project_version_id" validate:"required"`
4040
Transition database.WorkspaceTransition `json:"transition" validate:"oneof=create start stop delete,required"`
4141
}
4242

43-
func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Request) {
44-
var createBuild CreateWorkspaceHistoryRequest
43+
func (api *api) postWorkspaceBuildByUser(rw http.ResponseWriter, r *http.Request) {
44+
var createBuild CreateWorkspaceBuildRequest
4545
if !httpapi.Read(rw, r, &createBuild) {
4646
return
4747
}
@@ -100,7 +100,7 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
100100

101101
// Store prior history ID if it exists to update it after we create new!
102102
priorHistoryID := uuid.NullUUID{}
103-
priorHistory, err := api.Database.GetWorkspaceHistoryByWorkspaceIDWithoutAfter(r.Context(), workspace.ID)
103+
priorHistory, err := api.Database.GetWorkspaceBuildByWorkspaceIDWithoutAfter(r.Context(), workspace.ID)
104104
if err == nil {
105105
priorJob, err := api.Database.GetProvisionerJobByID(r.Context(), priorHistory.ProvisionJobID)
106106
if err == nil && !convertProvisionerJob(priorJob).Status.Completed() {
@@ -116,17 +116,17 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
116116
}
117117
} else if !errors.Is(err, sql.ErrNoRows) {
118118
httpapi.Write(rw, http.StatusInternalServerError, httpapi.Response{
119-
Message: fmt.Sprintf("get prior workspace history: %s", err),
119+
Message: fmt.Sprintf("get prior workspace build: %s", err),
120120
})
121121
return
122122
}
123123

124-
var workspaceHistory database.WorkspaceHistory
124+
var workspaceBuild database.WorkspaceBuild
125125
// This must happen in a transaction to ensure history can be inserted, and
126126
// the prior history can update it's "after" column to point at the new.
127127
err = api.Database.InTx(func(db database.Store) error {
128128
provisionerJobID := uuid.New()
129-
workspaceHistory, err = db.InsertWorkspaceHistory(r.Context(), database.InsertWorkspaceHistoryParams{
129+
workspaceBuild, err = db.InsertWorkspaceBuild(r.Context(), database.InsertWorkspaceBuildParams{
130130
ID: uuid.New(),
131131
CreatedAt: database.Now(),
132132
UpdatedAt: database.Now(),
@@ -139,11 +139,11 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
139139
ProvisionJobID: provisionerJobID,
140140
})
141141
if err != nil {
142-
return xerrors.Errorf("insert workspace history: %w", err)
142+
return xerrors.Errorf("insert workspace build: %w", err)
143143
}
144144

145145
input, err := json.Marshal(workspaceProvisionJob{
146-
WorkspaceHistoryID: workspaceHistory.ID,
146+
WorkspaceBuildID: workspaceBuild.ID,
147147
})
148148
if err != nil {
149149
return xerrors.Errorf("marshal provision job: %w", err)
@@ -167,17 +167,17 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
167167

168168
if priorHistoryID.Valid {
169169
// Update the prior history entries "after" column.
170-
err = db.UpdateWorkspaceHistoryByID(r.Context(), database.UpdateWorkspaceHistoryByIDParams{
170+
err = db.UpdateWorkspaceBuildByID(r.Context(), database.UpdateWorkspaceBuildByIDParams{
171171
ID: priorHistory.ID,
172172
ProvisionerState: priorHistory.ProvisionerState,
173173
UpdatedAt: database.Now(),
174174
AfterID: uuid.NullUUID{
175-
UUID: workspaceHistory.ID,
175+
UUID: workspaceBuild.ID,
176176
Valid: true,
177177
},
178178
})
179179
if err != nil {
180-
return xerrors.Errorf("update prior workspace history: %w", err)
180+
return xerrors.Errorf("update prior workspace build: %w", err)
181181
}
182182
}
183183

@@ -191,54 +191,54 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
191191
}
192192

193193
render.Status(r, http.StatusCreated)
194-
render.JSON(rw, r, convertWorkspaceHistory(workspaceHistory))
194+
render.JSON(rw, r, convertWorkspaceBuild(workspaceBuild))
195195
}
196196

197-
// Returns all workspace history. This is not sorted. Use before/after to chronologically sort.
198-
func (api *api) workspaceHistoryByUser(rw http.ResponseWriter, r *http.Request) {
197+
// Returns all workspace build. This is not sorted. Use before/after to chronologically sort.
198+
func (api *api) workspaceBuildByUser(rw http.ResponseWriter, r *http.Request) {
199199
workspace := httpmw.WorkspaceParam(r)
200200

201-
history, err := api.Database.GetWorkspaceHistoryByWorkspaceID(r.Context(), workspace.ID)
201+
history, err := api.Database.GetWorkspaceBuildByWorkspaceID(r.Context(), workspace.ID)
202202
if errors.Is(err, sql.ErrNoRows) {
203203
err = nil
204-
history = []database.WorkspaceHistory{}
204+
history = []database.WorkspaceBuild{}
205205
}
206206
if err != nil {
207207
httpapi.Write(rw, http.StatusInternalServerError, httpapi.Response{
208-
Message: fmt.Sprintf("get workspace history: %s", err),
208+
Message: fmt.Sprintf("get workspace build: %s", err),
209209
})
210210
return
211211
}
212212

213-
apiHistory := make([]WorkspaceHistory, 0, len(history))
213+
apiHistory := make([]WorkspaceBuild, 0, len(history))
214214
for _, history := range history {
215-
apiHistory = append(apiHistory, convertWorkspaceHistory(history))
215+
apiHistory = append(apiHistory, convertWorkspaceBuild(history))
216216
}
217217

218218
render.Status(r, http.StatusOK)
219219
render.JSON(rw, r, apiHistory)
220220
}
221221

222-
func (*api) workspaceHistoryByName(rw http.ResponseWriter, r *http.Request) {
223-
workspaceHistory := httpmw.WorkspaceHistoryParam(r)
222+
func (*api) workspaceBuildByName(rw http.ResponseWriter, r *http.Request) {
223+
workspaceBuild := httpmw.WorkspaceBuildParam(r)
224224
render.Status(r, http.StatusOK)
225-
render.JSON(rw, r, convertWorkspaceHistory(workspaceHistory))
225+
render.JSON(rw, r, convertWorkspaceBuild(workspaceBuild))
226226
}
227227

228228
// Converts the internal history representation to a public external-facing model.
229-
func convertWorkspaceHistory(workspaceHistory database.WorkspaceHistory) WorkspaceHistory {
229+
func convertWorkspaceBuild(workspaceBuild database.WorkspaceBuild) WorkspaceBuild {
230230
//nolint:unconvert
231-
return WorkspaceHistory(WorkspaceHistory{
232-
ID: workspaceHistory.ID,
233-
CreatedAt: workspaceHistory.CreatedAt,
234-
UpdatedAt: workspaceHistory.UpdatedAt,
235-
WorkspaceID: workspaceHistory.WorkspaceID,
236-
ProjectVersionID: workspaceHistory.ProjectVersionID,
237-
BeforeID: workspaceHistory.BeforeID.UUID,
238-
AfterID: workspaceHistory.AfterID.UUID,
239-
Name: workspaceHistory.Name,
240-
Transition: workspaceHistory.Transition,
241-
Initiator: workspaceHistory.Initiator,
242-
ProvisionJobID: workspaceHistory.ProvisionJobID,
231+
return WorkspaceBuild(WorkspaceBuild{
232+
ID: workspaceBuild.ID,
233+
CreatedAt: workspaceBuild.CreatedAt,
234+
UpdatedAt: workspaceBuild.UpdatedAt,
235+
WorkspaceID: workspaceBuild.WorkspaceID,
236+
ProjectVersionID: workspaceBuild.ProjectVersionID,
237+
BeforeID: workspaceBuild.BeforeID.UUID,
238+
AfterID: workspaceBuild.AfterID.UUID,
239+
Name: workspaceBuild.Name,
240+
Transition: workspaceBuild.Transition,
241+
Initiator: workspaceBuild.Initiator,
242+
ProvisionJobID: workspaceBuild.ProvisionJobID,
243243
})
244244
}

0 commit comments

Comments
 (0)