Skip to content

Commit 4485327

Browse files
author
Guust
committed
remove the combination operator from runs
1 parent 07b8b2a commit 4485327

4 files changed

Lines changed: 12 additions & 27 deletions

File tree

lib/domain/dtos/GetAllLogsDto.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@ const { TagsFilterDto } = require('./filters/TagsFilterDto.js');
1919
const { FromToFilterDto } = require('./filters/FromToFilterDto.js');
2020
const { EnvironmentsFilterDto } = require('./filters/EnvironmentsFilterDto');
2121

22-
const RunFilterDto = Joi.object({
23-
values: CustomJoi.stringArray().items(EntityIdDto).single().required(),
24-
operation: Joi.string().valid('and', 'or').required(),
25-
});
22+
const RunFilterDto = CustomJoi.stringArray().items(EntityIdDto).single().required();
2623

2724
const LhcFillFilterDto = Joi.object({
2825
values: CustomJoi.stringArray().items(EntityIdDto).single().required(),
@@ -36,7 +33,7 @@ const FilterDto = Joi.object({
3633
created: FromToFilterDto,
3734
tags: TagsFilterDto,
3835
lhcFills: LhcFillFilterDto,
39-
run: RunFilterDto,
36+
runNumbers: RunFilterDto,
4037
origin: Joi.string()
4138
.valid('human', 'process'),
4239
parentLog: EntityIdDto,

lib/public/views/Logs/ActiveColumns/logsActiveColumns.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ export const logsActiveColumns = {
182182
* @return {Component} the filter component
183183
*/
184184
filter: ({ filteringModel }) => rawTextFilter(
185-
filteringModel.get('run'),
185+
filteringModel.get('runNumbers'),
186186
{
187187
id: 'runsFilterText',
188188
classes: ['w-75', 'mt1'],

lib/public/views/Logs/Overview/LogsOverviewModel.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export class LogsOverviewModel extends Observable {
4343
titleFilter: new RawTextFilterModel(),
4444
contentFilter: new RawTextFilterModel(),
4545
tags: new TagFilterModel(tagsProvider.items$),
46-
run: new RawTextFilterModel(),
46+
runNumbers: new RawTextFilterModel(),
4747
environments: new RawTextFilterModel(),
4848
lhcFills: new RawTextFilterModel(),
4949
created: new TimeRangeInputModel(),
@@ -198,7 +198,7 @@ export class LogsOverviewModel extends Observable {
198198
const contentFilter = this._filteringModel.get('contentFilter');
199199
const authorFilter = this._filteringModel.get('authorFilter');
200200
const tags = this._filteringModel.get('tags');
201-
const run = this._filteringModel.get('run');
201+
const runNumbers = this._filteringModel.get('runNumbers');
202202
const environments = this._filteringModel.get('environments');
203203
const lhcFills = this._filteringModel.get('lhcFills');
204204
const created = this._filteringModel.get('created');
@@ -221,9 +221,8 @@ export class LogsOverviewModel extends Observable {
221221
'filter[tags][values]': tags.selected.join(),
222222
'filter[tags][operation]': tags.combinationOperator.toLowerCase(),
223223
},
224-
...!run.isEmpty && {
225-
'filter[run][values]': run.normalized,
226-
'filter[run][operation]': this.runFilterOperation.toLowerCase(),
224+
...!runNumbers.isEmpty && {
225+
'filter[runNumbers]': runNumbers.normalized,
227226
},
228227
...!environments.isEmpty && {
229228
'filter[environments][values]': environments.normalized,

lib/usecases/log/GetAllLogsUseCase.js

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const { checkForFilterExclusion } = require('../common/checkForFilterExclusion.j
3939
* @return {Promise<void>} resolves once the filter has been applied
4040
*/
4141
const applyFilter = async (dataSource, queryBuilder, filter) => {
42-
const { title, content, author, created, origin, parentLog, rootLog, rootOnly } = filter;
42+
const { title, content, author, created, origin, parentLog, rootLog, rootOnly, runNumbers } = filter;
4343

4444
if (title) {
4545
queryBuilder.where('title').substring(title);
@@ -112,26 +112,15 @@ const applyFilter = async (dataSource, queryBuilder, filter) => {
112112
queryBuilder.where('id').oneOf(...logIds);
113113
}
114114

115-
if (filter.run?.values?.length > 0) {
115+
if (runNumbers.length > 0) {
116116
const runQueryBuilder = dataSource.createQueryBuilder();
117117
runQueryBuilder.include({
118118
association: 'run',
119-
where: { runNumber: { [Op.in]: filter.run.values } },
119+
where: { runNumber: { [Op.in]: runNumbers } },
120120
}).orderBy('logId', 'asc');
121121

122-
let logRuns;
123-
switch (filter.run.operation) {
124-
case 'and':
125-
logRuns = await LogRunsRepository
126-
.findAllAndGroup(runQueryBuilder);
127-
logRuns = logRuns
128-
.filter((logRun) => filter.run.values.every((runNumber) => logRun.runNumbers.includes(runNumber)));
129-
break;
130-
case 'or':
131-
logRuns = await LogRunsRepository
132-
.findAll(runQueryBuilder);
133-
break;
134-
}
122+
let logRuns = await LogRunsRepository.findAllAndGroup(runQueryBuilder);
123+
logRuns = logRuns.filter((logRun) => runNumbers.every((runNumber) => logRun.runNumbers.includes(runNumber)));
135124

136125
const logIds = logRuns.map((logRun) => logRun.logId);
137126
queryBuilder.where('id').oneOf(...logIds);

0 commit comments

Comments
 (0)