Skip to content

Commit 1fbb8e8

Browse files
author
NarrowsProjects
committed
EXPERIMENT: undo changes for GetAllLogsUseCase
1 parent 2a48c02 commit 1fbb8e8

4 files changed

Lines changed: 37 additions & 20 deletions

File tree

lib/database/repositories/Repository.js

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
const { dataSource } = require('../DataSource.js');
1515
const { QueryBuilder } = require('../utilities/QueryBuilder.js');
16+
const { OldQueryBuilder } = require('../utilities/OldQueryBuilder.js');
1617

1718
/**
1819
* Sequelize implementation of the Repository.
@@ -39,8 +40,8 @@ class Repository {
3940
findQuery.selectOnly();
4041
}
4142

42-
if (findQuery instanceof QueryBuilder) {
43-
findQuery = findQuery.toImplementation();
43+
if (findQuery instanceof QueryBuilder || findQuery instanceof OldQueryBuilder) {
44+
findQuery = findQuery.toImplementation(this.model);
4445
}
4546

4647
return this.model.count(findQuery);
@@ -53,7 +54,7 @@ class Repository {
5354
* @returns {Promise<array>} Promise object representing the full mock data
5455
*/
5556
async findAll(findQuery = {}) {
56-
return this.model.findAll(findQuery instanceof QueryBuilder ? findQuery.toImplementation() : findQuery);
57+
return this.model.findAll(findQuery instanceof QueryBuilder || findQuery instanceof OldQueryBuilder ? findQuery.toImplementation(this.model) : findQuery);
5758
}
5859

