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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy