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

Skip to content

Commit e5654ca

Browse files
committed
Another chunk
1 parent bfb2ccb commit e5654ca

File tree

2 files changed

+47
-3
lines changed

2 files changed

+47
-3
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1451,7 +1451,7 @@ func (q *querier) GetTemplateInsightsByTemplate(ctx context.Context, arg databas
14511451
func (q *querier) GetTemplateParameterInsights(ctx context.Context, arg database.GetTemplateParameterInsightsParams) ([]database.GetTemplateParameterInsightsRow, error) {
14521452
// Used by both insights endpoint and prometheus collector.
14531453
// For auditors, check read template_insights, and fall back to update template.
1454-
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceTemplateInsights); IsNotAuthorizedError(err) {
1454+
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceTemplateInsights); err != nil {
14551455
for _, templateID := range arg.TemplateIDs {
14561456
template, err := q.db.GetTemplateByID(ctx, templateID)
14571457
if err != nil {
@@ -1624,7 +1624,7 @@ func (q *querier) GetUnexpiredLicenses(ctx context.Context) ([]database.License,
16241624

16251625
func (q *querier) GetUserActivityInsights(ctx context.Context, arg database.GetUserActivityInsightsParams) ([]database.GetUserActivityInsightsRow, error) {
16261626
// Used by insights endpoints. Need to check both for auditors and for regular users with template acl perms.
1627-
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceTemplateInsights); IsNotAuthorizedError(err) {
1627+
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceTemplateInsights); err != nil {
16281628
for _, templateID := range arg.TemplateIDs {
16291629
template, err := q.db.GetTemplateByID(ctx, templateID)
16301630
if err != nil {
@@ -1661,7 +1661,7 @@ func (q *querier) GetUserCount(ctx context.Context) (int64, error) {
16611661

16621662
func (q *querier) GetUserLatencyInsights(ctx context.Context, arg database.GetUserLatencyInsightsParams) ([]database.GetUserLatencyInsightsRow, error) {
16631663
// Used by insights endpoints. Need to check both for auditors and for regular users with template acl perms.
1664-
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceTemplateInsights); IsNotAuthorizedError(err) {
1664+
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceTemplateInsights);err != nil {
16651665
for _, templateID := range arg.TemplateIDs {
16661666
template, err := q.db.GetTemplateByID(ctx, templateID)
16671667
if err != nil {

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -665,13 +665,23 @@ func (s *MethodTestSuite) TestWorkspaceProxy() {
665665
p, _ := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
666666
check.Args(p.ID).Asserts(p, rbac.ActionRead).Returns(p)
667667
}))
668+
s.Run("GetWorkspaceProxyByName", s.Subtest(func(db database.Store, check *expects) {
669+
p, _ := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
670+
check.Args(p.Name).Asserts(p, rbac.ActionRead).Returns(p)
671+
}))
668672
s.Run("UpdateWorkspaceProxyDeleted", s.Subtest(func(db database.Store, check *expects) {
669673
p, _ := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
670674
check.Args(database.UpdateWorkspaceProxyDeletedParams{
671675
ID: p.ID,
672676
Deleted: true,
673677
}).Asserts(p, rbac.ActionDelete)
674678
}))
679+
s.Run("UpdateWorkspaceProxy", s.Subtest(func(db database.Store, check *expects) {
680+
p, _ := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
681+
check.Args(database.UpdateWorkspaceProxyParams{
682+
ID: p.ID,
683+
}).Asserts(p, rbac.ActionUpdate)
684+
}))
675685
s.Run("GetWorkspaceProxies", s.Subtest(func(db database.Store, check *expects) {
676686
p1, _ := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
677687
p2, _ := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{})
@@ -899,6 +909,15 @@ func (s *MethodTestSuite) TestTemplate() {
899909
//tpl := dbgen.Template(s.T(), db, database.Template{})
900910
check.Args(database.GetTemplateInsightsParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
901911
}))
912+
s.Run("GetUserLatencyInsights", s.Subtest(func(db database.Store, check *expects) {
913+
check.Args(database.GetUserLatencyInsightsParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
914+
}))
915+
s.Run("GetUserActivityInsights", s.Subtest(func(db database.Store, check *expects) {
916+
check.Args(database.GetUserActivityInsightsParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
917+
}))
918+
s.Run("GetTemplateParameterInsights", s.Subtest(func(db database.Store, check *expects) {
919+
check.Args(database.GetTemplateParameterInsightsParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
920+
}))
902921
s.Run("GetTemplateInsightsByInterval", s.Subtest(func(db database.Store, check *expects) {
903922
check.Args(database.GetTemplateInsightsByIntervalParams{}).Asserts(rbac.ResourceTemplateInsights, rbac.ActionRead)
904923
}))
@@ -1416,6 +1435,19 @@ func (s *MethodTestSuite) TestWorkspace() {
14161435
ID: w.ID,
14171436
}).Asserts(w, rbac.ActionUpdate).Returns(expected)
14181437
}))
1438+
s.Run("UpdateWorkspaceDormantDeletingAt", s.Subtest(func(db database.Store, check *expects) {
1439+
w := dbgen.Workspace(s.T(), db, database.Workspace{})
1440+
check.Args(database.UpdateWorkspaceDormantDeletingAtParams{
1441+
ID: w.ID,
1442+
}).Asserts(w, rbac.ActionUpdate)
1443+
}))
1444+
s.Run("UpdateWorkspaceAutomaticUpdates", s.Subtest(func(db database.Store, check *expects) {
1445+
w := dbgen.Workspace(s.T(), db, database.Workspace{})
1446+
check.Args(database.UpdateWorkspaceAutomaticUpdatesParams{
1447+
ID: w.ID,
1448+
AutomaticUpdates: database.AutomaticUpdatesAlways,
1449+
}).Asserts(w, rbac.ActionUpdate)
1450+
}))
14191451
s.Run("InsertWorkspaceAgentStat", s.Subtest(func(db database.Store, check *expects) {
14201452
ws := dbgen.Workspace(s.T(), db, database.Workspace{})
14211453
check.Args(database.InsertWorkspaceAgentStatParams{
@@ -2053,4 +2085,16 @@ func (s *MethodTestSuite) TestSystemFunctions() {
20532085
s.Run("GetWorkspaceAgentStats", s.Subtest(func(db database.Store, check *expects) {
20542086
check.Args(time.Time{}).Asserts()
20552087
}))
2088+
s.Run("GetWorkspaceProxyByHostname", s.Subtest(func(db database.Store, check *expects) {
2089+
p, _ := dbgen.WorkspaceProxy(s.T(), db, database.WorkspaceProxy{
2090+
WildcardHostname: "*.example.com",
2091+
})
2092+
check.Args(database.GetWorkspaceProxyByHostnameParams{
2093+
Hostname: "foo.example.com",
2094+
AllowWildcardHostname: true,
2095+
}).Asserts(rbac.ResourceSystem, rbac.ActionRead).Returns(p)
2096+
}))
2097+
s.Run("GetTemplateAverageBuildTime", s.Subtest(func(db database.Store, check *expects) {
2098+
check.Args(database.GetTemplateAverageBuildTimeParams{}).Asserts(rbac.ResourceSystem, rbac.ActionRead)
2099+
}))
20562100
}

0 commit comments

Comments
 (0)