@@ -1190,17 +1190,18 @@ func (q *querier) GetTemplateDAUs(ctx context.Context, arg database.GetTemplateD
1190
1190
}
1191
1191
1192
1192
func (q * querier ) GetTemplateDailyInsights (ctx context.Context , arg database.GetTemplateDailyInsightsParams ) ([]database.GetTemplateDailyInsightsRow , error ) {
1193
- for _ , templateID := range arg .TemplateIDs {
1194
- template , err := q . db . GetTemplateByID ( ctx , templateID )
1193
+ if len ( arg .TemplateIDs ) > 0 {
1194
+ prep , err := prepareSQLFilter ( ctx , q . auth , rbac . ActionUpdate , rbac . ResourceTemplate . Type )
1195
1195
if err != nil {
1196
- return nil , err
1196
+ return nil , xerrors . Errorf ( "(dev error) prepare sql filter: %w" , err )
1197
1197
}
1198
-
1199
- if err := q .authorizeContext (ctx , rbac .ActionUpdate , template ); err != nil {
1198
+ _ , err = q .db .GetAuthorizedTemplates (ctx , database.GetTemplatesWithFilterParams {
1199
+ IDs : arg .TemplateIDs ,
1200
+ }, prep )
1201
+ if err != nil {
1200
1202
return nil , err
1201
1203
}
1202
- }
1203
- if len (arg .TemplateIDs ) == 0 {
1204
+ } else {
1204
1205
if err := q .authorizeContext (ctx , rbac .ActionUpdate , rbac .ResourceTemplate .All ()); err != nil {
1205
1206
return nil , err
1206
1207
}
@@ -1209,17 +1210,18 @@ func (q *querier) GetTemplateDailyInsights(ctx context.Context, arg database.Get
1209
1210
}
1210
1211
1211
1212
func (q * querier ) GetTemplateInsights (ctx context.Context , arg database.GetTemplateInsightsParams ) (database.GetTemplateInsightsRow , error ) {
1212
- for _ , templateID := range arg .TemplateIDs {
1213
- template , err := q . db . GetTemplateByID ( ctx , templateID )
1213
+ if len ( arg .TemplateIDs ) > 0 {
1214
+ prep , err := prepareSQLFilter ( ctx , q . auth , rbac . ActionUpdate , rbac . ResourceTemplate . Type )
1214
1215
if err != nil {
1215
- return database.GetTemplateInsightsRow {}, err
1216
+ return database.GetTemplateInsightsRow {}, xerrors . Errorf ( "(dev error) prepare sql filter: %w" , err )
1216
1217
}
1217
-
1218
- if err := q .authorizeContext (ctx , rbac .ActionUpdate , template ); err != nil {
1218
+ _ , err = q .db .GetAuthorizedTemplates (ctx , database.GetTemplatesWithFilterParams {
1219
+ IDs : arg .TemplateIDs ,
1220
+ }, prep )
1221
+ if err != nil {
1219
1222
return database.GetTemplateInsightsRow {}, err
1220
1223
}
1221
- }
1222
- if len (arg .TemplateIDs ) == 0 {
1224
+ } else {
1223
1225
if err := q .authorizeContext (ctx , rbac .ActionUpdate , rbac .ResourceTemplate .All ()); err != nil {
1224
1226
return database.GetTemplateInsightsRow {}, err
1225
1227
}
@@ -1228,17 +1230,18 @@ func (q *querier) GetTemplateInsights(ctx context.Context, arg database.GetTempl
1228
1230
}
1229
1231
1230
1232
func (q * querier ) GetTemplateParameterInsights (ctx context.Context , arg database.GetTemplateParameterInsightsParams ) ([]database.GetTemplateParameterInsightsRow , error ) {
1231
- for _ , templateID := range arg .TemplateIDs {
1232
- template , err := q . db . GetTemplateByID ( ctx , templateID )
1233
+ if len ( arg .TemplateIDs ) > 0 {
1234
+ prep , err := prepareSQLFilter ( ctx , q . auth , rbac . ActionUpdate , rbac . ResourceTemplate . Type )
1233
1235
if err != nil {
1234
- return nil , err
1236
+ return nil , xerrors . Errorf ( "(dev error) prepare sql filter: %w" , err )
1235
1237
}
1236
-
1237
- if err := q .authorizeContext (ctx , rbac .ActionUpdate , template ); err != nil {
1238
+ _ , err = q .db .GetAuthorizedTemplates (ctx , database.GetTemplatesWithFilterParams {
1239
+ IDs : arg .TemplateIDs ,
1240
+ }, prep )
1241
+ if err != nil {
1238
1242
return nil , err
1239
1243
}
1240
- }
1241
- if len (arg .TemplateIDs ) == 0 {
1244
+ } else {
1242
1245
if err := q .authorizeContext (ctx , rbac .ActionUpdate , rbac .ResourceTemplate .All ()); err != nil {
1243
1246
return nil , err
1244
1247
}
0 commit comments