@@ -18,9 +18,9 @@ import (
18
18
"github.com/coder/coder/httpmw"
19
19
)
20
20
21
- // WorkspaceHistory is an at-point representation of a workspace state.
21
+ // WorkspaceBuild is an at-point representation of a workspace state.
22
22
// Iterate on before/after to determine a chronological history.
23
- type WorkspaceHistory struct {
23
+ type WorkspaceBuild struct {
24
24
ID uuid.UUID `json:"id"`
25
25
CreatedAt time.Time `json:"created_at"`
26
26
UpdatedAt time.Time `json:"updated_at"`
@@ -34,14 +34,14 @@ type WorkspaceHistory struct {
34
34
ProvisionJobID uuid.UUID `json:"provision_job_id"`
35
35
}
36
36
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 {
39
39
ProjectVersionID uuid.UUID `json:"project_version_id" validate:"required"`
40
40
Transition database.WorkspaceTransition `json:"transition" validate:"oneof=create start stop delete,required"`
41
41
}
42
42
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
45
45
if ! httpapi .Read (rw , r , & createBuild ) {
46
46
return
47
47
}
@@ -100,7 +100,7 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
100
100
101
101
// Store prior history ID if it exists to update it after we create new!
102
102
priorHistoryID := uuid.NullUUID {}
103
- priorHistory , err := api .Database .GetWorkspaceHistoryByWorkspaceIDWithoutAfter (r .Context (), workspace .ID )
103
+ priorHistory , err := api .Database .GetWorkspaceBuildByWorkspaceIDWithoutAfter (r .Context (), workspace .ID )
104
104
if err == nil {
105
105
priorJob , err := api .Database .GetProvisionerJobByID (r .Context (), priorHistory .ProvisionJobID )
106
106
if err == nil && ! convertProvisionerJob (priorJob ).Status .Completed () {
@@ -116,17 +116,17 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
116
116
}
117
117
} else if ! errors .Is (err , sql .ErrNoRows ) {
118
118
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 ),
120
120
})
121
121
return
122
122
}
123
123
124
- var workspaceHistory database.WorkspaceHistory
124
+ var workspaceBuild database.WorkspaceBuild
125
125
// This must happen in a transaction to ensure history can be inserted, and
126
126
// the prior history can update it's "after" column to point at the new.
127
127
err = api .Database .InTx (func (db database.Store ) error {
128
128
provisionerJobID := uuid .New ()
129
- workspaceHistory , err = db .InsertWorkspaceHistory (r .Context (), database.InsertWorkspaceHistoryParams {
129
+ workspaceBuild , err = db .InsertWorkspaceBuild (r .Context (), database.InsertWorkspaceBuildParams {
130
130
ID : uuid .New (),
131
131
CreatedAt : database .Now (),
132
132
UpdatedAt : database .Now (),
@@ -139,11 +139,11 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
139
139
ProvisionJobID : provisionerJobID ,
140
140
})
141
141
if err != nil {
142
- return xerrors .Errorf ("insert workspace history : %w" , err )
142
+ return xerrors .Errorf ("insert workspace build : %w" , err )
143
143
}
144
144
145
145
input , err := json .Marshal (workspaceProvisionJob {
146
- WorkspaceHistoryID : workspaceHistory .ID ,
146
+ WorkspaceBuildID : workspaceBuild .ID ,
147
147
})
148
148
if err != nil {
149
149
return xerrors .Errorf ("marshal provision job: %w" , err )
@@ -167,17 +167,17 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
167
167
168
168
if priorHistoryID .Valid {
169
169
// Update the prior history entries "after" column.
170
- err = db .UpdateWorkspaceHistoryByID (r .Context (), database.UpdateWorkspaceHistoryByIDParams {
170
+ err = db .UpdateWorkspaceBuildByID (r .Context (), database.UpdateWorkspaceBuildByIDParams {
171
171
ID : priorHistory .ID ,
172
172
ProvisionerState : priorHistory .ProvisionerState ,
173
173
UpdatedAt : database .Now (),
174
174
AfterID : uuid.NullUUID {
175
- UUID : workspaceHistory .ID ,
175
+ UUID : workspaceBuild .ID ,
176
176
Valid : true ,
177
177
},
178
178
})
179
179
if err != nil {
180
- return xerrors .Errorf ("update prior workspace history : %w" , err )
180
+ return xerrors .Errorf ("update prior workspace build : %w" , err )
181
181
}
182
182
}
183
183
@@ -191,54 +191,54 @@ func (api *api) postWorkspaceHistoryByUser(rw http.ResponseWriter, r *http.Reque
191
191
}
192
192
193
193
render .Status (r , http .StatusCreated )
194
- render .JSON (rw , r , convertWorkspaceHistory ( workspaceHistory ))
194
+ render .JSON (rw , r , convertWorkspaceBuild ( workspaceBuild ))
195
195
}
196
196
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 ) {
199
199
workspace := httpmw .WorkspaceParam (r )
200
200
201
- history , err := api .Database .GetWorkspaceHistoryByWorkspaceID (r .Context (), workspace .ID )
201
+ history , err := api .Database .GetWorkspaceBuildByWorkspaceID (r .Context (), workspace .ID )
202
202
if errors .Is (err , sql .ErrNoRows ) {
203
203
err = nil
204
- history = []database.WorkspaceHistory {}
204
+ history = []database.WorkspaceBuild {}
205
205
}
206
206
if err != nil {
207
207
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 ),
209
209
})
210
210
return
211
211
}
212
212
213
- apiHistory := make ([]WorkspaceHistory , 0 , len (history ))
213
+ apiHistory := make ([]WorkspaceBuild , 0 , len (history ))
214
214
for _ , history := range history {
215
- apiHistory = append (apiHistory , convertWorkspaceHistory (history ))
215
+ apiHistory = append (apiHistory , convertWorkspaceBuild (history ))
216
216
}
217
217
218
218
render .Status (r , http .StatusOK )
219
219
render .JSON (rw , r , apiHistory )
220
220
}
221
221
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 )
224
224
render .Status (r , http .StatusOK )
225
- render .JSON (rw , r , convertWorkspaceHistory ( workspaceHistory ))
225
+ render .JSON (rw , r , convertWorkspaceBuild ( workspaceBuild ))
226
226
}
227
227
228
228
// 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 {
230
230
//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 ,
243
243
})
244
244
}
0 commit comments