5960
/**
@@ -67,9 +68,9 @@ class Repository {
6768
findQuery = dataSource.createQueryBuilder();
6869
}
6970

70-
if (findQuery instanceof QueryBuilder) {
71+
if (findQuery instanceof QueryBuilder || findQuery instanceof OldQueryBuilder) {
7172
findQuery.set('distinct', true);
72-
findQuery = findQuery.toImplementation();
73+
findQuery = findQuery.toImplementation(this.model);
7374
}
7475

7576
return this.model.findAndCountAll(findQuery);
@@ -82,8 +83,8 @@ class Repository {
8283
* @returns {Promise<Object|null>} Promise object representing the full mock data
8384
*/
8485
async findOne(findQuery = {}) {
85-
if (findQuery instanceof QueryBuilder) {
86-
findQuery = findQuery.toImplementation();
86+
if (findQuery instanceof QueryBuilder || findQuery instanceof OldQueryBuilder) {
87+
findQuery = findQuery.toImplementation(this.model);
8788
}
8889
findQuery.limit = 1;
8990
return this.model.findOne(findQuery);
@@ -132,8 +133,8 @@ class Repository {
132133
* @returns {Promise<*[]>} promise with list of removed entities
133134
*/
134135
async removeAll(findQuery) {
135-
if (findQuery instanceof QueryBuilder) {
136-
findQuery = findQuery.toImplementation();
136+
if (findQuery instanceof QueryBuilder || findQuery instanceof OldQueryBuilder) {
137+
findQuery = findQuery.toImplementation(this.model);
137138
}
138139

139140
const entities = await this.findAll(findQuery);
@@ -151,8 +152,8 @@ class Repository {
151152
* @returns {Promise|Null} Promise object representing the full mock data
152153
*/
153154
async removeOne(findQuery) {
154-
if (findQuery instanceof QueryBuilder) {
155-
findQuery = findQuery.toImplementation();
155+
if (findQuery instanceof QueryBuilder || findQuery instanceof OldQueryBuilder) {
156+
findQuery = findQuery.toImplementation(this.model);
156157
}
157158
findQuery.limit = 1;
158159

@@ -183,8 +184,8 @@ class Repository {
183184
* @return {Promise<void>} promise that resolves when the patch has been applied
184185
*/
185186
async updateAll(patch, findQuery) {
186-
if (findQuery instanceof QueryBuilder) {
187-
findQuery = findQuery.toImplementation();
187+
if (findQuery instanceof QueryBuilder || findQuery instanceof OldQueryBuilder) {
188+
findQuery = findQuery.toImplementation(this.model);
188189
}
189190

190191
return this.model.update(patch, findQuery);

lib/database/utilities/OldQueryBuilder.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
*/
1313

1414
const { Op } = require('sequelize');
15-
const { QueryBuilder } = require('./QueryBuilder');
1615

1716
/**
1817
* Sequelize implementation of the WhereQueryBuilder.
@@ -39,6 +38,8 @@ class WhereQueryBuilder {
3938
*/
4039
is(value) {
4140
let operation;
41+
console.log('value', value);
42+
4243

4344
if (this.notFlag) {
4445
operation = { [value === null ? Op.not : Op.ne]: value };
@@ -429,13 +430,12 @@ class WhereAssociationQueryBuilder extends WhereQueryBuilder {
429430
/**
430431
* Sequelize implementation of the QueryBuilder.
431432
*/
432-
class OldQueryBuilder extends QueryBuilder {
433+
class OldQueryBuilder {
433434
/**
434435
* Creates a new `QueryBuilder` instance.
435436
* @param {Sequelize} sequelize the sequelize implementation
436437
*/
437438
constructor(sequelize) {
438-
super(sequelize);
439439
this._sequelize = sequelize;
440440
this.options = { where: {}, replacements: {} };
441441
}

lib/database/utilities/index.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
* or submit itself to any jurisdiction.
1212
*/
1313

14+
const { OldQueryBuilder: BaseOldQueryBuilder } = require('./OldQueryBuilder');
1415
const { QueryBuilder: BaseQueryBuilder } = require('./QueryBuilder');
1516
const TransactionHelper = require('./TransactionHelper');
1617

@@ -28,8 +29,18 @@ module.exports = (sequelize) => {
2829
}
2930
}
3031

32+
class OldQueryBuilder extends BaseOldQueryBuilder {
33+
/**
34+
* Constructor
35+
*/
36+
constructor() {
37+
super(sequelize);
38+
}
39+
}
40+
3141
return {
3242
QueryBuilder,
43+
OldQueryBuilder,
3344

3445
/**
3546
* @deprecated use datasource instead

lib/usecases/run/GetAllRunsUseCase.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* or submit itself to any jurisdiction.
1212
*/
1313

14-
const { repositories: { RunRepository }, utilities: { QueryBuilder } } = require('../../database');
14+
const { repositories: { RunRepository }, utilities: { QueryBuilder, OldQueryBuilder } } = require('../../database');
1515

1616
const { runAdapter } = require('../../database/adapters/index.js');
1717
const { ApiConfig } = require('../../config/index.js');
@@ -39,7 +39,7 @@ class GetAllRunsUseCase {
3939
* @return {Promise} Promise object represents the result of this use case.
4040
*/
4141
async execute(dto = {}) {
42-
const filteringQueryBuilder = new QueryBuilder();
42+
const filteringQueryBuilder = new OldQueryBuilder();
4343
const { query = {} } = dto;
4444
const { filter, page = {}, sort = { runNumber: 'desc' }, include: { effectiveQcFlags = false } = {} } = query;
4545

@@ -236,12 +236,17 @@ class GetAllRunsUseCase {
236236
*
237237
* @return {Object} the object representing the column
238238
*/
239-
const computedColumn = ({ fn, col, literal }) => fn(
239+
const computedColumn = (obj) => {
240+
const { fn, col, literal } = obj;
241+
console.log('fn', fn);
242+
console.log('col', col);
243+
console.log('literal', literal);
244+
return fn(
240245
'timestampdiff',
241246
literal('MICROSECOND'),
242247
fn('coalesce', col('time_trg_start'), col('time_o2_start')),
243248
fn('coalesce', fn('coalesce', col('time_trg_end'), col('time_o2_end')), fn('now')),
244-
);
249+
);}
245250
// Duration limit is handled in milliseconds by the API, but the query works on microseconds
246251
filteringQueryBuilder.where(computedColumn).applyOperator(operator, durationLimit * 1000);
247252
}

0 commit comments

Comments
 (0)