@@ -54,47 +54,48 @@ func New() database.Store {
54
54
q := & FakeQuerier {
55
55
mutex :& sync.RWMutex {},
56
56
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 ),
98
99
},
99
100
}
100
101
// Always start with a default org. Matching migration 198.
@@ -222,6 +223,7 @@ type data struct {
222
223
replicas []database.Replica
223
224
templateVersions []database.TemplateVersionTable
224
225
templateVersionParameters []database.TemplateVersionParameter
226
+ templateVersionTerraformValues []database.TemplateVersionTerraformValue
225
227
templateVersionVariables []database.TemplateVersionVariable
226
228
templateVersionWorkspaceTags []database.TemplateVersionWorkspaceTag
227
229
templates []database.TemplateTable
@@ -8828,6 +8830,37 @@ func (q *FakeQuerier) InsertTemplateVersionParameter(_ context.Context, arg data
8828
8830
return param ,nil
8829
8831
}
8830
8832
8833
+ func (q * FakeQuerier )InsertTemplateVersionTerraformValuesByJobID (_ context.Context ,arg database.InsertTemplateVersionTerraformValuesByJobIDParams )error {
8834
+ err := validateDatabaseType (arg )
8835
+ if err != nil {
8836
+ return err
8837
+ }
8838
+
8839
+ q .mutex .Lock ()
8840
+ defer q .mutex .Unlock ()
8841
+
8842
+ // Find the template version by the job_id
8843
+ templateVersion ,ok := slice .Find (q .templateVersions ,func (v database.TemplateVersionTable )bool {
8844
+ return v .JobID == arg .JobID
8845
+ })
8846
+ if ! ok {
8847
+ return sql .ErrNoRows
8848
+ }
8849
+
8850
+ if ! json .Valid (arg .CachedPlan ) {
8851
+ return xerrors .Errorf ("cached plan must be valid json, received %q" ,string (arg .CachedPlan ))
8852
+ }
8853
+
8854
+ // Insert the new row
8855
+ row := database.TemplateVersionTerraformValue {
8856
+ TemplateVersionID :templateVersion .ID ,
8857
+ CachedPlan :arg .CachedPlan ,
8858
+ UpdatedAt :arg .UpdatedAt ,
8859
+ }
8860
+ q .templateVersionTerraformValues = append (q .templateVersionTerraformValues ,row )
8861
+ return nil
8862
+ }
8863
+
8831
8864
func (q * FakeQuerier )InsertTemplateVersionVariable (_ context.Context ,arg database.InsertTemplateVersionVariableParams ) (database.TemplateVersionVariable ,error ) {
8832
8865
if err := validateDatabaseType (arg );err != nil {
8833
8866
return database.TemplateVersionVariable {},err