Skip to content

Commit 1a4f3b2

Browse files
committed
nice
1 parent 11d20d5 commit 1a4f3b2

File tree

11 files changed

+158
-41
lines changed

11 files changed

+158
-41
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3320,6 +3320,13 @@ func (q *querier) InsertTemplateVersionParameter(ctx context.Context, arg databa
33203320
return q.db.InsertTemplateVersionParameter(ctx, arg)
33213321
}
33223322

3323+
func (q *querier) InsertTemplateVersionTerraformValuesByJobID(ctx context.Context, arg database.InsertTemplateVersionTerraformValuesByJobIDParams) error {
3324+
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {
3325+
return err
3326+
}
3327+
return q.db.InsertTemplateVersionTerraformValuesByJobID(ctx, arg)
3328+
}
3329+
33233330
func (q *querier) InsertTemplateVersionVariable(ctx context.Context, arg database.InsertTemplateVersionVariableParams) (database.TemplateVersionVariable, error) {
33243331
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {
33253332
return database.TemplateVersionVariable{}, err

coderd/database/dbmem/dbmem.go

Lines changed: 70 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -54,47 +54,48 @@ func New() database.Store {
5454
q := &FakeQuerier{
5555
mutex: &sync.RWMutex{},
5656
data: &data{
57-
apiKeys: make([]database.APIKey, 0),
58-
auditLogs: make([]database.AuditLog, 0),
59-
customRoles: make([]database.CustomRole, 0),
60-
dbcryptKeys: make([]database.DBCryptKey, 0),
61-
externalAuthLinks: make([]database.ExternalAuthLink, 0),
62-
files: make([]database.File, 0),
63-
gitSSHKey: make([]database.GitSSHKey, 0),
64-
groups: make([]database.Group, 0),
65-
groupMembers: make([]database.GroupMemberTable, 0),
66-
licenses: make([]database.License, 0),
67-
locks: map[int64]struct{}{},
68-
notificationMessages: make([]database.NotificationMessage, 0),
69-
notificationPreferences: make([]database.NotificationPreference, 0),
70-
organizationMembers: make([]database.OrganizationMember, 0),
71-
organizations: make([]database.Organization, 0),
72-
inboxNotifications: make([]database.InboxNotification, 0),
73-
parameterSchemas: make([]database.ParameterSchema, 0),
74-
presets: make([]database.TemplateVersionPreset, 0),
75-
presetParameters: make([]database.TemplateVersionPresetParameter, 0),
76-
provisionerDaemons: make([]database.ProvisionerDaemon, 0),
77-
provisionerJobs: make([]database.ProvisionerJob, 0),
78-
provisionerJobLogs: make([]database.ProvisionerJobLog, 0),
79-
provisionerKeys: make([]database.ProvisionerKey, 0),
80-
runtimeConfig: map[string]string{},
81-
telemetryItems: make([]database.TelemetryItem, 0),
82-
templateVersions: make([]database.TemplateVersionTable, 0),
83-
templates: make([]database.TemplateTable, 0),
84-
users: make([]database.User, 0),
85-
userConfigs: make([]database.UserConfig, 0),
86-
userStatusChanges: make([]database.UserStatusChange, 0),
87-
workspaceAgents: make([]database.WorkspaceAgent, 0),
88-
workspaceResources: make([]database.WorkspaceResource, 0),
89-
workspaceModules: make([]database.WorkspaceModule, 0),
90-
workspaceResourceMetadata: make([]database.WorkspaceResourceMetadatum, 0),
91-
workspaceAgentStats: make([]database.WorkspaceAgentStat, 0),
92-
workspaceAgentLogs: make([]database.WorkspaceAgentLog, 0),
93-
workspaceBuilds: make([]database.WorkspaceBuild, 0),
94-
workspaceApps: make([]database.WorkspaceApp, 0),
95-
workspaceAppAuditSessions: make([]database.WorkspaceAppAuditSession, 0),
96-
workspaces: make([]database.WorkspaceTable, 0),
97-
workspaceProxies: make([]database.WorkspaceProxy, 0),
57+
apiKeys: make([]database.APIKey, 0),
58+
auditLogs: make([]database.AuditLog, 0),
59+
customRoles: make([]database.CustomRole, 0),
60+
dbcryptKeys: make([]database.DBCryptKey, 0),
61+
externalAuthLinks: make([]database.ExternalAuthLink, 0),
62+
files: make([]database.File, 0),
63+
gitSSHKey: make([]database.GitSSHKey, 0),
64+
groups: make([]database.Group, 0),
65+
groupMembers: make([]database.GroupMemberTable, 0),
66+
licenses: make([]database.License, 0),
67+
locks: map[int64]struct{}{},
68+
notificationMessages: make([]database.NotificationMessage, 0),
69+
notificationPreferences: make([]database.NotificationPreference, 0),
70+
organizationMembers: make([]database.OrganizationMember, 0),
71+
organizations: make([]database.Organization, 0),
72+
inboxNotifications: make([]database.InboxNotification, 0),
73+
parameterSchemas: make([]database.ParameterSchema, 0),
74+
presets: make([]database.TemplateVersionPreset, 0),
75+
presetParameters: make([]database.TemplateVersionPresetParameter, 0),
76+
provisionerDaemons: make([]database.ProvisionerDaemon, 0),
77+
provisionerJobs: make([]database.ProvisionerJob, 0),
78+
provisionerJobLogs: make([]database.ProvisionerJobLog, 0),
79+
provisionerKeys: make([]database.ProvisionerKey, 0),
80+
runtimeConfig: map[string]string{},
81+
telemetryItems: make([]database.TelemetryItem, 0),
82+
templateVersions: make([]database.TemplateVersionTable, 0),
83+
templateVersionTerraformValues: make([]database.TemplateVersionTerraformValue, 0),
84+
templates: make([]database.TemplateTable, 0),
85+
users: make([]database.User, 0),
86+
userConfigs: make([]database.UserConfig, 0),
87+
userStatusChanges: make([]database.UserStatusChange, 0),
88+
workspaceAgents: make([]database.WorkspaceAgent, 0),
89+
workspaceResources: make([]database.WorkspaceResource, 0),
90+
workspaceModules: make([]database.WorkspaceModule, 0),
91+
workspaceResourceMetadata: make([]database.WorkspaceResourceMetadatum, 0),
92+
workspaceAgentStats: make([]database.WorkspaceAgentStat, 0),
93+
workspaceAgentLogs: make([]database.WorkspaceAgentLog, 0),
94+
workspaceBuilds: make([]database.WorkspaceBuild, 0),
95+
workspaceApps: make([]database.WorkspaceApp, 0),
96+
workspaceAppAuditSessions: make([]database.WorkspaceAppAuditSession, 0),
97+
workspaces: make([]database.WorkspaceTable, 0),
98+
workspaceProxies: make([]database.WorkspaceProxy, 0),
9899
},
99100
}
100101
// Always start with a default org. Matching migration 198.
@@ -222,6 +223,7 @@ type data struct {
222223
replicas []database.Replica
223224
templateVersions []database.TemplateVersionTable
224225
templateVersionParameters []database.TemplateVersionParameter
226+
templateVersionTerraformValues []database.TemplateVersionTerraformValue
225227
templateVersionVariables []database.TemplateVersionVariable
226228
templateVersionWorkspaceTags []database.TemplateVersionWorkspaceTag
227229
templates []database.TemplateTable
@@ -8818,6 +8820,33 @@ func (q *FakeQuerier) InsertTemplateVersionParameter(_ context.Context, arg data
88188820
return param, nil
88198821
}
88208822

8823+
func (q *FakeQuerier) InsertTemplateVersionTerraformValuesByJobID(ctx context.Context, arg database.InsertTemplateVersionTerraformValuesByJobIDParams) error {
8824+
err := validateDatabaseType(arg)
8825+
if err != nil {
8826+
return err
8827+
}
8828+
8829+
q.mutex.Lock()
8830+
defer q.mutex.Unlock()
8831+
8832+
// Find the template version by the job_id
8833+
templateVersion, ok := slice.Find(q.templateVersions, func(v database.TemplateVersionTable) bool {
8834+
return v.JobID == arg.JobID
8835+
})
8836+
if !ok {
8837+
return sql.ErrNoRows
8838+
}
8839+
8840+
// Insert the new row
8841+
row := database.TemplateVersionTerraformValue{
8842+
TemplateVersionID: templateVersion.ID,
8843+
CachedPlan: arg.CachedPlan,
8844+
UpdatedAt: arg.UpdatedAt,
8845+
}
8846+
q.templateVersionTerraformValues = append(q.templateVersionTerraformValues, row)
8847+
return nil
8848+
}
8849+
88218850
func (q *FakeQuerier) InsertTemplateVersionVariable(_ context.Context, arg database.InsertTemplateVersionVariableParams) (database.TemplateVersionVariable, error) {
88228851
if err := validateDatabaseType(arg); err != nil {
88238852
return database.TemplateVersionVariable{}, err

coderd/database/dbmetrics/querymetrics.go

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

coderd/database/dbmock/dbmock.go

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

coderd/database/dump.sql

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

coderd/database/foreign_key_constraint.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.

coderd/database/models.go

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

coderd/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.

coderd/database/queries.sql.go

Lines changed: 26 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
-- name: InsertTemplateVersionTerraformValuesByJobID :exec
2+
INSERT INTO
3+
template_version_terraform_values (
4+
template_version_id,
5+
cached_plan,
6+
updated_at
7+
)
8+
VALUES
9+
(
10+
(select id from template_versions where job_id = @job_id),
11+
@cached_plan,
12+
@updated_at
13+
);

coderd/database/unique_constraint.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.

0 commit comments

Comments
 (0)