@@ -681,6 +681,29 @@ func authorizedTemplateVersionFromJob(ctx context.Context, q *querier, job datab
681
681
}
682
682
}
683
683
684
+ func (q * querier ) authorizeTemplateInsights (ctx context.Context , templateIDs []uuid.UUID ) error {
685
+ // Abort early if can read all template insights, aka admins.
686
+ // TODO: If we know the org, that would allow org admins to abort early too.
687
+ if err := q .authorizeContext (ctx , policy .ActionViewInsights , rbac .ResourceTemplate ); err != nil {
688
+ for _ , templateID := range templateIDs {
689
+ template , err := q .db .GetTemplateByID (ctx , templateID )
690
+ if err != nil {
691
+ return err
692
+ }
693
+
694
+ if err := q .authorizeContext (ctx , policy .ActionViewInsights , template ); err != nil {
695
+ return err
696
+ }
697
+ }
698
+ if len (templateIDs ) == 0 {
699
+ if err := q .authorizeContext (ctx , policy .ActionViewInsights , rbac .ResourceTemplate .All ()); err != nil {
700
+ return err
701
+ }
702
+ }
703
+ }
704
+ return nil
705
+ }
706
+
684
707
func (q * querier ) AcquireLock (ctx context.Context , id int64 ) error {
685
708
return q .db .AcquireLock (ctx , id )
686
709
}
@@ -1560,29 +1583,6 @@ func (q *querier) GetTemplateDAUs(ctx context.Context, arg database.GetTemplateD
1560
1583
return q .db .GetTemplateDAUs (ctx , arg )
1561
1584
}
1562
1585
1563
- func (q * querier ) authorizeTemplateInsights (ctx context.Context , templateIDs []uuid.UUID ) error {
1564
- // Abort early if can read all template insights, aka admins.
1565
- // TODO: If we know the org, that would allow org admins to abort early too.
1566
- if err := q .authorizeContext (ctx , policy .ActionViewInsights , rbac .ResourceTemplate ); err != nil {
1567
- for _ , templateID := range templateIDs {
1568
- template , err := q .db .GetTemplateByID (ctx , templateID )
1569
- if err != nil {
1570
- return err
1571
- }
1572
-
1573
- if err := q .authorizeContext (ctx , policy .ActionViewInsights , template ); err != nil {
1574
- return err
1575
- }
1576
- }
1577
- if len (templateIDs ) == 0 {
1578
- if err := q .authorizeContext (ctx , policy .ActionViewInsights , rbac .ResourceTemplate .All ()); err != nil {
1579
- return err
1580
- }
1581
- }
1582
- }
1583
- return nil
1584
- }
1585
-
1586
1586
func (q * querier ) GetTemplateInsights (ctx context.Context , arg database.GetTemplateInsightsParams ) (database.GetTemplateInsightsRow , error ) {
1587
1587
if err := q .authorizeTemplateInsights (ctx , arg .TemplateIDs ); err != nil {
1588
1588
return database.GetTemplateInsightsRow {}, err
0 commit comments