Skip to content

Commit 8fe05d6

Browse files
committed
Add project import job resource table
1 parent 4466836 commit 8fe05d6

File tree

7 files changed

+121
-24
lines changed

7 files changed

+121
-24
lines changed

database/databasefake/databasefake.go

Lines changed: 43 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,19 @@ 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-
parameterSchema: make([]database.ParameterSchema, 0),
25-
project: make([]database.Project, 0),
26-
projectVersion: make([]database.ProjectVersion, 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+
parameterSchema: make([]database.ParameterSchema, 0),
25+
project: make([]database.Project, 0),
26+
projectVersion: make([]database.ProjectVersion, 0),
27+
projectImportJobResource: make([]database.ProjectImportJobResource, 0),
28+
provisionerDaemons: make([]database.ProvisionerDaemon, 0),
29+
provisionerJobs: make([]database.ProvisionerJob, 0),
30+
provisionerJobLog: make([]database.ProvisionerJobLog, 0),
31+
workspace: make([]database.Workspace, 0),
32+
workspaceResource: make([]database.WorkspaceResource, 0),
33+
workspaceHistory: make([]database.WorkspaceHistory, 0),
34+
workspaceAgent: make([]database.WorkspaceAgent, 0),
3435
}
3536
}
3637

@@ -45,18 +46,19 @@ type fakeQuerier struct {
4546
users []database.User
4647

4748
// New tables
48-
files []database.File
49-
parameterValue []database.ParameterValue
50-
parameterSchema []database.ParameterSchema
51-
project []database.Project
52-
projectVersion []database.ProjectVersion
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
49+
files []database.File
50+
parameterValue []database.ParameterValue
51+
parameterSchema []database.ParameterSchema
52+
project []database.Project
53+
projectVersion []database.ProjectVersion
54+
projectImportJobResource []database.ProjectImportJobResource
55+
provisionerDaemons []database.ProvisionerDaemon
56+
provisionerJobs []database.ProvisionerJob
57+
provisionerJobLog []database.ProvisionerJobLog
58+
workspace []database.Workspace
59+
workspaceAgent []database.WorkspaceAgent
60+
workspaceHistory []database.WorkspaceHistory
61+
workspaceResource []database.WorkspaceResource
6062
}
6163

6264
// InTx doesn't rollback data properly for in-memory yet.
@@ -666,6 +668,23 @@ func (q *fakeQuerier) InsertProject(_ context.Context, arg database.InsertProjec
666668
return project, nil
667669
}
668670

671+
func (q *fakeQuerier) InsertProjectImportJobResource(ctx context.Context, arg database.InsertProjectImportJobResourceParams) (database.ProjectImportJobResource, error) {
672+
q.mutex.Lock()
673+
defer q.mutex.Unlock()
674+
675+
//nolint:gosimple
676+
projectResource := database.ProjectImportJobResource{
677+
ID: arg.ID,
678+
CreatedAt: arg.CreatedAt,
679+
JobID: arg.JobID,
680+
Transition: arg.Transition,
681+
Type: arg.Type,
682+
Name: arg.Name,
683+
}
684+
q.projectImportJobResource = append(q.projectImportJobResource, projectResource)
685+
return projectResource, nil
686+
}
687+
669688
func (q *fakeQuerier) InsertProjectVersion(_ context.Context, arg database.InsertProjectVersionParams) (database.ProjectVersion, error) {
670689
q.mutex.Lock()
671690
defer q.mutex.Unlock()

database/dump.sql

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

database/migrations/000004_jobs.up.sql

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,13 @@ CREATE TABLE parameter_value (
119119
-- Prevents duplicates for parameters in the same scope.
120120
UNIQUE(name, scope, scope_id)
121121
);
122+
123+
-- Resources from multiple workspace states are stored here post project-import job.
124+
CREATE TABLE project_import_job_resource (
125+
id uuid NOT NULL UNIQUE,
126+
created_at timestamptz NOT NULL,
127+
job_id uuid NOT NULL REFERENCES provisioner_job(id) ON DELETE CASCADE,
128+
transition workspace_transition NOT NULL,
129+
type varchar(256) NOT NULL,
130+
name varchar(64) NOT NULL
131+
);

database/models.go

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

database/querier.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

database/query.sql

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,12 @@ INSERT INTO
427427
VALUES
428428
($1, $2, $3, $4, $5, $6, $7) RETURNING *;
429429

430+
-- name: InsertProjectImportJobResource :one
431+
INSERT INTO
432+
project_import_job_resource (id, created_at, job_id, transition, type, name)
433+
VALUES
434+
($1, $2, $3, $4, $5, $6) RETURNING *;
435+
430436
-- name: InsertProjectVersion :one
431437
INSERT INTO
432438
project_version (

database/query.sql.go

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

0 commit comments

Comments
 (0)