Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0cf5df5

Browse files
committed
bits
1 parent 205076e commit 0cf5df5

File tree

13 files changed

+272
-208
lines changed

13 files changed

+272
-208
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ var (
347347
rbac.ResourceNotificationPreference.Type: {policy.ActionCreate, policy.ActionUpdate, policy.ActionDelete},
348348
rbac.ResourceNotificationTemplate.Type: {policy.ActionCreate, policy.ActionUpdate, policy.ActionDelete},
349349
rbac.ResourceCryptoKey.Type: {policy.ActionCreate, policy.ActionUpdate, policy.ActionDelete},
350+
rbac.ResourceFile.Type: {policy.ActionCreate},
350351
}),
351352
Org: map[string][]rbac.Permission{},
352353
User: []rbac.Permission{},

coderd/database/dump.sql

Lines changed: 5 additions & 1 deletion
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.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE template_version_terraform_values DROP COLUMN cached_module_files;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE template_version_terraform_values ADD COLUMN cached_module_files uuid references files(id);

coderd/database/models.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: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/provisionerdserver/provisionerdserver.go

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package provisionerdserver
22

33
import (
44
"context"
5+
"crypto/sha256"
56
"database/sql"
7+
"encoding/hex"
68
"encoding/json"
79
"errors"
810
"fmt"
@@ -50,6 +52,10 @@ import (
5052
sdkproto "github.com/coder/coder/v2/provisionersdk/proto"
5153
)
5254

55+
const (
56+
tarMimeType = "application/x-tar"
57+
)
58+
5359
const (
5460
// DefaultAcquireJobLongPollDur is the time the (deprecated) AcquireJob rpc waits to try to obtain a job before
5561
// canceling and returning an empty job.
@@ -1427,10 +1433,27 @@ func (s *server) CompleteJob(ctx context.Context, completed *proto.CompletedJob)
14271433
}
14281434

14291435
if len(jobType.TemplateImport.Plan) > 0 {
1430-
err := s.Database.InsertTemplateVersionTerraformValuesByJobID(ctx, database.InsertTemplateVersionTerraformValuesByJobIDParams{
1436+
moduleFilesTar := jobType.TemplateImport.ModuleFiles
1437+
hashBytes := sha256.Sum256(moduleFilesTar)
1438+
hash := hex.EncodeToString(hashBytes[:])
1439+
// nolint:gocritic // Requires system privileges
1440+
_, err := s.Database.InsertFile(dbauthz.AsSystemRestricted(ctx), database.InsertFileParams{
1441+
ID: uuid.New(),
1442+
Hash: hash,
1443+
CreatedBy: uuid.Nil, // TODO
1444+
CreatedAt: dbtime.Now(),
1445+
Mimetype: tarMimeType,
1446+
Data: moduleFilesTar,
1447+
})
1448+
if err != nil {
1449+
return nil, xerrors.Errorf("insert template version terraform modules: %w", err)
1450+
}
1451+
1452+
err = s.Database.InsertTemplateVersionTerraformValuesByJobID(ctx, database.InsertTemplateVersionTerraformValuesByJobIDParams{
14311453
JobID: jobID,
1432-
CachedPlan: jobType.TemplateImport.Plan,
14331454
UpdatedAt: now,
1455+
CachedPlan: jobType.TemplateImport.Plan,
1456+
// CachedModules: jobType.TemplateImport.ModuleFiles,
14341457
})
14351458
if err != nil {
14361459
return nil, xerrors.Errorf("insert template version terraform data: %w", err)

0 commit comments

Comments
 (0)