@@ -36,6 +36,7 @@ const { getOneSimulationPassOrFail } = require('../simulationPasses/getOneSimula
3636const { AccessDeniedError } = require ( '../../errors/AccessDeniedError.js' ) ;
3737const { LogManager } = require ( '@aliceo2/web-ui' ) ;
3838const { DetectorType } = require ( '../../../domain/enums/DetectorTypes.js' ) ;
39+ const { getCreatedByFilterClause } = require ( './getQcFlagFiltering.js' ) ;
3940
4041/**
4142 * @typedef UserWithRoles
@@ -64,17 +65,6 @@ const validateUserDetectorAccess = (userRoles, detectorName) => {
6465 }
6566} ;
6667
67- /**
68- * @typedef CreatedByFilter
69- * @property {string } names
70- * @property {'or'|'none' } operator
71- */
72-
73- /**
74- * @typedef QcFlagFilter
75- * @property {CreatedByFilter } createdBy
76- */
77-
7868/**
7969 * Quality control flags service
8070 */
@@ -394,27 +384,6 @@ class QcFlagService {
394384 } ) ;
395385 }
396386
397- /**
398- * Get sequelize clause for CreateByFilter
399- *
400- * @param {QcFlagFilter } filter filter
401- * @returns {object } sequelize clause
402- * @throws {Error } if bad operator provided
403- */
404- getCreatedByFilterClause ( filter = { } ) {
405- const { createdBy : { names : createdByNames , operator : createdByOperator } = { } } = filter ;
406-
407- if ( createdByNames && createdByOperator ) {
408- if ( createdByOperator === 'or' ) {
409- return { name : { [ Op . or ] : createdByNames } } ;
410- } else if ( createdByOperator === 'none' ) {
411- return { [ Op . not ] : { name : { [ Op . or ] : createdByNames } } } ;
412- } else {
413- throw Error ( `Operator ${ createdByOperator } is not suppoerted` ) ;
414- }
415- }
416- }
417-
418387 /**
419388 * Return a paginated list of QC flags related to a given data pass, run and dpl detector
420389 *
@@ -439,7 +408,7 @@ class QcFlagService {
439408 { association : 'flagType' } ,
440409 {
441410 association : 'createdBy' ,
442- where : this . getCreatedByFilterClause ( filter ) ,
411+ where : getCreatedByFilterClause ( filter ) ,
443412 } ,
444413 { association : 'verifications' , include : [ { association : 'createdBy' } ] } ,
445414 { association : 'effectivePeriods' } ,
@@ -496,7 +465,7 @@ class QcFlagService {
496465 { association : 'flagType' } ,
497466 {
498467 association : 'createdBy' ,
499- where : this . getCreatedByFilterClause ( filter ) ,
468+ where : getCreatedByFilterClause ( filter ) ,
500469 } ,
501470 { association : 'verifications' , include : [ { association : 'createdBy' } ] } ,
502471 { association : 'effectivePeriods' } ,
@@ -556,7 +525,7 @@ class QcFlagService {
556525 { association : 'flagType' } ,
557526 {
558527 association : 'createdBy' ,
559- where : this . getCreatedByFilterClause ( filter ) ,
528+ where : getCreatedByFilterClause ( filter ) ,
560529 } ,
561530 { association : 'verifications' , include : [ { association : 'createdBy' } ] } ,
562531 { association : 'dataPasses' , required : false } ,
0 commit comments