@@ -24,7 +24,7 @@ import (
24
24
// abstracted for ease of change later on.
25
25
type Project database.Project
26
26
27
- // ProjectHistory is the JSON representation of a Coder project version.
27
+ // ProjectHistory is the JSON representation of Coder project version history .
28
28
type ProjectHistory struct {
29
29
ID uuid.UUID `json:"id"`
30
30
ProjectID uuid.UUID `json:"project_id"`
@@ -149,8 +149,8 @@ func (*projects) project(rw http.ResponseWriter, r *http.Request) {
149
149
render .JSON (rw , r , project )
150
150
}
151
151
152
- // projectHistory lists versions for a single project.
153
- func (p * projects ) projectHistory (rw http.ResponseWriter , r * http.Request ) {
152
+ // allProjectHistory lists all history for a single project.
153
+ func (p * projects ) allProjectHistory (rw http.ResponseWriter , r * http.Request ) {
154
154
project := httpmw .ProjectParam (r )
155
155
156
156
history , err := p .Database .GetProjectHistoryByProjectID (r .Context (), project .ID )
@@ -163,14 +163,17 @@ func (p *projects) projectHistory(rw http.ResponseWriter, r *http.Request) {
163
163
})
164
164
return
165
165
}
166
- versions := make ([]ProjectHistory , 0 )
166
+ apiHistory := make ([]ProjectHistory , 0 )
167
167
for _ , version := range history {
168
- versions = append (versions , convertProjectHistory (version ))
168
+ apiHistory = append (apiHistory , convertProjectHistory (version ))
169
169
}
170
170
render .Status (r , http .StatusOK )
171
- render .JSON (rw , r , versions )
171
+ render .JSON (rw , r , apiHistory )
172
172
}
173
173
174
+ // createProjectHistory adds a new historical version of a project.
175
+ // An import job is queued to parse the storage method provided.
176
+ // Once completed, the import job will specify the version as latest.
174
177
func (p * projects ) createProjectHistory (rw http.ResponseWriter , r * http.Request ) {
175
178
var createProjectVersion CreateProjectVersionRequest
176
179
if ! httpapi .Read (rw , r , & createProjectVersion ) {
@@ -203,6 +206,8 @@ func (p *projects) createProjectHistory(rw http.ResponseWriter, r *http.Request)
203
206
Name : namesgenerator .GetRandomName (1 ),
204
207
StorageMethod : createProjectVersion .StorageMethod ,
205
208
StorageSource : createProjectVersion .StorageSource ,
209
+ // TODO: Make this do something!
210
+ ImportJobID : uuid .New (),
206
211
})
207
212
if err != nil {
208
213
httpapi .Write (rw , http .StatusInternalServerError , httpapi.Response {
0 commit comments