mirror of
https://github.com/coder/coder.git
synced 2026-09-22 05:05:20 +08:00
refactor: Rename ProjectParameter to ProjectVersionParameter (#170)
This was confusing with ParameterValue before. It still is a bit, but this should help distinguish scope.
This commit is contained in:
@@ -40,11 +40,11 @@ func Compute(ctx context.Context, db database.Store, scope Scope) ([]Value, erro
|
||||
compute := &compute{
|
||||
db: db,
|
||||
computedParameterByName: map[string]Value{},
|
||||
projectVersionParametersByName: map[string]database.ProjectParameter{},
|
||||
projectVersionParametersByName: map[string]database.ProjectVersionParameter{},
|
||||
}
|
||||
|
||||
// All parameters for the project version!
|
||||
projectVersionParameters, err := db.GetProjectParametersByVersionID(ctx, scope.ProjectVersionID)
|
||||
projectVersionParameters, err := db.GetProjectVersionParametersByVersionID(ctx, scope.ProjectVersionID)
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
// This occurs when the project version has defined
|
||||
// no parameters, so we have nothing to compute!
|
||||
@@ -144,7 +144,7 @@ func Compute(ctx context.Context, db database.Store, scope Scope) ([]Value, erro
|
||||
type compute struct {
|
||||
db database.Store
|
||||
computedParameterByName map[string]Value
|
||||
projectVersionParametersByName map[string]database.ProjectParameter
|
||||
projectVersionParametersByName map[string]database.ProjectVersionParameter
|
||||
}
|
||||
|
||||
// Validates and computes the value for parameters; setting the value on "parameterByName".
|
||||
|
||||
@@ -31,7 +31,7 @@ func TestCompute(t *testing.T) {
|
||||
DefaultDestinationScheme database.ParameterDestinationScheme
|
||||
ProjectVersionID uuid.UUID
|
||||
}
|
||||
generateProjectParameter := func(t *testing.T, db database.Store, opts projectParameterOptions) database.ProjectParameter {
|
||||
generateProjectParameter := func(t *testing.T, db database.Store, opts projectParameterOptions) database.ProjectVersionParameter {
|
||||
if opts.DefaultDestinationScheme == "" {
|
||||
opts.DefaultDestinationScheme = database.ParameterDestinationSchemeEnvironmentVariable
|
||||
}
|
||||
@@ -41,7 +41,7 @@ func TestCompute(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
destinationValue, err := cryptorand.String(8)
|
||||
require.NoError(t, err)
|
||||
param, err := db.InsertProjectParameter(context.Background(), database.InsertProjectParameterParams{
|
||||
param, err := db.InsertProjectVersionParameter(context.Background(), database.InsertProjectVersionParameterParams{
|
||||
ID: uuid.New(),
|
||||
Name: name,
|
||||
ProjectVersionID: opts.ProjectVersionID,
|
||||
@@ -66,7 +66,7 @@ func TestCompute(t *testing.T) {
|
||||
t.Parallel()
|
||||
db := databasefake.New()
|
||||
scope := generateScope()
|
||||
parameter, err := db.InsertProjectParameter(context.Background(), database.InsertProjectParameterParams{
|
||||
parameter, err := db.InsertProjectVersionParameter(context.Background(), database.InsertProjectVersionParameterParams{
|
||||
ID: uuid.New(),
|
||||
ProjectVersionID: scope.ProjectVersionID,
|
||||
Name: "hey",
|
||||
|
||||
@@ -31,8 +31,8 @@ type ProjectVersion struct {
|
||||
Import ProvisionerJob `json:"import"`
|
||||
}
|
||||
|
||||
// ProjectParameter represents a parameter parsed from project version source on creation.
|
||||
type ProjectParameter struct {
|
||||
// ProjectVersionParameter represents a parameter parsed from project version source on creation.
|
||||
type ProjectVersionParameter struct {
|
||||
ID uuid.UUID `json:"id"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
ProjectVersionID uuid.UUID `json:"project_version_id"`
|
||||
@@ -62,7 +62,7 @@ type CreateProjectVersionRequest struct {
|
||||
func (api *api) projectVersionsByOrganization(rw http.ResponseWriter, r *http.Request) {
|
||||
project := httpmw.ProjectParam(r)
|
||||
|
||||
version, err := api.Database.GetProjectVersionByProjectID(r.Context(), project.ID)
|
||||
version, err := api.Database.GetProjectVersionsByProjectID(r.Context(), project.ID)
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
err = nil
|
||||
}
|
||||
@@ -194,10 +194,10 @@ func (api *api) projectVersionParametersByOrganizationAndName(rw http.ResponseWr
|
||||
return
|
||||
}
|
||||
|
||||
parameters, err := api.Database.GetProjectParametersByVersionID(r.Context(), projectVersion.ID)
|
||||
parameters, err := api.Database.GetProjectVersionParametersByVersionID(r.Context(), projectVersion.ID)
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
err = nil
|
||||
parameters = []database.ProjectParameter{}
|
||||
parameters = []database.ProjectVersionParameter{}
|
||||
}
|
||||
if err != nil {
|
||||
httpapi.Write(rw, http.StatusInternalServerError, httpapi.Response{
|
||||
@@ -206,7 +206,7 @@ func (api *api) projectVersionParametersByOrganizationAndName(rw http.ResponseWr
|
||||
return
|
||||
}
|
||||
|
||||
apiParameters := make([]ProjectParameter, 0, len(parameters))
|
||||
apiParameters := make([]ProjectVersionParameter, 0, len(parameters))
|
||||
for _, parameter := range parameters {
|
||||
apiParameters = append(apiParameters, convertProjectParameter(parameter))
|
||||
}
|
||||
@@ -227,8 +227,8 @@ func convertProjectVersion(version database.ProjectVersion, job database.Provisi
|
||||
}
|
||||
}
|
||||
|
||||
func convertProjectParameter(parameter database.ProjectParameter) ProjectParameter {
|
||||
return ProjectParameter{
|
||||
func convertProjectParameter(parameter database.ProjectVersionParameter) ProjectVersionParameter {
|
||||
return ProjectVersionParameter{
|
||||
ID: parameter.ID,
|
||||
CreatedAt: parameter.CreatedAt,
|
||||
ProjectVersionID: parameter.ProjectVersionID,
|
||||
|
||||
@@ -378,14 +378,14 @@ func (server *provisionerdServer) CompleteJob(ctx context.Context, completed *pr
|
||||
|
||||
// Validate that all parameters send from the provisioner daemon
|
||||
// follow the protocol.
|
||||
projectParameters := make([]database.InsertProjectParameterParams, 0, len(jobType.ProjectImport.ParameterSchemas))
|
||||
projectVersionParameters := make([]database.InsertProjectVersionParameterParams, 0, len(jobType.ProjectImport.ParameterSchemas))
|
||||
for _, protoParameter := range jobType.ProjectImport.ParameterSchemas {
|
||||
validationTypeSystem, err := convertValidationTypeSystem(protoParameter.ValidationTypeSystem)
|
||||
if err != nil {
|
||||
return nil, xerrors.Errorf("convert validation type system for %q: %w", protoParameter.Name, err)
|
||||
}
|
||||
|
||||
projectParameter := database.InsertProjectParameterParams{
|
||||
projectParameter := database.InsertProjectVersionParameterParams{
|
||||
ID: uuid.New(),
|
||||
CreatedAt: database.Now(),
|
||||
ProjectVersionID: input.ProjectVersionID,
|
||||
@@ -430,7 +430,7 @@ func (server *provisionerdServer) CompleteJob(ctx context.Context, completed *pr
|
||||
}
|
||||
}
|
||||
|
||||
projectParameters = append(projectParameters, projectParameter)
|
||||
projectVersionParameters = append(projectVersionParameters, projectParameter)
|
||||
}
|
||||
|
||||
// This must occur in a transaction in case of failure.
|
||||
@@ -448,8 +448,8 @@ func (server *provisionerdServer) CompleteJob(ctx context.Context, completed *pr
|
||||
}
|
||||
// This could be a bulk-insert operation to improve performance.
|
||||
// See the "InsertWorkspaceHistoryLogs" query.
|
||||
for _, projectParameter := range projectParameters {
|
||||
_, err = db.InsertProjectParameter(ctx, projectParameter)
|
||||
for _, projectParameter := range projectVersionParameters {
|
||||
_, err = db.InsertProjectVersionParameter(ctx, projectParameter)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("insert project parameter %q: %w", projectParameter.Name, err)
|
||||
}
|
||||
|
||||
@@ -24,5 +24,5 @@ func TestProvisionerDaemons(t *testing.T) {
|
||||
daemons, err := client.ProvisionerDaemons(context.Background())
|
||||
require.NoError(t, err)
|
||||
return len(daemons) > 0
|
||||
}, time.Second, 25*time.Millisecond)
|
||||
}, 3*time.Second, 50*time.Millisecond)
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ func (c *Client) CreateProjectVersion(ctx context.Context, organization, project
|
||||
}
|
||||
|
||||
// ProjectVersionParameters returns project parameters for a version by name.
|
||||
func (c *Client) ProjectVersionParameters(ctx context.Context, organization, project, version string) ([]coderd.ProjectParameter, error) {
|
||||
func (c *Client) ProjectVersionParameters(ctx context.Context, organization, project, version string) ([]coderd.ProjectVersionParameter, error) {
|
||||
res, err := c.request(ctx, http.MethodGet, fmt.Sprintf("/api/v2/projects/%s/%s/versions/%s/parameters", organization, project, version), nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -109,7 +109,7 @@ func (c *Client) ProjectVersionParameters(ctx context.Context, organization, pro
|
||||
if res.StatusCode != http.StatusOK {
|
||||
return nil, readBodyAsError(res)
|
||||
}
|
||||
var params []coderd.ProjectParameter
|
||||
var params []coderd.ProjectVersionParameter
|
||||
return params, json.NewDecoder(res.Body).Decode(¶ms)
|
||||
}
|
||||
|
||||
|
||||
@@ -19,18 +19,18 @@ func New() database.Store {
|
||||
organizationMembers: make([]database.OrganizationMember, 0),
|
||||
users: make([]database.User, 0),
|
||||
|
||||
files: make([]database.File, 0),
|
||||
parameterValue: make([]database.ParameterValue, 0),
|
||||
project: make([]database.Project, 0),
|
||||
projectVersion: make([]database.ProjectVersion, 0),
|
||||
projectParameter: make([]database.ProjectParameter, 0),
|
||||
provisionerDaemons: make([]database.ProvisionerDaemon, 0),
|
||||
provisionerJobs: make([]database.ProvisionerJob, 0),
|
||||
provisionerJobLog: make([]database.ProvisionerJobLog, 0),
|
||||
workspace: make([]database.Workspace, 0),
|
||||
workspaceResource: make([]database.WorkspaceResource, 0),
|
||||
workspaceHistory: make([]database.WorkspaceHistory, 0),
|
||||
workspaceAgent: make([]database.WorkspaceAgent, 0),
|
||||
files: make([]database.File, 0),
|
||||
parameterValue: make([]database.ParameterValue, 0),
|
||||
project: make([]database.Project, 0),
|
||||
projectVersion: make([]database.ProjectVersion, 0),
|
||||
projectVersionParameter: make([]database.ProjectVersionParameter, 0),
|
||||
provisionerDaemons: make([]database.ProvisionerDaemon, 0),
|
||||
provisionerJobs: make([]database.ProvisionerJob, 0),
|
||||
provisionerJobLog: make([]database.ProvisionerJobLog, 0),
|
||||
workspace: make([]database.Workspace, 0),
|
||||
workspaceResource: make([]database.WorkspaceResource, 0),
|
||||
workspaceHistory: make([]database.WorkspaceHistory, 0),
|
||||
workspaceAgent: make([]database.WorkspaceAgent, 0),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,23 +40,23 @@ type fakeQuerier struct {
|
||||
|
||||
// Legacy tables
|
||||
apiKeys []database.APIKey
|
||||
files []database.File
|
||||
organizations []database.Organization
|
||||
organizationMembers []database.OrganizationMember
|
||||
users []database.User
|
||||
|
||||
// New tables
|
||||
parameterValue []database.ParameterValue
|
||||
project []database.Project
|
||||
projectVersion []database.ProjectVersion
|
||||
projectParameter []database.ProjectParameter
|
||||
provisionerDaemons []database.ProvisionerDaemon
|
||||
provisionerJobs []database.ProvisionerJob
|
||||
provisionerJobLog []database.ProvisionerJobLog
|
||||
workspace []database.Workspace
|
||||
workspaceAgent []database.WorkspaceAgent
|
||||
workspaceHistory []database.WorkspaceHistory
|
||||
workspaceResource []database.WorkspaceResource
|
||||
files []database.File
|
||||
parameterValue []database.ParameterValue
|
||||
project []database.Project
|
||||
projectVersion []database.ProjectVersion
|
||||
projectVersionParameter []database.ProjectVersionParameter
|
||||
provisionerDaemons []database.ProvisionerDaemon
|
||||
provisionerJobs []database.ProvisionerJob
|
||||
provisionerJobLog []database.ProvisionerJobLog
|
||||
workspace []database.Workspace
|
||||
workspaceAgent []database.WorkspaceAgent
|
||||
workspaceHistory []database.WorkspaceHistory
|
||||
workspaceResource []database.WorkspaceResource
|
||||
}
|
||||
|
||||
// InTx doesn't rollback data properly for in-memory yet.
|
||||
@@ -399,7 +399,7 @@ func (q *fakeQuerier) GetProjectByOrganizationAndName(_ context.Context, arg dat
|
||||
return database.Project{}, sql.ErrNoRows
|
||||
}
|
||||
|
||||
func (q *fakeQuerier) GetProjectVersionByProjectID(_ context.Context, projectID uuid.UUID) ([]database.ProjectVersion, error) {
|
||||
func (q *fakeQuerier) GetProjectVersionsByProjectID(_ context.Context, projectID uuid.UUID) ([]database.ProjectVersion, error) {
|
||||
q.mutex.Lock()
|
||||
defer q.mutex.Unlock()
|
||||
|
||||
@@ -445,12 +445,12 @@ func (q *fakeQuerier) GetProjectVersionByID(_ context.Context, projectVersionID
|
||||
return database.ProjectVersion{}, sql.ErrNoRows
|
||||
}
|
||||
|
||||
func (q *fakeQuerier) GetProjectParametersByVersionID(_ context.Context, projectVersionID uuid.UUID) ([]database.ProjectParameter, error) {
|
||||
func (q *fakeQuerier) GetProjectVersionParametersByVersionID(_ context.Context, projectVersionID uuid.UUID) ([]database.ProjectVersionParameter, error) {
|
||||
q.mutex.Lock()
|
||||
defer q.mutex.Unlock()
|
||||
|
||||
parameters := make([]database.ProjectParameter, 0)
|
||||
for _, projectParameter := range q.projectParameter {
|
||||
parameters := make([]database.ProjectVersionParameter, 0)
|
||||
for _, projectParameter := range q.projectVersionParameter {
|
||||
if projectParameter.ProjectVersionID.String() != projectVersionID.String() {
|
||||
continue
|
||||
}
|
||||
@@ -703,12 +703,12 @@ func (q *fakeQuerier) InsertProvisionerJobLogs(_ context.Context, arg database.I
|
||||
return logs, nil
|
||||
}
|
||||
|
||||
func (q *fakeQuerier) InsertProjectParameter(_ context.Context, arg database.InsertProjectParameterParams) (database.ProjectParameter, error) {
|
||||
func (q *fakeQuerier) InsertProjectVersionParameter(_ context.Context, arg database.InsertProjectVersionParameterParams) (database.ProjectVersionParameter, error) {
|
||||
q.mutex.Lock()
|
||||
defer q.mutex.Unlock()
|
||||
|
||||
//nolint:gosimple
|
||||
param := database.ProjectParameter{
|
||||
param := database.ProjectVersionParameter{
|
||||
ID: arg.ID,
|
||||
CreatedAt: arg.CreatedAt,
|
||||
ProjectVersionID: arg.ProjectVersionID,
|
||||
@@ -727,7 +727,7 @@ func (q *fakeQuerier) InsertProjectParameter(_ context.Context, arg database.Ins
|
||||
ValidationTypeSystem: arg.ValidationTypeSystem,
|
||||
ValidationValueType: arg.ValidationValueType,
|
||||
}
|
||||
q.projectParameter = append(q.projectParameter, param)
|
||||
q.projectVersionParameter = append(q.projectVersionParameter, param)
|
||||
return param, nil
|
||||
}
|
||||
|
||||
|
||||
Generated
+27
-21
@@ -144,7 +144,28 @@ CREATE TABLE project (
|
||||
active_version_id uuid
|
||||
);
|
||||
|
||||
CREATE TABLE project_parameter (
|
||||
CREATE TABLE project_version (
|
||||
id uuid NOT NULL,
|
||||
project_id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone NOT NULL,
|
||||
name character varying(64) NOT NULL,
|
||||
description character varying(1048576) NOT NULL,
|
||||
storage_method project_storage_method NOT NULL,
|
||||
storage_source bytea NOT NULL,
|
||||
import_job_id uuid NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE project_version_log (
|
||||
id uuid NOT NULL,
|
||||
project_version_id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
source log_source NOT NULL,
|
||||
level log_level NOT NULL,
|
||||
output character varying(1024) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE project_version_parameter (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
project_version_id uuid NOT NULL,
|
||||
@@ -164,18 +185,6 @@ CREATE TABLE project_parameter (
|
||||
validation_value_type character varying(64) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE project_version (
|
||||
id uuid NOT NULL,
|
||||
project_id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
updated_at timestamp with time zone NOT NULL,
|
||||
name character varying(64) NOT NULL,
|
||||
description character varying(1048576) NOT NULL,
|
||||
storage_method project_storage_method NOT NULL,
|
||||
storage_source bytea NOT NULL,
|
||||
import_job_id uuid NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE provisioner_daemon (
|
||||
id uuid NOT NULL,
|
||||
created_at timestamp with time zone NOT NULL,
|
||||
@@ -288,12 +297,6 @@ ALTER TABLE ONLY project
|
||||
ALTER TABLE ONLY project
|
||||
ADD CONSTRAINT project_organization_id_name_key UNIQUE (organization_id, name);
|
||||
|
||||
ALTER TABLE ONLY project_parameter
|
||||
ADD CONSTRAINT project_parameter_id_key UNIQUE (id);
|
||||
|
||||
ALTER TABLE ONLY project_parameter
|
||||
ADD CONSTRAINT project_parameter_project_version_id_name_key UNIQUE (project_version_id, name);
|
||||
|
||||
ALTER TABLE ONLY project_version
|
||||
ADD CONSTRAINT project_version_id_key UNIQUE (id);
|
||||
|
||||
@@ -336,8 +339,11 @@ ALTER TABLE ONLY workspace_resource
|
||||
ALTER TABLE ONLY workspace_resource
|
||||
ADD CONSTRAINT workspace_resource_workspace_history_id_name_key UNIQUE (workspace_history_id, name);
|
||||
|
||||
ALTER TABLE ONLY project_parameter
|
||||
ADD CONSTRAINT project_parameter_project_version_id_fkey FOREIGN KEY (project_version_id) REFERENCES project_version(id) ON DELETE CASCADE;
|
||||
ALTER TABLE ONLY project_version_log
|
||||
ADD CONSTRAINT project_version_log_project_version_id_fkey FOREIGN KEY (project_version_id) REFERENCES project_version(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY project_version_parameter
|
||||
ADD CONSTRAINT project_version_parameter_project_version_id_fkey FOREIGN KEY (project_version_id) REFERENCES project_version(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ONLY project_version
|
||||
ADD CONSTRAINT project_version_project_id_fkey FOREIGN KEY (project_id) REFERENCES project(id);
|
||||
|
||||
@@ -71,7 +71,7 @@ CREATE TYPE parameter_destination_scheme AS ENUM('none', 'environment_variable',
|
||||
-- Parameter types, description, and validation will produce
|
||||
-- a UI for users to enter values.
|
||||
-- Needs to be made consistent with the examples below.
|
||||
CREATE TABLE project_parameter (
|
||||
CREATE TABLE project_version_parameter (
|
||||
id uuid NOT NULL UNIQUE,
|
||||
created_at timestamptz NOT NULL,
|
||||
project_version_id uuid NOT NULL REFERENCES project_version(id) ON DELETE CASCADE,
|
||||
|
||||
+22
-13
@@ -323,7 +323,28 @@ type Project struct {
|
||||
ActiveVersionID uuid.NullUUID `db:"active_version_id" json:"active_version_id"`
|
||||
}
|
||||
|
||||
type ProjectParameter struct {
|
||||
type ProjectVersion struct {
|
||||
ID uuid.UUID `db:"id" json:"id"`
|
||||
ProjectID uuid.UUID `db:"project_id" json:"project_id"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
|
||||
Name string `db:"name" json:"name"`
|
||||
Description string `db:"description" json:"description"`
|
||||
StorageMethod ProjectStorageMethod `db:"storage_method" json:"storage_method"`
|
||||
StorageSource []byte `db:"storage_source" json:"storage_source"`
|
||||
ImportJobID uuid.UUID `db:"import_job_id" json:"import_job_id"`
|
||||
}
|
||||
|
||||
type ProjectVersionLog struct {
|
||||
ID uuid.UUID `db:"id" json:"id"`
|
||||
ProjectVersionID uuid.UUID `db:"project_version_id" json:"project_version_id"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
Source LogSource `db:"source" json:"source"`
|
||||
Level LogLevel `db:"level" json:"level"`
|
||||
Output string `db:"output" json:"output"`
|
||||
}
|
||||
|
||||
type ProjectVersionParameter struct {
|
||||
ID uuid.UUID `db:"id" json:"id"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
ProjectVersionID uuid.UUID `db:"project_version_id" json:"project_version_id"`
|
||||
@@ -343,18 +364,6 @@ type ProjectParameter struct {
|
||||
ValidationValueType string `db:"validation_value_type" json:"validation_value_type"`
|
||||
}
|
||||
|
||||
type ProjectVersion struct {
|
||||
ID uuid.UUID `db:"id" json:"id"`
|
||||
ProjectID uuid.UUID `db:"project_id" json:"project_id"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
|
||||
Name string `db:"name" json:"name"`
|
||||
Description string `db:"description" json:"description"`
|
||||
StorageMethod ProjectStorageMethod `db:"storage_method" json:"storage_method"`
|
||||
StorageSource []byte `db:"storage_source" json:"storage_source"`
|
||||
ImportJobID uuid.UUID `db:"import_job_id" json:"import_job_id"`
|
||||
}
|
||||
|
||||
type ProvisionerDaemon struct {
|
||||
ID uuid.UUID `db:"id" json:"id"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
|
||||
+3
-3
@@ -19,10 +19,10 @@ type querier interface {
|
||||
GetParameterValuesByScope(ctx context.Context, arg GetParameterValuesByScopeParams) ([]ParameterValue, error)
|
||||
GetProjectByID(ctx context.Context, id uuid.UUID) (Project, error)
|
||||
GetProjectByOrganizationAndName(ctx context.Context, arg GetProjectByOrganizationAndNameParams) (Project, error)
|
||||
GetProjectParametersByVersionID(ctx context.Context, projectVersionID uuid.UUID) ([]ProjectParameter, error)
|
||||
GetProjectVersionByID(ctx context.Context, id uuid.UUID) (ProjectVersion, error)
|
||||
GetProjectVersionByProjectID(ctx context.Context, projectID uuid.UUID) ([]ProjectVersion, error)
|
||||
GetProjectVersionByProjectIDAndName(ctx context.Context, arg GetProjectVersionByProjectIDAndNameParams) (ProjectVersion, error)
|
||||
GetProjectVersionParametersByVersionID(ctx context.Context, projectVersionID uuid.UUID) ([]ProjectVersionParameter, error)
|
||||
GetProjectVersionsByProjectID(ctx context.Context, projectID uuid.UUID) ([]ProjectVersion, error)
|
||||
GetProjectsByOrganizationIDs(ctx context.Context, ids []string) ([]Project, error)
|
||||
GetProvisionerDaemonByID(ctx context.Context, id uuid.UUID) (ProvisionerDaemon, error)
|
||||
GetProvisionerDaemons(ctx context.Context) ([]ProvisionerDaemon, error)
|
||||
@@ -47,8 +47,8 @@ type querier interface {
|
||||
InsertOrganizationMember(ctx context.Context, arg InsertOrganizationMemberParams) (OrganizationMember, error)
|
||||
InsertParameterValue(ctx context.Context, arg InsertParameterValueParams) (ParameterValue, error)
|
||||
InsertProject(ctx context.Context, arg InsertProjectParams) (Project, error)
|
||||
InsertProjectParameter(ctx context.Context, arg InsertProjectParameterParams) (ProjectParameter, error)
|
||||
InsertProjectVersion(ctx context.Context, arg InsertProjectVersionParams) (ProjectVersion, error)
|
||||
InsertProjectVersionParameter(ctx context.Context, arg InsertProjectVersionParameterParams) (ProjectVersionParameter, error)
|
||||
InsertProvisionerDaemon(ctx context.Context, arg InsertProvisionerDaemonParams) (ProvisionerDaemon, error)
|
||||
InsertProvisionerJob(ctx context.Context, arg InsertProvisionerJobParams) (ProvisionerJob, error)
|
||||
InsertProvisionerJobLogs(ctx context.Context, arg InsertProvisionerJobLogsParams) ([]ProvisionerJobLog, error)
|
||||
|
||||
+5
-5
@@ -165,15 +165,15 @@ FROM
|
||||
WHERE
|
||||
organization_id = ANY(@ids :: text [ ]);
|
||||
|
||||
-- name: GetProjectParametersByVersionID :many
|
||||
-- name: GetProjectVersionParametersByVersionID :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
project_parameter
|
||||
project_version_parameter
|
||||
WHERE
|
||||
project_version_id = $1;
|
||||
|
||||
-- name: GetProjectVersionByProjectID :many
|
||||
-- name: GetProjectVersionsByProjectID :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -443,9 +443,9 @@ INSERT INTO
|
||||
VALUES
|
||||
($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING *;
|
||||
|
||||
-- name: InsertProjectParameter :one
|
||||
-- name: InsertProjectVersionParameter :one
|
||||
INSERT INTO
|
||||
project_parameter (
|
||||
project_version_parameter (
|
||||
id,
|
||||
created_at,
|
||||
project_version_id,
|
||||
|
||||
+198
-198
@@ -372,56 +372,6 @@ func (q *sqlQuerier) GetProjectByOrganizationAndName(ctx context.Context, arg Ge
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getProjectParametersByVersionID = `-- name: GetProjectParametersByVersionID :many
|
||||
SELECT
|
||||
id, created_at, project_version_id, name, description, default_source_scheme, default_source_value, allow_override_source, default_destination_scheme, default_destination_value, allow_override_destination, default_refresh, redisplay_value, validation_error, validation_condition, validation_type_system, validation_value_type
|
||||
FROM
|
||||
project_parameter
|
||||
WHERE
|
||||
project_version_id = $1
|
||||
`
|
||||
|
||||
func (q *sqlQuerier) GetProjectParametersByVersionID(ctx context.Context, projectVersionID uuid.UUID) ([]ProjectParameter, error) {
|
||||
rows, err := q.db.QueryContext(ctx, getProjectParametersByVersionID, projectVersionID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []ProjectParameter
|
||||
for rows.Next() {
|
||||
var i ProjectParameter
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.CreatedAt,
|
||||
&i.ProjectVersionID,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.DefaultSourceScheme,
|
||||
&i.DefaultSourceValue,
|
||||
&i.AllowOverrideSource,
|
||||
&i.DefaultDestinationScheme,
|
||||
&i.DefaultDestinationValue,
|
||||
&i.AllowOverrideDestination,
|
||||
&i.DefaultRefresh,
|
||||
&i.RedisplayValue,
|
||||
&i.ValidationError,
|
||||
&i.ValidationCondition,
|
||||
&i.ValidationTypeSystem,
|
||||
&i.ValidationValueType,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const getProjectVersionByID = `-- name: GetProjectVersionByID :one
|
||||
SELECT
|
||||
id, project_id, created_at, updated_at, name, description, storage_method, storage_source, import_job_id
|
||||
@@ -448,48 +398,6 @@ func (q *sqlQuerier) GetProjectVersionByID(ctx context.Context, id uuid.UUID) (P
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getProjectVersionByProjectID = `-- name: GetProjectVersionByProjectID :many
|
||||
SELECT
|
||||
id, project_id, created_at, updated_at, name, description, storage_method, storage_source, import_job_id
|
||||
FROM
|
||||
project_version
|
||||
WHERE
|
||||
project_id = $1
|
||||
`
|
||||
|
||||
func (q *sqlQuerier) GetProjectVersionByProjectID(ctx context.Context, projectID uuid.UUID) ([]ProjectVersion, error) {
|
||||
rows, err := q.db.QueryContext(ctx, getProjectVersionByProjectID, projectID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []ProjectVersion
|
||||
for rows.Next() {
|
||||
var i ProjectVersion
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProjectID,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.StorageMethod,
|
||||
&i.StorageSource,
|
||||
&i.ImportJobID,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const getProjectVersionByProjectIDAndName = `-- name: GetProjectVersionByProjectIDAndName :one
|
||||
SELECT
|
||||
id, project_id, created_at, updated_at, name, description, storage_method, storage_source, import_job_id
|
||||
@@ -522,6 +430,98 @@ func (q *sqlQuerier) GetProjectVersionByProjectIDAndName(ctx context.Context, ar
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getProjectVersionParametersByVersionID = `-- name: GetProjectVersionParametersByVersionID :many
|
||||
SELECT
|
||||
id, created_at, project_version_id, name, description, default_source_scheme, default_source_value, allow_override_source, default_destination_scheme, default_destination_value, allow_override_destination, default_refresh, redisplay_value, validation_error, validation_condition, validation_type_system, validation_value_type
|
||||
FROM
|
||||
project_version_parameter
|
||||
WHERE
|
||||
project_version_id = $1
|
||||
`
|
||||
|
||||
func (q *sqlQuerier) GetProjectVersionParametersByVersionID(ctx context.Context, projectVersionID uuid.UUID) ([]ProjectVersionParameter, error) {
|
||||
rows, err := q.db.QueryContext(ctx, getProjectVersionParametersByVersionID, projectVersionID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []ProjectVersionParameter
|
||||
for rows.Next() {
|
||||
var i ProjectVersionParameter
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.CreatedAt,
|
||||
&i.ProjectVersionID,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.DefaultSourceScheme,
|
||||
&i.DefaultSourceValue,
|
||||
&i.AllowOverrideSource,
|
||||
&i.DefaultDestinationScheme,
|
||||
&i.DefaultDestinationValue,
|
||||
&i.AllowOverrideDestination,
|
||||
&i.DefaultRefresh,
|
||||
&i.RedisplayValue,
|
||||
&i.ValidationError,
|
||||
&i.ValidationCondition,
|
||||
&i.ValidationTypeSystem,
|
||||
&i.ValidationValueType,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const getProjectVersionsByProjectID = `-- name: GetProjectVersionsByProjectID :many
|
||||
SELECT
|
||||
id, project_id, created_at, updated_at, name, description, storage_method, storage_source, import_job_id
|
||||
FROM
|
||||
project_version
|
||||
WHERE
|
||||
project_id = $1
|
||||
`
|
||||
|
||||
func (q *sqlQuerier) GetProjectVersionsByProjectID(ctx context.Context, projectID uuid.UUID) ([]ProjectVersion, error) {
|
||||
rows, err := q.db.QueryContext(ctx, getProjectVersionsByProjectID, projectID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []ProjectVersion
|
||||
for rows.Next() {
|
||||
var i ProjectVersion
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProjectID,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.StorageMethod,
|
||||
&i.StorageSource,
|
||||
&i.ImportJobID,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const getProjectsByOrganizationIDs = `-- name: GetProjectsByOrganizationIDs :many
|
||||
SELECT
|
||||
id, created_at, updated_at, organization_id, name, provisioner, active_version_id
|
||||
@@ -1467,112 +1467,6 @@ func (q *sqlQuerier) InsertProject(ctx context.Context, arg InsertProjectParams)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const insertProjectParameter = `-- name: InsertProjectParameter :one
|
||||
INSERT INTO
|
||||
project_parameter (
|
||||
id,
|
||||
created_at,
|
||||
project_version_id,
|
||||
name,
|
||||
description,
|
||||
default_source_scheme,
|
||||
default_source_value,
|
||||
allow_override_source,
|
||||
default_destination_scheme,
|
||||
default_destination_value,
|
||||
allow_override_destination,
|
||||
default_refresh,
|
||||
redisplay_value,
|
||||
validation_error,
|
||||
validation_condition,
|
||||
validation_type_system,
|
||||
validation_value_type
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
$1,
|
||||
$2,
|
||||
$3,
|
||||
$4,
|
||||
$5,
|
||||
$6,
|
||||
$7,
|
||||
$8,
|
||||
$9,
|
||||
$10,
|
||||
$11,
|
||||
$12,
|
||||
$13,
|
||||
$14,
|
||||
$15,
|
||||
$16,
|
||||
$17
|
||||
) RETURNING id, created_at, project_version_id, name, description, default_source_scheme, default_source_value, allow_override_source, default_destination_scheme, default_destination_value, allow_override_destination, default_refresh, redisplay_value, validation_error, validation_condition, validation_type_system, validation_value_type
|
||||
`
|
||||
|
||||
type InsertProjectParameterParams struct {
|
||||
ID uuid.UUID `db:"id" json:"id"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
ProjectVersionID uuid.UUID `db:"project_version_id" json:"project_version_id"`
|
||||
Name string `db:"name" json:"name"`
|
||||
Description string `db:"description" json:"description"`
|
||||
DefaultSourceScheme ParameterSourceScheme `db:"default_source_scheme" json:"default_source_scheme"`
|
||||
DefaultSourceValue sql.NullString `db:"default_source_value" json:"default_source_value"`
|
||||
AllowOverrideSource bool `db:"allow_override_source" json:"allow_override_source"`
|
||||
DefaultDestinationScheme ParameterDestinationScheme `db:"default_destination_scheme" json:"default_destination_scheme"`
|
||||
DefaultDestinationValue sql.NullString `db:"default_destination_value" json:"default_destination_value"`
|
||||
AllowOverrideDestination bool `db:"allow_override_destination" json:"allow_override_destination"`
|
||||
DefaultRefresh string `db:"default_refresh" json:"default_refresh"`
|
||||
RedisplayValue bool `db:"redisplay_value" json:"redisplay_value"`
|
||||
ValidationError string `db:"validation_error" json:"validation_error"`
|
||||
ValidationCondition string `db:"validation_condition" json:"validation_condition"`
|
||||
ValidationTypeSystem ParameterTypeSystem `db:"validation_type_system" json:"validation_type_system"`
|
||||
ValidationValueType string `db:"validation_value_type" json:"validation_value_type"`
|
||||
}
|
||||
|
||||
func (q *sqlQuerier) InsertProjectParameter(ctx context.Context, arg InsertProjectParameterParams) (ProjectParameter, error) {
|
||||
row := q.db.QueryRowContext(ctx, insertProjectParameter,
|
||||
arg.ID,
|
||||
arg.CreatedAt,
|
||||
arg.ProjectVersionID,
|
||||
arg.Name,
|
||||
arg.Description,
|
||||
arg.DefaultSourceScheme,
|
||||
arg.DefaultSourceValue,
|
||||
arg.AllowOverrideSource,
|
||||
arg.DefaultDestinationScheme,
|
||||
arg.DefaultDestinationValue,
|
||||
arg.AllowOverrideDestination,
|
||||
arg.DefaultRefresh,
|
||||
arg.RedisplayValue,
|
||||
arg.ValidationError,
|
||||
arg.ValidationCondition,
|
||||
arg.ValidationTypeSystem,
|
||||
arg.ValidationValueType,
|
||||
)
|
||||
var i ProjectParameter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.CreatedAt,
|
||||
&i.ProjectVersionID,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.DefaultSourceScheme,
|
||||
&i.DefaultSourceValue,
|
||||
&i.AllowOverrideSource,
|
||||
&i.DefaultDestinationScheme,
|
||||
&i.DefaultDestinationValue,
|
||||
&i.AllowOverrideDestination,
|
||||
&i.DefaultRefresh,
|
||||
&i.RedisplayValue,
|
||||
&i.ValidationError,
|
||||
&i.ValidationCondition,
|
||||
&i.ValidationTypeSystem,
|
||||
&i.ValidationValueType,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const insertProjectVersion = `-- name: InsertProjectVersion :one
|
||||
INSERT INTO
|
||||
project_version (
|
||||
@@ -1629,6 +1523,112 @@ func (q *sqlQuerier) InsertProjectVersion(ctx context.Context, arg InsertProject
|
||||
return i, err
|
||||
}
|
||||
|
||||
const insertProjectVersionParameter = `-- name: InsertProjectVersionParameter :one
|
||||
INSERT INTO
|
||||
project_version_parameter (
|
||||
id,
|
||||
created_at,
|
||||
project_version_id,
|
||||
name,
|
||||
description,
|
||||
default_source_scheme,
|
||||
default_source_value,
|
||||
allow_override_source,
|
||||
default_destination_scheme,
|
||||
default_destination_value,
|
||||
allow_override_destination,
|
||||
default_refresh,
|
||||
redisplay_value,
|
||||
validation_error,
|
||||
validation_condition,
|
||||
validation_type_system,
|
||||
validation_value_type
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
$1,
|
||||
$2,
|
||||
$3,
|
||||
$4,
|
||||
$5,
|
||||
$6,
|
||||
$7,
|
||||
$8,
|
||||
$9,
|
||||
$10,
|
||||
$11,
|
||||
$12,
|
||||
$13,
|
||||
$14,
|
||||
$15,
|
||||
$16,
|
||||
$17
|
||||
) RETURNING id, created_at, project_version_id, name, description, default_source_scheme, default_source_value, allow_override_source, default_destination_scheme, default_destination_value, allow_override_destination, default_refresh, redisplay_value, validation_error, validation_condition, validation_type_system, validation_value_type
|
||||
`
|
||||
|
||||
type InsertProjectVersionParameterParams struct {
|
||||
ID uuid.UUID `db:"id" json:"id"`
|
||||
CreatedAt time.Time `db:"created_at" json:"created_at"`
|
||||
ProjectVersionID uuid.UUID `db:"project_version_id" json:"project_version_id"`
|
||||
Name string `db:"name" json:"name"`
|
||||
Description string `db:"description" json:"description"`
|
||||
DefaultSourceScheme ParameterSourceScheme `db:"default_source_scheme" json:"default_source_scheme"`
|
||||
DefaultSourceValue sql.NullString `db:"default_source_value" json:"default_source_value"`
|
||||
AllowOverrideSource bool `db:"allow_override_source" json:"allow_override_source"`
|
||||
DefaultDestinationScheme ParameterDestinationScheme `db:"default_destination_scheme" json:"default_destination_scheme"`
|
||||
DefaultDestinationValue sql.NullString `db:"default_destination_value" json:"default_destination_value"`
|
||||
AllowOverrideDestination bool `db:"allow_override_destination" json:"allow_override_destination"`
|
||||
DefaultRefresh string `db:"default_refresh" json:"default_refresh"`
|
||||
RedisplayValue bool `db:"redisplay_value" json:"redisplay_value"`
|
||||
ValidationError string `db:"validation_error" json:"validation_error"`
|
||||
ValidationCondition string `db:"validation_condition" json:"validation_condition"`
|
||||
ValidationTypeSystem ParameterTypeSystem `db:"validation_type_system" json:"validation_type_system"`
|
||||
ValidationValueType string `db:"validation_value_type" json:"validation_value_type"`
|
||||
}
|
||||
|
||||
func (q *sqlQuerier) InsertProjectVersionParameter(ctx context.Context, arg InsertProjectVersionParameterParams) (ProjectVersionParameter, error) {
|
||||
row := q.db.QueryRowContext(ctx, insertProjectVersionParameter,
|
||||
arg.ID,
|
||||
arg.CreatedAt,
|
||||
arg.ProjectVersionID,
|
||||
arg.Name,
|
||||
arg.Description,
|
||||
arg.DefaultSourceScheme,
|
||||
arg.DefaultSourceValue,
|
||||
arg.AllowOverrideSource,
|
||||
arg.DefaultDestinationScheme,
|
||||
arg.DefaultDestinationValue,
|
||||
arg.AllowOverrideDestination,
|
||||
arg.DefaultRefresh,
|
||||
arg.RedisplayValue,
|
||||
arg.ValidationError,
|
||||
arg.ValidationCondition,
|
||||
arg.ValidationTypeSystem,
|
||||
arg.ValidationValueType,
|
||||
)
|
||||
var i ProjectVersionParameter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.CreatedAt,
|
||||
&i.ProjectVersionID,
|
||||
&i.Name,
|
||||
&i.Description,
|
||||
&i.DefaultSourceScheme,
|
||||
&i.DefaultSourceValue,
|
||||
&i.AllowOverrideSource,
|
||||
&i.DefaultDestinationScheme,
|
||||
&i.DefaultDestinationValue,
|
||||
&i.AllowOverrideDestination,
|
||||
&i.DefaultRefresh,
|
||||
&i.RedisplayValue,
|
||||
&i.ValidationError,
|
||||
&i.ValidationCondition,
|
||||
&i.ValidationTypeSystem,
|
||||
&i.ValidationValueType,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const insertProvisionerDaemon = `-- name: InsertProvisionerDaemon :one
|
||||
INSERT INTO
|
||||
provisioner_daemon (id, created_at, name, provisioners)
|
||||
|
||||
Reference in New Issue
Block a user