Skip to content

Commit 767cb77

Browse files
committed
adjusted TODOs
1 parent 91d2d32 commit 767cb77

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2320,25 +2320,27 @@ func (q *querier) GetProvisionerJobsByIDs(ctx context.Context, ids []uuid.UUID)
23202320
if err != nil {
23212321
return nil, err
23222322
}
2323+
orgIDs := make(map[uuid.UUID]struct{})
23232324
for _, job := range provisionerJobs {
2324-
if err := q.authorizeContext(ctx, policy.ActionRead, rbac.ResourceProvisionerJobs.InOrg(job.OrganizationID)); err != nil {
2325+
orgIDs[job.OrganizationID] = struct{}{}
2326+
}
2327+
for orgID := range orgIDs {
2328+
if err := q.authorizeContext(ctx, policy.ActionRead, rbac.ResourceProvisionerJobs.InOrg(orgID)); err != nil {
23252329
return nil, err
23262330
}
23272331
}
23282332
return provisionerJobs, nil
23292333
}
23302334

23312335
func (q *querier) GetProvisionerJobsByIDsWithQueuePosition(ctx context.Context, ids []uuid.UUID) ([]database.GetProvisionerJobsByIDsWithQueuePositionRow, error) {
2332-
// if err := q.authorizeContext(ctx, policy.ActionRead, rbac.ResourceProvisionerJobs); err != nil {
2333-
// return nil, err
2334-
// }
2336+
// TODO: Remove this once we have a proper rbac check for provisioner jobs.
2337+
// Details in https://github.com/coder/coder/issues/16160
23352338
return q.db.GetProvisionerJobsByIDsWithQueuePosition(ctx, ids)
23362339
}
23372340

23382341
func (q *querier) GetProvisionerJobsByOrganizationAndStatusWithQueuePositionAndProvisioner(ctx context.Context, arg database.GetProvisionerJobsByOrganizationAndStatusWithQueuePositionAndProvisionerParams) ([]database.GetProvisionerJobsByOrganizationAndStatusWithQueuePositionAndProvisionerRow, error) {
2339-
// if err := q.authorizeContext(ctx, policy.ActionRead, rbac.ResourceProvisionerJobs); err != nil {
2340-
// return nil, err
2341-
// }
2342+
// TODO: Remove this once we have a proper rbac check for provisioner jobs.
2343+
// Details in https://github.com/coder/coder/issues/16160
23422344
return fetchWithPostFilter(q.auth, policy.ActionRead, q.db.GetProvisionerJobsByOrganizationAndStatusWithQueuePositionAndProvisioner)(ctx, arg)
23432345
}
23442346

@@ -3547,9 +3549,8 @@ func (q *querier) InsertProvisionerJob(ctx context.Context, arg database.InsertP
35473549
}
35483550

35493551
func (q *querier) InsertProvisionerJobLogs(ctx context.Context, arg database.InsertProvisionerJobLogsParams) ([]database.ProvisionerJobLog, error) {
3550-
// if err := q.authorizeContext(ctx, policy.ActionUpdate, rbac.ResourceProvisionerJobs); err != nil {
3551-
// return nil, err
3552-
// }
3552+
// TODO: Remove this once we have a proper rbac check for provisioner jobs.
3553+
// Details in https://github.com/coder/coder/issues/16160
35533554
return q.db.InsertProvisionerJobLogs(ctx, arg)
35543555
}
35553556

@@ -4187,9 +4188,8 @@ func (q *querier) UpdateProvisionerJobByID(ctx context.Context, arg database.Upd
41874188
}
41884189

41894190
func (q *querier) UpdateProvisionerJobWithCancelByID(ctx context.Context, arg database.UpdateProvisionerJobWithCancelByIDParams) error {
4190-
// if err := q.authorizeContext(ctx, policy.ActionUpdate, rbac.ResourceProvisionerJobs); err != nil {
4191-
// return err
4192-
// }
4191+
// TODO: Remove this once we have a proper rbac check for provisioner jobs.
4192+
// Details in https://github.com/coder/coder/issues/16160
41934193

41944194
job, err := q.db.GetProvisionerJobByID(ctx, arg.ID)
41954195
if err != nil {

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,7 @@ func (s *MethodTestSuite) TestProvisionerJob() {
698698
a := dbgen.ProvisionerJob(s.T(), db, nil, database.ProvisionerJob{OrganizationID: o.ID})
699699
b := dbgen.ProvisionerJob(s.T(), db, nil, database.ProvisionerJob{OrganizationID: o.ID})
700700
check.Args([]uuid.UUID{a.ID, b.ID}).
701-
Asserts(rbac.ResourceProvisionerJobs.InOrg(o.ID), policy.ActionRead, rbac.ResourceProvisionerJobs.InOrg(o.ID), policy.ActionRead).
701+
Asserts(rbac.ResourceProvisionerJobs.InOrg(o.ID), policy.ActionRead).
702702
Returns(slice.New(a, b))
703703
}))
704704
s.Run("GetProvisionerLogsAfterID", s.Subtest(func(db database.Store, check *expects) {
@@ -3982,7 +3982,7 @@ func (s *MethodTestSuite) TestSystemFunctions() {
39823982
a := dbgen.ProvisionerJob(s.T(), db, nil, database.ProvisionerJob{OrganizationID: o.ID})
39833983
b := dbgen.ProvisionerJob(s.T(), db, nil, database.ProvisionerJob{OrganizationID: o.ID})
39843984
check.Args([]uuid.UUID{a.ID, b.ID}).
3985-
Asserts(rbac.ResourceProvisionerJobs.InOrg(o.ID), policy.ActionRead, rbac.ResourceProvisionerJobs.InOrg(o.ID), policy.ActionRead).
3985+
Asserts(rbac.ResourceProvisionerJobs.InOrg(o.ID), policy.ActionRead).
39863986
Returns(slice.New(a, b))
39873987
}))
39883988
s.Run("InsertWorkspaceAgent", s.Subtest(func(db database.Store, check *expects) {

coderd/database/dbmem/dbmem.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"errors"
99
"fmt"
1010
"math"
11-
"math/rand" //#nosec // this is only used for shuffling an array to pick random jobs to reap
11+
insecurerand "math/rand" //#nosec // this is only used for shuffling an array to pick random jobs to reap
1212
"reflect"
1313
"regexp"
1414
"slices"
@@ -4889,7 +4889,7 @@ func (q *FakeQuerier) GetProvisionerJobsToBeReaped(_ context.Context, arg databa
48894889
}
48904890
}
48914891
}
4892-
rand.Shuffle(len(hungJobs), func(i, j int) {
4892+
insecurerand.Shuffle(len(hungJobs), func(i, j int) {
48934893
hungJobs[i], hungJobs[j] = hungJobs[j], hungJobs[i]
48944894
})
48954895
return hungJobs, nil

0 commit comments

Comments
 (0)