Skip to content

Commit

Permalink
feat: add QueryUpsDicomJsonFactory and using in geWorkItemService
Browse files Browse the repository at this point in the history
  • Loading branch information
Chinlinlee committed Jan 18, 2024
1 parent 306c46f commit ee2ec31
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ function getWildCardQuery(value) {
}

/**
* TODO: separate this function to single file
* convert all request query object to to $or query and push to $and query
* @param {Object} iQuery
* @returns
Expand Down Expand Up @@ -204,9 +205,17 @@ class QueryInstanceDicomJsonFactory extends QueryDicomJsonFactory {
}
}

class QueryUpsDicomJsonFactory extends QueryDicomJsonFactory {
constructor(queryOptions) {
super(queryOptions);
this.model = require("@dbModels/workitems.model").WorkItemModel;
}
}

module.exports.QueryDicomJsonFactory = QueryDicomJsonFactory;
module.exports.QueryPatientDicomJsonFactory = QueryPatientDicomJsonFactory;
module.exports.QueryStudyDicomJsonFactory = QueryStudyDicomJsonFactory;
module.exports.QuerySeriesDicomJsonFactory = QuerySeriesDicomJsonFactory;
module.exports.QueryInstanceDicomJsonFactory = QueryInstanceDicomJsonFactory;
module.exports.QueryUpsDicomJsonFactory = QueryUpsDicomJsonFactory;
module.exports.convertRequestQueryToMongoQuery = convertRequestQueryToMongoQuery;
10 changes: 4 additions & 6 deletions api/dicom-web/controller/UPS-RS/service/get-workItem.service.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const _ = require("lodash");
const { WorkItemModel } = require("@dbModels/workitems.model");
const {
convertRequestQueryToMongoQuery
QueryUpsDicomJsonFactory
} = require("../../QIDO-RS/service/query-dicom-json-factory");
const { convertAllQueryToDicomTag } = require("@root/api/dicom-web/service/base-query.service");

Expand All @@ -28,16 +27,15 @@ class GetWorkItemService {
}

async getUps() {
let mongoQuery = (await convertRequestQueryToMongoQuery(this.query)).$match;

let queryOptions = {
query: mongoQuery,
query: this.query,
skip: this.skip_,
limit: this.limit_,
requestParams: this.request.params
};
let queryFactory = new QueryUpsDicomJsonFactory(queryOptions);

let docs = await WorkItemModel.getDicomJson(queryOptions);
let docs = await queryFactory.getDicomJson();

return this.adjustDocs(docs);
}
Expand Down

0 comments on commit ee2ec31

Please sign in to comment.