Skip to content

Commit 616ee80

Browse files
author
Guust
committed
remove the combination operator from envirionments
1 parent 4485327 commit 616ee80

5 files changed

Lines changed: 15 additions & 46 deletions

File tree

lib/domain/dtos/GetAllLogsDto.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ const PaginationDto = require('./PaginationDto');
1717
const { CustomJoi } = require('./CustomJoi.js');
1818
const { TagsFilterDto } = require('./filters/TagsFilterDto.js');
1919
const { FromToFilterDto } = require('./filters/FromToFilterDto.js');
20-
const { EnvironmentsFilterDto } = require('./filters/EnvironmentsFilterDto');
2120

22-
const RunFilterDto = CustomJoi.stringArray().items(EntityIdDto).single().required();
21+
const RunFilterDto = CustomJoi.stringArray().items(EntityIdDto).single();
22+
const EnvironmentsFilterDto = CustomJoi.stringArray().items(Joi.string()).single();
2323

2424
const LhcFillFilterDto = Joi.object({
2525
values: CustomJoi.stringArray().items(EntityIdDto).single().required(),
@@ -39,7 +39,7 @@ const FilterDto = Joi.object({
3939
parentLog: EntityIdDto,
4040
rootLog: EntityIdDto,
4141
rootOnly: Joi.boolean(),
42-
environments: EnvironmentsFilterDto,
42+
environmentIds: EnvironmentsFilterDto,
4343
});
4444

4545
const SortDto = Joi.object({

lib/domain/dtos/filters/EnvironmentsFilterDto.js

Lines changed: 0 additions & 20 deletions
This file was deleted.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ export const logsActiveColumns = {
214214
* @return {Component} the filter component
215215
*/
216216
filter: ({ filteringModel }) => rawTextFilter(
217-
filteringModel.get('environments'),
217+
filteringModel.get('environmentIds'),
218218
{
219219
id: 'environmentFilterText',
220220
classes: ['w-75', 'mt1'],

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export class LogsOverviewModel extends Observable {
4444
contentFilter: new RawTextFilterModel(),
4545
tags: new TagFilterModel(tagsProvider.items$),
4646
runNumbers: new RawTextFilterModel(),
47-
environments: new RawTextFilterModel(),
47+
environmentIds: new RawTextFilterModel(),
4848
lhcFills: new RawTextFilterModel(),
4949
created: new TimeRangeInputModel(),
5050
});
@@ -128,8 +128,6 @@ export class LogsOverviewModel extends Observable {
128128
reset(fetch = true) {
129129
this._filteringModel.reset();
130130

131-
this.runFilterOperation = 'AND';
132-
this.environmentFilterOperation = 'AND';
133131
this.lhcFillFilterOperation = 'AND';
134132

135133
this._pagination.reset();
@@ -199,7 +197,7 @@ export class LogsOverviewModel extends Observable {
199197
const authorFilter = this._filteringModel.get('authorFilter');
200198
const tags = this._filteringModel.get('tags');
201199
const runNumbers = this._filteringModel.get('runNumbers');
202-
const environments = this._filteringModel.get('environments');
200+
const environmentIds = this._filteringModel.get('environmentIds');
203201
const lhcFills = this._filteringModel.get('lhcFills');
204202
const created = this._filteringModel.get('created');
205203

@@ -224,9 +222,8 @@ export class LogsOverviewModel extends Observable {
224222
...!runNumbers.isEmpty && {
225223
'filter[runNumbers]': runNumbers.normalized,
226224
},
227-
...!environments.isEmpty && {
228-
'filter[environments][values]': environments.normalized,
229-
'filter[environments][operation]': this.environmentFilterOperation.toLowerCase(),
225+
...!environmentIds.isEmpty && {
226+
'filter[environmentIds]': environmentIds.normalized,
230227
},
231228
...!lhcFills.isEmpty && {
232229
'filter[lhcFills][values]': lhcFills.normalized,

lib/usecases/log/GetAllLogsUseCase.js

Lines changed: 7 additions & 15 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, runNumbers } = filter;
42+
const { title, content, author, created, origin, parentLog, rootLog, rootOnly, runNumbers, environmentIds } = filter;
4343

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

115-
if (runNumbers.length > 0) {
115+
if (runNumbers?.length > 0) {
116116
const runQueryBuilder = dataSource.createQueryBuilder();
117117
runQueryBuilder.include({
118118
association: 'run',
@@ -150,25 +150,17 @@ const applyFilter = async (dataSource, queryBuilder, filter) => {
150150
queryBuilder.where('id').oneOf(...logIds);
151151
}
152152

153-
if (filter.environments?.values?.length > 0) {
154-
const validEnvironments = await EnvironmentRepository.findAll({ where: { id: { [Op.in]: filter.environments.values } } });
153+
if (environmentIds?.length > 0) {
154+
const validEnvironments = await EnvironmentRepository.findAll({ where: { id: { [Op.in]: environmentIds} } });
155155

156156
const logEnvironmentQueryBuilder = dataSource.createQueryBuilder()
157157
.where('environmentId')
158158
.oneOf(...validEnvironments.map(({ id }) => id))
159159
.orderBy('logId', 'asc');
160160

161-
let logIds;
162-
switch (filter.environments.operation) {
163-
case 'and':
164-
logIds = groupByProperty(await LogEnvironmentsRepository.findAll(logEnvironmentQueryBuilder), 'logId')
165-
.filter(({ values }) => validEnvironments.every((env) => values.some((item) => item.environmentId === env.id)))
166-
.map(({ index }) => index);
167-
break;
168-
case 'or':
169-
logIds = (await LogEnvironmentsRepository.findAll(logEnvironmentQueryBuilder)).map(({ logId }) => logId);
170-
break;
171-
}
161+
const logIds = groupByProperty(await LogEnvironmentsRepository.findAll(logEnvironmentQueryBuilder), 'logId')
162+
.filter(({ values }) => validEnvironments.every((env) => values.some((item) => item.environmentId === env.id)))
163+
.map(({ index }) => index);
172164

173165
queryBuilder.where('id').oneOf(...logIds);
174166
}

0 commit comments

Comments
 (0)