@@ -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
@@ -8828,6 +8830,37 @@ func (q *FakeQuerier) InsertTemplateVersionParameter(_ context.Context, arg data
88288830 return param , nil
88298831}
88308832
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+
88318864func (q * FakeQuerier ) InsertTemplateVersionVariable (_ context.Context , arg database.InsertTemplateVersionVariableParams ) (database.TemplateVersionVariable , error ) {
88328865 if err := validateDatabaseType (arg ); err != nil {
88338866 return database.TemplateVersionVariable {}, err
0 commit comments