From ceeb7b05747a8fc55e4dfbcd29c0bc361a5d49d3 Mon Sep 17 00:00:00 2001 From: chinlinlee Date: Sat, 11 Nov 2023 00:03:04 +0800 Subject: [PATCH] refactor: require `InstanceModel` instead of `dicomModel` --- api/WADO-URI/service/WADO-URI.service.js | 4 ++-- .../controller/QIDO-RS/service/query-dicom-json-factory.js | 4 ++-- api/dicom-web/controller/WADO-RS/bulkdata/instance.js | 6 +++--- api/dicom-web/controller/WADO-RS/deletion/service/delete.js | 4 ++-- api/dicom-web/controller/WADO-RS/service/WADOZip.js | 5 ++--- .../controller/WADO-RS/service/thumbnail.service.js | 6 +++--- dimse/instanceQueryTask.js | 4 ++-- models/mongodb/models/dicom.js | 1 + 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/api/WADO-URI/service/WADO-URI.service.js b/api/WADO-URI/service/WADO-URI.service.js index 05f83b2e..4a36c4f1 100644 --- a/api/WADO-URI/service/WADO-URI.service.js +++ b/api/WADO-URI/service/WADO-URI.service.js @@ -7,7 +7,7 @@ const { Dcm2JpgExecutor$Dcm2JpgOptions } = require("../../../models/DICOM/dcm4ch const sharp = require('sharp'); const Magick = require("../../../models/magick"); const { NotFoundInstanceError, InvalidFrameNumberError, InstanceGoneError } = require("../../../error/dicom-instance"); -const dicomModel = require("../../../models/mongodb/models/dicom"); +const { InstanceModel } = require("@dbModels/dicom"); const { AuditManager } = require("@models/DICOM/audit/auditManager"); const { EventType } = require("@models/DICOM/audit/eventType"); const { EventOutcomeIndicator } = require("@models/DICOM/audit/auditUtils"); @@ -127,7 +127,7 @@ class WadoUriService { objectUID: instanceUID } = this.request.query; - let imagePathObj = await dicomModel.getPathOfInstance({ + let imagePathObj = await InstanceModel.getPathOfInstance({ studyUID, seriesUID, instanceUID diff --git a/api/dicom-web/controller/QIDO-RS/service/query-dicom-json-factory.js b/api/dicom-web/controller/QIDO-RS/service/query-dicom-json-factory.js index b58a11e9..de8259ea 100644 --- a/api/dicom-web/controller/QIDO-RS/service/query-dicom-json-factory.js +++ b/api/dicom-web/controller/QIDO-RS/service/query-dicom-json-factory.js @@ -2,7 +2,7 @@ const _ = require("lodash"); const { PatientModel } = require("@dbModels/patient"); const { StudyModel } = require("@dbModels/dicomStudy"); const { SeriesModel } = require("@dbModels/dicomSeries"); -const dicomModel = require("@models/mongodb/models/dicom"); +const { InstanceModel } = require("@dbModels/dicom"); const { dictionary } = require("@models/DICOM/dicom-tags-dic"); const { mongoDateQuery, timeQuery } = require("@models/mongodb/service"); @@ -200,7 +200,7 @@ class QuerySeriesDicomJsonFactory extends QueryDicomJsonFactory { class QueryInstanceDicomJsonFactory extends QueryDicomJsonFactory { constructor(queryOptions) { super(queryOptions); - this.model = dicomModel; + this.model = InstanceModel; } } diff --git a/api/dicom-web/controller/WADO-RS/bulkdata/instance.js b/api/dicom-web/controller/WADO-RS/bulkdata/instance.js index dc51e844..5347aafe 100644 --- a/api/dicom-web/controller/WADO-RS/bulkdata/instance.js +++ b/api/dicom-web/controller/WADO-RS/bulkdata/instance.js @@ -1,7 +1,7 @@ const { ApiLogger } = require("../../../../../utils/logs/api-logger"); const { BulkDataService, InstanceBulkDataFactory } = require("./service/bulkdata"); const { getInternalServerErrorMessage } = require("../../../../../utils/errorResponse/errorResponseMessage"); -const dicomModel = require("../../../../../models/mongodb/models/dicom"); +const { InstanceModel } = require("@dbModels/dicom"); const { BaseBulkDataController } = require("./base.controller"); const { InstanceImagePathFactory } = require("../service/WADO-RS.service"); @@ -11,7 +11,7 @@ class InstanceBulkDataController extends BaseBulkDataController { this.bulkDataFactoryType = InstanceBulkDataFactory; this.imagePathFactoryType = InstanceImagePathFactory; } - + logAction() { this.apiLogger.logger.info(`Get bulk data from StudyInstanceUID: ${this.request.params.studyUID}\ , SeriesInstanceUID: ${this.request.params.seriesUID}\ @@ -27,7 +27,7 @@ class InstanceBulkDataController extends BaseBulkDataController { * @param {import("express").Response} * @returns */ -module.exports = async function(req, res) { +module.exports = async function (req, res) { let instanceBulkDataController = new InstanceBulkDataController(req, res); await instanceBulkDataController.doPipeline(); diff --git a/api/dicom-web/controller/WADO-RS/deletion/service/delete.js b/api/dicom-web/controller/WADO-RS/deletion/service/delete.js index e74580ca..3cf5e1c7 100644 --- a/api/dicom-web/controller/WADO-RS/deletion/service/delete.js +++ b/api/dicom-web/controller/WADO-RS/deletion/service/delete.js @@ -1,7 +1,7 @@ const _ = require("lodash"); const { StudyModel } = require("@dbModels/dicomStudy"); const { SeriesModel } = require("@dbModels/dicomSeries"); -const dicomModel = require("../../../../../../models/mongodb/models/dicom"); +const { InstanceModel } = require("@dbModels/dicom"); const fsP = require("fs/promises"); const { NotFoundInstanceError } = require("../../../../../../error/dicom-instance"); @@ -64,7 +64,7 @@ class DeleteService { async deleteInstance() { - let instance = await dicomModel.findOne({ + let instance = await InstanceModel.findOne({ ...this.request.params }); diff --git a/api/dicom-web/controller/WADO-RS/service/WADOZip.js b/api/dicom-web/controller/WADO-RS/service/WADOZip.js index 9e887efa..6a64719b 100644 --- a/api/dicom-web/controller/WADO-RS/service/WADOZip.js +++ b/api/dicom-web/controller/WADO-RS/service/WADOZip.js @@ -2,8 +2,7 @@ const mongoose = require("mongoose"); const archiver = require("archiver"); const wadoService = require("./WADO-RS.service"); const path = require("path"); -const dicomModel = require("../../../../../models/mongodb/models/dicom"); - +const { InstanceModel } = require("@dbModels/dicom"); class WADOZip { constructor(iReq, iRes) { this.requestParams = iReq.params; @@ -58,7 +57,7 @@ class WADOZip { } async getZipOfInstanceDICOMFile() { - let imagePath = await dicomModel.getPathOfInstance(this.requestParams); + let imagePath = await InstanceModel.getPathOfInstance(this.requestParams); if (imagePath) { this.setHeaders(this.instanceUID); diff --git a/api/dicom-web/controller/WADO-RS/service/thumbnail.service.js b/api/dicom-web/controller/WADO-RS/service/thumbnail.service.js index 7880acb8..aab7c75e 100644 --- a/api/dicom-web/controller/WADO-RS/service/thumbnail.service.js +++ b/api/dicom-web/controller/WADO-RS/service/thumbnail.service.js @@ -1,4 +1,4 @@ -const dicomModel = require("../../../../../models/mongodb/models/dicom"); +const { InstanceModel } = require("@dbModels/dicom"); const errorResponse = require("../../../../../utils/errorResponse/errorResponseMessage"); const renderedService = require("../service/rendered.service"); const _ = require("lodash"); @@ -94,7 +94,7 @@ class StudyThumbnailFactory extends ThumbnailFactory { * @param {import("../../../../../utils/typeDef/dicom").Uids} uids */ async getThumbnailInstance() { - let medianInstance = await dicomModel.getInstanceOfMedianIndex({ + let medianInstance = await InstanceModel.getInstanceOfMedianIndex({ studyUID: this.uids.studyUID }); if (!medianInstance) return undefined; @@ -120,7 +120,7 @@ class SeriesThumbnailFactory extends ThumbnailFactory { * @param {import("../../../../../utils/typeDef/dicom").Uids} uids */ async getThumbnailInstance() { - let medianInstance = await dicomModel.getInstanceOfMedianIndex({ + let medianInstance = await InstanceModel.getInstanceOfMedianIndex({ studyUID: this.uids.studyUID, seriesUID: this.uids.seriesUID }); diff --git a/dimse/instanceQueryTask.js b/dimse/instanceQueryTask.js index 13cda2bd..c636857c 100644 --- a/dimse/instanceQueryTask.js +++ b/dimse/instanceQueryTask.js @@ -3,7 +3,7 @@ const _ = require("lodash"); const { createQueryTaskInjectProxy } = require("@java-wrapper/org/github/chinlinlee/dcm777/net/QueryTaskInject"); const { DimseQueryBuilder } = require("./queryBuilder"); const { JsSeriesQueryTask } = require("./seriesQueryTask"); -const dicomModel = require("@models/mongodb/models/dicom"); +const { InstanceModel } = require("@dbModels/dicom"); const { InstanceQueryTask } = require("@java-wrapper/org/github/chinlinlee/dcm777/net/InstanceQueryTask"); const { Attributes } = require("@dcm4che/data/Attributes"); const { createInstanceQueryTaskInjectProxy } = require("@java-wrapper/org/github/chinlinlee/dcm777/net/InstanceQueryTaskInject"); @@ -136,7 +136,7 @@ class JsInstanceQueryTask extends JsSeriesQueryTask { let returnKeys = this.getReturnKeys(normalQuery); logger.info(`do DIMSE Instance query: ${JSON.stringify(mongoQuery.$match)}`); - this.instanceCursor = await dicomModel.getDimseResultCursor({ + this.instanceCursor = await InstanceModel.getDimseResultCursor({ ...mongoQuery.$match }, returnKeys); } diff --git a/models/mongodb/models/dicom.js b/models/mongodb/models/dicom.js index 8ed118c9..ce59ca29 100644 --- a/models/mongodb/models/dicom.js +++ b/models/mongodb/models/dicom.js @@ -474,5 +474,6 @@ async function updateStudyNumberOfStudyRelatedInstance(doc) { let dicomModel = mongoose.model("dicom", dicomModelSchema, "dicom"); module.exports = dicomModel; +module.exports.InstanceModel = dicomModel; module.exports.getModalitiesInStudy = getModalitiesInStudy;