Skip to content

Commit d55231c

Browse files
authored
refactor: Rename ProjectParameter to ProjectVersionParameter (#170)
This was confusing with ParameterValue before. It still is a bit, but this should help distinguish scope.
1 parent ed705f6 commit d55231c

13 files changed

+240
-225
lines changed

coderd/projectparameter/projectparameter.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ func Compute(ctx context.Context, db database.Store, scope Scope) ([]Value, erro
4040
compute := &compute{
4141
db: db,
4242
computedParameterByName: map[string]Value{},
43-
projectVersionParametersByName: map[string]database.ProjectParameter{},
43+
projectVersionParametersByName: map[string]database.ProjectVersionParameter{},
4444
}
4545

4646
// All parameters for the project version!
47-
projectVersionParameters, err := db.GetProjectParametersByVersionID(ctx, scope.ProjectVersionID)
47+
projectVersionParameters, err := db.GetProjectVersionParametersByVersionID(ctx, scope.ProjectVersionID)
4848
if errors.Is(err, sql.ErrNoRows) {
4949
// This occurs when the project version has defined
5050
// no parameters, so we have nothing to compute!
@@ -144,7 +144,7 @@ func Compute(ctx context.Context, db database.Store, scope Scope) ([]Value, erro
144144
type compute struct {
145145
db database.Store
146146
computedParameterByName map[string]Value
147-
projectVersionParametersByName map[string]database.ProjectParameter
147+
projectVersionParametersByName map[string]database.ProjectVersionParameter
148148
}
149149

150150
// Validates and computes the value for parameters; setting the value on "parameterByName".

coderd/projectparameter/projectparameter_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func TestCompute(t *testing.T) {
3131
DefaultDestinationScheme database.ParameterDestinationScheme
3232
ProjectVersionID uuid.UUID
3333
}
34-
generateProjectParameter := func(t *testing.T, db database.Store, opts projectParameterOptions) database.ProjectParameter {
34+
generateProjectParameter := func(t *testing.T, db database.Store, opts projectParameterOptions) database.ProjectVersionParameter {
3535
if opts.DefaultDestinationScheme == "" {
3636
opts.DefaultDestinationScheme = database.ParameterDestinationSchemeEnvironmentVariable
3737
}
@@ -41,7 +41,7 @@ func TestCompute(t *testing.T) {
4141
require.NoError(t, err)
4242
destinationValue, err := cryptorand.String(8)
4343
require.NoError(t, err)
44-
param, err := db.InsertProjectParameter(context.Background(), database.InsertProjectParameterParams{
44+
param, err := db.InsertProjectVersionParameter(context.Background(), database.InsertProjectVersionParameterParams{
4545
ID: uuid.New(),
4646
Name: name,
4747
ProjectVersionID: opts.ProjectVersionID,
@@ -66,7 +66,7 @@ func TestCompute(t *testing.T) {
6666
t.Parallel()
6767
db := databasefake.New()
6868
scope := generateScope()
69-
parameter, err := db.InsertProjectParameter(context.Background(), database.InsertProjectParameterParams{
69+
parameter, err := db.InsertProjectVersionParameter(context.Background(), database.InsertProjectVersionParameterParams{
7070
ID: uuid.New(),
7171
ProjectVersionID: scope.ProjectVersionID,
7272
Name: "hey",

coderd/projectversion.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ type ProjectVersion struct {
3131
Import ProvisionerJob `json:"import"`
3232
}
3333

34-
// ProjectParameter represents a parameter parsed from project version source on creation.
35-
type ProjectParameter struct {
34+
// ProjectVersionParameter represents a parameter parsed from project version source on creation.
35+
type ProjectVersionParameter struct {
3636
ID uuid.UUID `json:"id"`
3737
CreatedAt time.Time `json:"created_at"`
3838
ProjectVersionID uuid.UUID `json:"project_version_id"`
@@ -62,7 +62,7 @@ type CreateProjectVersionRequest struct {
6262
func (api *api) projectVersionsByOrganization(rw http.ResponseWriter, r *http.Request) {
6363
project := httpmw.ProjectParam(r)
6464

65-
version, err := api.Database.GetProjectVersionByProjectID(r.Context(), project.ID)
65+
version, err := api.Database.GetProjectVersionsByProjectID(r.Context(), project.ID)
6666
if errors.Is(err, sql.ErrNoRows) {
6767
err = nil
6868
}
@@ -194,10 +194,10 @@ func (api *api) projectVersionParametersByOrganizationAndName(rw http.ResponseWr
194194
return
195195
}
196196

197-
parameters, err := api.Database.GetProjectParametersByVersionID(r.Context(), projectVersion.ID)
197+
parameters, err := api.Database.GetProjectVersionParametersByVersionID(r.Context(), projectVersion.ID)
198198
if errors.Is(err, sql.ErrNoRows) {
199199
err = nil
200-
parameters = []database.ProjectParameter{}
200+
parameters = []database.ProjectVersionParameter{}
201201
}
202202
if err != nil {
203203
httpapi.Write(rw, http.StatusInternalServerError, httpapi.Response{
@@ -206,7 +206,7 @@ func (api *api) projectVersionParametersByOrganizationAndName(rw http.ResponseWr
206206
return
207207
}
208208

209-
apiParameters := make([]ProjectParameter, 0, len(parameters))
209+
apiParameters := make([]ProjectVersionParameter, 0, len(parameters))
210210
for _, parameter := range parameters {
211211
apiParameters = append(apiParameters, convertProjectParameter(parameter))
212212
}
@@ -227,8 +227,8 @@ func convertProjectVersion(version database.ProjectVersion, job database.Provisi
227227
}
228228
}
229229

230-
func convertProjectParameter(parameter database.ProjectParameter) ProjectParameter {
231-
return ProjectParameter{
230+
func convertProjectParameter(parameter database.ProjectVersionParameter) ProjectVersionParameter {
231+
return ProjectVersionParameter{
232232
ID: parameter.ID,
233233
CreatedAt: parameter.CreatedAt,
234234
ProjectVersionID: parameter.ProjectVersionID,

coderd/provisionerdaemons.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -378,14 +378,14 @@ func (server *provisionerdServer) CompleteJob(ctx context.Context, completed *pr
378378

379379
// Validate that all parameters send from the provisioner daemon
380380
// follow the protocol.
381-
projectParameters := make([]database.InsertProjectParameterParams, 0, len(jobType.ProjectImport.ParameterSchemas))
381+
projectVersionParameters := make([]database.InsertProjectVersionParameterParams, 0, len(jobType.ProjectImport.ParameterSchemas))
382382
for _, protoParameter := range jobType.ProjectImport.ParameterSchemas {
383383
validationTypeSystem, err := convertValidationTypeSystem(protoParameter.ValidationTypeSystem)
384384
if err != nil {
385385
return nil, xerrors.Errorf("convert validation type system for %q: %w", protoParameter.Name, err)
386386
}
387387

388-
projectParameter := database.InsertProjectParameterParams{
388+
projectParameter := database.InsertProjectVersionParameterParams{
389389
ID: uuid.New(),
390390
CreatedAt: database.Now(),
391391
ProjectVersionID: input.ProjectVersionID,
@@ -430,7 +430,7 @@ func (server *provisionerdServer) CompleteJob(ctx context.Context, completed *pr
430430
}
431431
}
432432

433-
projectParameters = append(projectParameters, projectParameter)
433+
projectVersionParameters = append(projectVersionParameters, projectParameter)
434434
}
435435

436436
// This must occur in a transaction in case of failure.
@@ -448,8 +448,8 @@ func (server *provisionerdServer) CompleteJob(ctx context.Context, completed *pr
448448
}
449449
// This could be a bulk-insert operation to improve performance.
450450
// See the "InsertWorkspaceHistoryLogs" query.
451-
for _, projectParameter := range projectParameters {
452-
_, err = db.InsertProjectParameter(ctx, projectParameter)
451+
for _, projectParameter := range projectVersionParameters {
452+
_, err = db.InsertProjectVersionParameter(ctx, projectParameter)
453453
if err != nil {
454454
return xerrors.Errorf("insert project parameter %q: %w", projectParameter.Name, err)
455455
}

coderd/provisionerdaemons_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ func TestProvisionerDaemons(t *testing.T) {
2424
daemons, err := client.ProvisionerDaemons(context.Background())
2525
require.NoError(t, err)
2626
return len(daemons) > 0
27-
}, time.Second, 25*time.Millisecond)
27+
}, 3*time.Second, 50*time.Millisecond)
2828
}

codersdk/projects.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func (c *Client) CreateProjectVersion(ctx context.Context, organization, project
100100
}
101101

102102
// ProjectVersionParameters returns project parameters for a version by name.
103-
func (c *Client) ProjectVersionParameters(ctx context.Context, organization, project, version string) ([]coderd.ProjectParameter, error) {
103+
func (c *Client) ProjectVersionParameters(ctx context.Context, organization, project, version string) ([]coderd.ProjectVersionParameter, error) {
104104
res, err := c.request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/projects/%s/%s/versions/%s/parameters", organization, project, version), nil)
105105
if err != nil {
106106
return nil, err
@@ -109,7 +109,7 @@ func (c *Client) ProjectVersionParameters(ctx context.Context, organization, pro
109109
if res.StatusCode != http.StatusOK {
110110
return nil, readBodyAsError(res)
111111
}
112-
var params []coderd.ProjectParameter
112+
var params []coderd.ProjectVersionParameter
113113
return params, json.NewDecoder(res.Body).Decode(&params)
114114
}
115115

database/databasefake/databasefake.go

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ func New() database.Store {
1919
organizationMembers: make([]database.OrganizationMember, 0),
2020
users: make([]database.User, 0),
2121

22-
files: make([]database.File, 0),
23-
parameterValue: make([]database.ParameterValue, 0),
24-
project: make([]database.Project, 0),
25-
projectVersion: make([]database.ProjectVersion, 0),
26-
projectParameter: make([]database.ProjectParameter, 0),
27-
provisionerDaemons: make([]database.ProvisionerDaemon, 0),
28-
provisionerJobs: make([]database.ProvisionerJob, 0),
29-
provisionerJobLog: make([]database.ProvisionerJobLog, 0),
30-
workspace: make([]database.Workspace, 0),
31-
workspaceResource: make([]database.WorkspaceResource, 0),
32-
workspaceHistory: make([]database.WorkspaceHistory, 0),
33-
workspaceAgent: make([]database.WorkspaceAgent, 0),
22+
files: make([]database.File, 0),
23+
parameterValue: make([]database.ParameterValue, 0),
24+
project: make([]database.Project, 0),
25+
projectVersion: make([]database.ProjectVersion, 0),
26+
projectVersionParameter: make([]database.ProjectVersionParameter, 0),
27+
provisionerDaemons: make([]database.ProvisionerDaemon, 0),
28+
provisionerJobs: make([]database.ProvisionerJob, 0),
29+
provisionerJobLog: make([]database.ProvisionerJobLog, 0),
30+
workspace: make([]database.Workspace, 0),
31+
workspaceResource: make([]database.WorkspaceResource, 0),
32+
workspaceHistory: make([]database.WorkspaceHistory, 0),
33+
workspaceAgent: make([]database.WorkspaceAgent, 0),
3434
}
3535
}
3636

@@ -40,23 +40,23 @@ type fakeQuerier struct {
4040

4141
// Legacy tables
4242
apiKeys []database.APIKey
43-
files []database.File
4443
organizations []database.Organization
4544
organizationMembers []database.OrganizationMember
4645
users []database.User
4746

4847
// New tables
49-
parameterValue []database.ParameterValue
50-
project []database.Project
51-
projectVersion []database.ProjectVersion
52-
projectParameter []database.ProjectParameter
53-
provisionerDaemons []database.ProvisionerDaemon
54-
provisionerJobs []database.ProvisionerJob
55-
provisionerJobLog []database.ProvisionerJobLog
56-
workspace []database.Workspace
57-
workspaceAgent []database.WorkspaceAgent
58-
workspaceHistory []database.WorkspaceHistory
59-
workspaceResource []database.WorkspaceResource
48+
files []database.File
49+
parameterValue []database.ParameterValue
50+
project []database.Project
51+
projectVersion []database.ProjectVersion
52+
projectVersionParameter []database.ProjectVersionParameter
53+
provisionerDaemons []database.ProvisionerDaemon
54+
provisionerJobs []database.ProvisionerJob
55+
provisionerJobLog []database.ProvisionerJobLog
56+
workspace []database.Workspace
57+
workspaceAgent []database.WorkspaceAgent
58+
workspaceHistory []database.WorkspaceHistory
59+
workspaceResource []database.WorkspaceResource
6060
}
6161

6262
// InTx doesn't rollback data properly for in-memory yet.
@@ -399,7 +399,7 @@ func (q *fakeQuerier) GetProjectByOrganizationAndName(_ context.Context, arg dat
399399
return database.Project{}, sql.ErrNoRows
400400
}
401401

402-
func (q *fakeQuerier) GetProjectVersionByProjectID(_ context.Context, projectID uuid.UUID) ([]database.ProjectVersion, error) {
402+
func (q *fakeQuerier) GetProjectVersionsByProjectID(_ context.Context, projectID uuid.UUID) ([]database.ProjectVersion, error) {
403403
q.mutex.Lock()
404404
defer q.mutex.Unlock()
405405

@@ -445,12 +445,12 @@ func (q *fakeQuerier) GetProjectVersionByID(_ context.Context, projectVersionID
445445
return database.ProjectVersion{}, sql.ErrNoRows
446446
}
447447

448-
func (q *fakeQuerier) GetProjectParametersByVersionID(_ context.Context, projectVersionID uuid.UUID) ([]database.ProjectParameter, error) {
448+
func (q *fakeQuerier) GetProjectVersionParametersByVersionID(_ context.Context, projectVersionID uuid.UUID) ([]database.ProjectVersionParameter, error) {
449449
q.mutex.Lock()
450450
defer q.mutex.Unlock()
451451

452-
parameters := make([]database.ProjectParameter, 0)
453-
for _, projectParameter := range q.projectParameter {
452+
parameters := make([]database.ProjectVersionParameter, 0)
453+
for _, projectParameter := range q.projectVersionParameter {
454454
if projectParameter.ProjectVersionID.String() != projectVersionID.String() {
455455
continue
456456
}
@@ -703,12 +703,12 @@ func (q *fakeQuerier) InsertProvisionerJobLogs(_ context.Context, arg database.I
703703
return logs, nil
704704
}
705705

706-
func (q *fakeQuerier) InsertProjectParameter(_ context.Context, arg database.InsertProjectParameterParams) (database.ProjectParameter, error) {
706+
func (q *fakeQuerier) InsertProjectVersionParameter(_ context.Context, arg database.InsertProjectVersionParameterParams) (database.ProjectVersionParameter, error) {
707707
q.mutex.Lock()
708708
defer q.mutex.Unlock()
709709

710710
//nolint:gosimple
711-
param := database.ProjectParameter{
711+
param := database.ProjectVersionParameter{
712712
ID: arg.ID,
713713
CreatedAt: arg.CreatedAt,
714714
ProjectVersionID: arg.ProjectVersionID,
@@ -727,7 +727,7 @@ func (q *fakeQuerier) InsertProjectParameter(_ context.Context, arg database.Ins
727727
ValidationTypeSystem: arg.ValidationTypeSystem,
728728
ValidationValueType: arg.ValidationValueType,
729729
}
730-
q.projectParameter = append(q.projectParameter, param)
730+
q.projectVersionParameter = append(q.projectVersionParameter, param)
731731
return param, nil
732732
}
733733

database/dump.sql

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

database/migrations/000002_projects.up.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ CREATE TYPE parameter_destination_scheme AS ENUM('none', 'environment_variable',
7171
-- Parameter types, description, and validation will produce
7272
-- a UI for users to enter values.
7373
-- Needs to be made consistent with the examples below.
74-
CREATE TABLE project_parameter (
74+
CREATE TABLE project_version_parameter (
7575
id uuid NOT NULL UNIQUE,
7676
created_at timestamptz NOT NULL,
7777
project_version_id uuid NOT NULL REFERENCES project_version(id) ON DELETE CASCADE,

0 commit comments

Comments
 (0)