Skip to content

Commit

Permalink
refactor: centralize retrieve metadata controller
Browse files Browse the repository at this point in the history
- Using inherit class may be redundant
- Set `imagePathFactory`, `logger` in request object and use them in after process
  • Loading branch information
Chinlinlee committed Jan 13, 2024
1 parent a8a2541 commit 73004a7
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 83 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,10 @@ const { ApiErrorArrayHandler } = require("@error/api-errors.handler");
class BaseRetrieveMetadataController extends Controller {
constructor(req, res) {
super(req, res);
this.apiLogger = new ApiLogger(this.request, "WADO-RS");
this.apiLogger.addTokenValue();
this.imagePathFactory = StudyImagePathFactory;
}

logAction() {
throw new Error("Abstract method, not implement");
}

async mainProcess() {
this.logAction();
let metadataService = new MetadataService(this.request, this.imagePathFactory);
let metadataService = new MetadataService(this.request, this.request.imagePathFactory);

try {
let responseMetadata = await metadataService.getMetadata(this.request.params);
Expand All @@ -33,7 +25,7 @@ class BaseRetrieveMetadataController extends Controller {
return this.response.end();

} catch (e) {
let apiErrorArrayHandler = new ApiErrorArrayHandler(this.response, this.apiLogger, e);
let apiErrorArrayHandler = new ApiErrorArrayHandler(this.response, this.request.logger, e);
return apiErrorArrayHandler.doErrorResponse();
}
}
Expand Down

This file was deleted.

24 changes: 0 additions & 24 deletions api/dicom-web/controller/WADO-RS/metadata/retrieveStudyMetadata.js

This file was deleted.

37 changes: 34 additions & 3 deletions api/dicom-web/wado-rs-metadata.route.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ const Joi = require("joi");
const { validateParams, intArrayJoi } = require("../validator");
const router = express();

const { BaseRetrieveMetadataController } = require("./controller/WADO-RS/metadata/retrieveMetadata.controller");
const { ApiLogger } = require("@root/utils/logs/api-logger");
const { StudyImagePathFactory, SeriesImagePathFactory, InstanceImagePathFactory } = require("./controller/WADO-RS/service/WADO-RS.service");
const RetrieveMetadataController = async (req, res) => {
let controller = new BaseRetrieveMetadataController(req, res);
await controller.doPipeline();
};

//#region WADO-RS Retrieve Transaction Metadata Resources

Expand All @@ -22,7 +29,15 @@ const router = express();
*/
router.get(
"/studies/:studyUID/metadata",
require("./controller/WADO-RS/metadata/retrieveStudyMetadata")
(req, res, next) => {
req.logger = new ApiLogger(req, "WADO-RS");
req.logger.addTokenValue();
req.logger.logger.info();
req.logger.logger.info(`Get study's metadata, study UID: ${req.params.studyUID}`);
req.imagePathFactory = StudyImagePathFactory;
next();
},
RetrieveMetadataController
);

/**
Expand All @@ -42,7 +57,15 @@ router.get(
*/
router.get(
"/studies/:studyUID/series/:seriesUID/metadata",
require("./controller/WADO-RS/metadata/retrieveSeriesMetadata")
(req, res, next) => {
req.logger = new ApiLogger(req, "WADO-RS");
req.logger.addTokenValue();
req.logger.logger.info();
req.logger.logger.info(`Get study's series's metadata, study UID: ${req.params.studyUID}, series UID: ${req.params.seriesUID}`);
req.imagePathFactory = SeriesImagePathFactory;
next();
},
RetrieveMetadataController
);

/**
Expand All @@ -63,7 +86,15 @@ router.get(
*/
router.get(
"/studies/:studyUID/series/:seriesUID/instances/:instanceUID/metadata",
require("./controller/WADO-RS/metadata/retrieveInstanceMetadata")
(req, res, next) => {
req.logger = new ApiLogger(req, "WADO-RS");
req.logger.addTokenValue();
req.logger.logger.info(`Get instance's metadata, study UID: ${req.params.studyUID}, series UID: ${req.params.seriesUID},`+
` instance UID: ${req.params.instanceUID}`);
req.imagePathFactory = InstanceImagePathFactory;
next();
},
RetrieveMetadataController
);

//#endregion
Expand Down

0 comments on commit 73004a7

Please sign in to comment.