@@ -20,8 +20,8 @@ import (
20
20
"github.com/coder/coder/httpmw"
21
21
)
22
22
23
- // ProjectHistory is the JSON representation of Coder project version history .
24
- type ProjectHistory struct {
23
+ // ProjectVersion represents a single version of a project.
24
+ type ProjectVersion struct {
25
25
ID uuid.UUID `json:"id"`
26
26
ProjectID uuid.UUID `json:"project_id"`
27
27
CreatedAt time.Time `json:"created_at"`
@@ -31,11 +31,11 @@ type ProjectHistory struct {
31
31
Import ProvisionerJob `json:"import"`
32
32
}
33
33
34
- // ProjectParameter represents a parameter parsed from project history source on creation.
34
+ // ProjectParameter represents a parameter parsed from project version source on creation.
35
35
type ProjectParameter struct {
36
36
ID uuid.UUID `json:"id"`
37
37
CreatedAt time.Time `json:"created_at"`
38
- ProjectHistoryID uuid.UUID `json:"project_history_id "`
38
+ ProjectVersionID uuid.UUID `json:"project_version_id "`
39
39
Name string `json:"name"`
40
40
Description string `json:"description,omitempty"`
41
41
DefaultSourceScheme database.ParameterSourceScheme `json:"default_source_scheme,omitempty"`
@@ -52,60 +52,60 @@ type ProjectParameter struct {
52
52
ValidationValueType string `json:"validation_value_type,omitempty"`
53
53
}
54
54
55
- // CreateProjectHistoryRequest enables callers to create a new Project Version.
56
- type CreateProjectHistoryRequest struct {
55
+ // CreateProjectVersionRequest enables callers to create a new Project Version.
56
+ type CreateProjectVersionRequest struct {
57
57
StorageMethod database.ProjectStorageMethod `json:"storage_method" validate:"oneof=inline-archive,required"`
58
58
StorageSource []byte `json:"storage_source" validate:"max=1048576,required"`
59
59
}
60
60
61
- // Lists history for a single project.
62
- func (api * api ) projectHistoryByOrganization (rw http.ResponseWriter , r * http.Request ) {
61
+ // Lists versions for a single project.
62
+ func (api * api ) projectVersionsByOrganization (rw http.ResponseWriter , r * http.Request ) {
63
63
project := httpmw .ProjectParam (r )
64
64
65
- history , err := api .Database .GetProjectHistoryByProjectID (r .Context (), project .ID )
65
+ version , err := api .Database .GetProjectVersionByProjectID (r .Context (), project .ID )
66
66
if errors .Is (err , sql .ErrNoRows ) {
67
67
err = nil
68
68
}
69
69
if err != nil {
70
70
httpapi .Write (rw , http .StatusInternalServerError , httpapi.Response {
71
- Message : fmt .Sprintf ("get project history : %s" , err ),
71
+ Message : fmt .Sprintf ("get project version : %s" , err ),
72
72
})
73
73
return
74
74
}
75
- apiHistory := make ([]ProjectHistory , 0 )
76
- for _ , version := range history {
75
+ apiVersion := make ([]ProjectVersion , 0 )
76
+ for _ , version := range version {
77
77
job , err := api .Database .GetProvisionerJobByID (r .Context (), version .ImportJobID )
78
78
if err != nil {
79
79
httpapi .Write (rw , http .StatusInternalServerError , httpapi.Response {
80
80
Message : fmt .Sprintf ("get provisioner job: %s" , err ),
81
81
})
82
82
return
83
83
}
84
- apiHistory = append (apiHistory , convertProjectHistory (version , job ))
84
+ apiVersion = append (apiVersion , convertProjectVersion (version , job ))
85
85
}
86
86
render .Status (r , http .StatusOK )
87
- render .JSON (rw , r , apiHistory )
87
+ render .JSON (rw , r , apiVersion )
88
88
}
89
89
90
- // Return a single project history by organization and name.
91
- func (api * api ) projectHistoryByOrganizationAndName (rw http.ResponseWriter , r * http.Request ) {
92
- projectHistory := httpmw .ProjectHistoryParam (r )
93
- job , err := api .Database .GetProvisionerJobByID (r .Context (), projectHistory .ImportJobID )
90
+ // Return a single project version by organization and name.
91
+ func (api * api ) projectVersionByOrganizationAndName (rw http.ResponseWriter , r * http.Request ) {
92
+ projectVersion := httpmw .ProjectVersionParam (r )
93
+ job , err := api .Database .GetProvisionerJobByID (r .Context (), projectVersion .ImportJobID )
94
94
if err != nil {
95
95
httpapi .Write (rw , http .StatusInternalServerError , httpapi.Response {
96
96
Message : fmt .Sprintf ("get provisioner job: %s" , err ),
97
97
})
98
98
return
99
99
}
100
100
render .Status (r , http .StatusOK )
101
- render .JSON (rw , r , convertProjectHistory ( projectHistory , job ))
101
+ render .JSON (rw , r , convertProjectVersion ( projectVersion , job ))
102
102
}
103
103
104
104
// Creates a new version of the project. An import job is queued to parse
105
105
// the storage method provided. Once completed, the import job will specify
106
106
// the version as latest.
107
- func (api * api ) postProjectHistoryByOrganization (rw http.ResponseWriter , r * http.Request ) {
108
- var createProjectVersion CreateProjectHistoryRequest
107
+ func (api * api ) postProjectVersionByOrganization (rw http.ResponseWriter , r * http.Request ) {
108
+ var createProjectVersion CreateProjectVersionRequest
109
109
if ! httpapi .Read (rw , r , & createProjectVersion ) {
110
110
return
111
111
}
@@ -131,11 +131,11 @@ func (api *api) postProjectHistoryByOrganization(rw http.ResponseWriter, r *http
131
131
project := httpmw .ProjectParam (r )
132
132
133
133
var provisionerJob database.ProvisionerJob
134
- var projectHistory database.ProjectHistory
134
+ var projectVersion database.ProjectVersion
135
135
err := api .Database .InTx (func (db database.Store ) error {
136
- projectHistoryID := uuid .New ()
136
+ projectVersionID := uuid .New ()
137
137
input , err := json .Marshal (projectImportJob {
138
- ProjectHistoryID : projectHistoryID ,
138
+ ProjectVersionID : projectVersionID ,
139
139
})
140
140
if err != nil {
141
141
return xerrors .Errorf ("marshal import job: %w" , err )
@@ -155,8 +155,8 @@ func (api *api) postProjectHistoryByOrganization(rw http.ResponseWriter, r *http
155
155
return xerrors .Errorf ("insert provisioner job: %w" , err )
156
156
}
157
157
158
- projectHistory , err = api .Database .InsertProjectHistory (r .Context (), database.InsertProjectHistoryParams {
159
- ID : projectHistoryID ,
158
+ projectVersion , err = api .Database .InsertProjectVersion (r .Context (), database.InsertProjectVersionParams {
159
+ ID : projectVersionID ,
160
160
ProjectID : project .ID ,
161
161
CreatedAt : database .Now (),
162
162
UpdatedAt : database .Now (),
@@ -166,7 +166,7 @@ func (api *api) postProjectHistoryByOrganization(rw http.ResponseWriter, r *http
166
166
ImportJobID : provisionerJob .ID ,
167
167
})
168
168
if err != nil {
169
- return xerrors .Errorf ("insert project history : %s" , err )
169
+ return xerrors .Errorf ("insert project version : %s" , err )
170
170
}
171
171
return nil
172
172
})
@@ -178,12 +178,12 @@ func (api *api) postProjectHistoryByOrganization(rw http.ResponseWriter, r *http
178
178
}
179
179
180
180
render .Status (r , http .StatusCreated )
181
- render .JSON (rw , r , convertProjectHistory ( projectHistory , provisionerJob ))
181
+ render .JSON (rw , r , convertProjectVersion ( projectVersion , provisionerJob ))
182
182
}
183
183
184
- func (api * api ) projectHistoryParametersByOrganizationAndName (rw http.ResponseWriter , r * http.Request ) {
185
- projectHistory := httpmw .ProjectHistoryParam (r )
186
- job , err := api .Database .GetProvisionerJobByID (r .Context (), projectHistory .ImportJobID )
184
+ func (api * api ) projectVersionParametersByOrganizationAndName (rw http.ResponseWriter , r * http.Request ) {
185
+ projectVersion := httpmw .ProjectVersionParam (r )
186
+ job , err := api .Database .GetProvisionerJobByID (r .Context (), projectVersion .ImportJobID )
187
187
if err != nil {
188
188
httpapi .Write (rw , http .StatusInternalServerError , httpapi.Response {
189
189
Message : fmt .Sprintf ("get provisioner job: %s" , err ),
@@ -204,7 +204,7 @@ func (api *api) projectHistoryParametersByOrganizationAndName(rw http.ResponseWr
204
204
return
205
205
}
206
206
207
- parameters , err := api .Database .GetProjectParametersByHistoryID (r .Context (), projectHistory .ID )
207
+ parameters , err := api .Database .GetProjectParametersByVersionID (r .Context (), projectVersion .ID )
208
208
if errors .Is (err , sql .ErrNoRows ) {
209
209
err = nil
210
210
parameters = []database.ProjectParameter {}
@@ -225,14 +225,14 @@ func (api *api) projectHistoryParametersByOrganizationAndName(rw http.ResponseWr
225
225
render .JSON (rw , r , apiParameters )
226
226
}
227
227
228
- func convertProjectHistory ( history database.ProjectHistory , job database.ProvisionerJob ) ProjectHistory {
229
- return ProjectHistory {
230
- ID : history .ID ,
231
- ProjectID : history .ProjectID ,
232
- CreatedAt : history .CreatedAt ,
233
- UpdatedAt : history .UpdatedAt ,
234
- Name : history .Name ,
235
- StorageMethod : history .StorageMethod ,
228
+ func convertProjectVersion ( version database.ProjectVersion , job database.ProvisionerJob ) ProjectVersion {
229
+ return ProjectVersion {
230
+ ID : version .ID ,
231
+ ProjectID : version .ProjectID ,
232
+ CreatedAt : version .CreatedAt ,
233
+ UpdatedAt : version .UpdatedAt ,
234
+ Name : version .Name ,
235
+ StorageMethod : version .StorageMethod ,
236
236
Import : convertProvisionerJob (job ),
237
237
}
238
238
}
@@ -241,7 +241,7 @@ func convertProjectParameter(parameter database.ProjectParameter) ProjectParamet
241
241
return ProjectParameter {
242
242
ID : parameter .ID ,
243
243
CreatedAt : parameter .CreatedAt ,
244
- ProjectHistoryID : parameter .ProjectHistoryID ,
244
+ ProjectVersionID : parameter .ProjectVersionID ,
245
245
Name : parameter .Name ,
246
246
Description : parameter .Description ,
247
247
DefaultSourceScheme : parameter .DefaultSourceScheme ,
@@ -259,6 +259,6 @@ func convertProjectParameter(parameter database.ProjectParameter) ProjectParamet
259
259
}
260
260
}
261
261
262
- func projectHistoryLogsChannel ( projectHistoryID uuid.UUID ) string {
263
- return fmt .Sprintf ("project-history -logs:%s" , projectHistoryID )
262
+ func projectVersionLogsChannel ( projectVersionID uuid.UUID ) string {
263
+ return fmt .Sprintf ("project-version -logs:%s" , projectVersionID )
264
264
}
0 commit comments