Skip to content

Commit

Permalink
refactor: auditMessageModel to static getter
Browse files Browse the repository at this point in the history
  • Loading branch information
Chinlinlee committed Aug 29, 2023
1 parent b728881 commit de6c0ae
Show file tree
Hide file tree
Showing 10 changed files with 7 additions and 30 deletions.
3 changes: 0 additions & 3 deletions api/WADO-URI/service/WADO-URI.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ const Magick = require("../../../models/magick");
const { NotFoundInstanceError, InvalidFrameNumberError, InstanceGoneError } = require("../../../error/dicom-instance");
const dicomModel = require("../../../models/mongodb/models/dicom");
const { AuditManager } = require("@models/DICOM/audit/auditManager");
const auditMessageModel = require("@models/mongodb/models/auditMessage");
const { EventType } = require("@models/DICOM/audit/eventType");
const { EventOutcomeIndicator } = require("@models/DICOM/audit/auditUtils");
const { DicomWebService } = require("@root/api/dicom-web/service/dicom-web.service");
Expand Down Expand Up @@ -254,7 +253,6 @@ class WadoUriService {

async auditBeginTransferring() {
let auditManager = new AuditManager(
auditMessageModel,
EventType.RETRIEVE_BEGIN, EventOutcomeIndicator.Success,
DicomWebService.getRemoteAddress(this.request), DicomWebService.getRemoteHostname(this.request),
DicomWebService.getServerAddress(), DicomWebService.getServerHostname()
Expand All @@ -266,7 +264,6 @@ class WadoUriService {

async auditInstanceTransferred(eventResult = EventOutcomeIndicator.Success) {
let auditManager = new AuditManager(
auditMessageModel,
EventType.RETRIEVE_END, eventResult,
DicomWebService.getRemoteAddress(this.request), DicomWebService.getRemoteHostname(this.request),
DicomWebService.getServerAddress(), DicomWebService.getServerHostname()
Expand Down
3 changes: 0 additions & 3 deletions api/dicom-web/controller/QIDO-RS/service/QIDO-RS.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ const {
DicomWebStatusCodes
} = require("@error/dicom-web-service");
const { AuditManager } = require("@models/DICOM/audit/auditManager");
const auditMessageModel = require("@models/mongodb/models/auditMessage");
const { EventType } = require("@models/DICOM/audit/eventType");
const { EventOutcomeIndicator } = require("@models/DICOM/audit/auditUtils");

Expand Down Expand Up @@ -78,7 +77,6 @@ class QidoRsService {
async getAndResponseDicomJson() {
try {
let queryAudit = new AuditManager(
auditMessageModel,
EventType.QUERY,
EventOutcomeIndicator.Success,
DicomWebService.getRemoteAddress(this.request), DicomWebService.getRemoteHostname(this.request),
Expand Down Expand Up @@ -123,7 +121,6 @@ class QidoRsService {

async auditInstancesAccessed(dicomJson) {
let queryAccessedAudit = new AuditManager(
auditMessageModel,
EventType.QUERY_ACCESSED_INSTANCE,
EventOutcomeIndicator.Success,
DicomWebService.getRemoteAddress(this.request), DicomWebService.getRemoteHostname(this.request),
Expand Down
4 changes: 0 additions & 4 deletions api/dicom-web/controller/STOW-RS/service/stow-rs.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ const { logger } = require("../../../../../utils/logs/log");
const { raccoonConfig } = require("../../../../../config-class");
const { DicomWebService } = require("../../../service/dicom-web.service");
const { AuditManager } = require("@models/DICOM/audit/auditManager");
const auditMessageModel = require("@models/mongodb/models/auditMessage");
const { EventType } = require("@models/DICOM/audit/eventType");
const { EventOutcomeIndicator } = require("@models/DICOM/audit/auditUtils");

Expand Down Expand Up @@ -94,7 +93,6 @@ class StowRsService {
} catch(e) {
// log transferred failure
let auditManager = new AuditManager(
auditMessageModel,
EventType.STORE_CREATE, EventOutcomeIndicator.MajorFailure,
DicomWebService.getRemoteAddress(this.request), DicomWebService.getRemoteHostname(this.request),
DicomWebService.getServerAddress(), DicomWebService.getServerHostname()
Expand Down Expand Up @@ -139,13 +137,11 @@ class StowRsService {
dicomJsonModel.setUidObj();

let beginAudit = new AuditManager(
auditMessageModel,
EventType.STORE_BEGIN, EventOutcomeIndicator.Success,
DicomWebService.getRemoteAddress(this.request), DicomWebService.getRemoteHostname(this.request),
DicomWebService.getServerAddress(), DicomWebService.getServerHostname()
);
let transferredAudit = new AuditManager(
auditMessageModel,
EventType.STORE_CREATE, EventOutcomeIndicator.Success,
DicomWebService.getRemoteAddress(this.request), DicomWebService.getRemoteHostname(this.request),
DicomWebService.getServerAddress(), DicomWebService.getServerHostname()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ const _ = require("lodash");

const { AuditManager } = require("@models/DICOM/audit/auditManager");
const { EventType } = require("@models/DICOM/audit/eventType");
const auditMessageModel = require("@models/mongodb/models/auditMessage");
const { DicomWebService } = require("@root/api/dicom-web/service/dicom-web.service");

class RetrieveAuditService {
Expand All @@ -14,7 +13,6 @@ class RetrieveAuditService {

async onBeginRetrieve() {
let auditManager = new AuditManager(
auditMessageModel,
EventType.RETRIEVE_BEGIN,
this.eventResult,
DicomWebService.getRemoteAddress(this.request), DicomWebService.getRemoteHostname(this.request),
Expand All @@ -26,7 +24,6 @@ class RetrieveAuditService {

async completedRetrieve() {
let auditManager = new AuditManager(
auditMessageModel,
EventType.RETRIEVE_END,
this.eventResult,
DicomWebService.getRemoteAddress(this.request), DicomWebService.getRemoteHostname(this.request),
Expand Down
2 changes: 0 additions & 2 deletions dimse/instanceQueryTask.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ const { createInstanceQueryTaskInjectProxy } = require("@java-wrapper/org/github
const { Tag } = require("@dcm4che/data/Tag");
const { logger } = require("@root/utils/logs/log");
const { AuditManager } = require("@models/DICOM/audit/auditManager");
const auditMessageModel = require("@models/mongodb/models/auditMessage");
const { EventType } = require("@models/DICOM/audit/eventType");
const { EventOutcomeIndicator } = require("@models/DICOM/audit/auditUtils");
const { UID } = require("@dcm4che/data/UID");
Expand Down Expand Up @@ -116,7 +115,6 @@ class JsInstanceQueryTask extends JsSeriesQueryTask {

async getNextInstanceCursor() {
let queryAudit = new AuditManager(
auditMessageModel,
EventType.QUERY, EventOutcomeIndicator.Success,
await this.as.getRemoteAET(), await this.as.getRemoteHostName(),
await this.as.getLocalAET(), await this.as.getLocalHostName()
Expand Down
2 changes: 0 additions & 2 deletions dimse/patientQueryTask.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ const { Association } = require("@dcm4che/net/Association");
const { PresentationContext } = require("@dcm4che/net/pdu/PresentationContext");
const { logger } = require("@root/utils/logs/log");
const { AuditManager } = require("@models/DICOM/audit/auditManager");
const auditMessageModel = require("@models/mongodb/models/auditMessage");
const { EventType } = require("@models/DICOM/audit/eventType");
const { EventOutcomeIndicator } = require("@models/DICOM/audit/auditUtils");
const { UID } = require("@dcm4che/data/UID");
Expand Down Expand Up @@ -146,7 +145,6 @@ class JsPatientQueryTask {

async initCursor() {
let queryAudit = new AuditManager(
auditMessageModel,
EventType.QUERY,
EventOutcomeIndicator.Success,
await this.as.getRemoteAET(), await this.as.getRemoteHostName(),
Expand Down
2 changes: 0 additions & 2 deletions dimse/seriesQueryTask.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ const { createSeriesQueryTaskInjectProxy } = require("@java-wrapper/org/github/c
const { Tag } = require("@dcm4che/data/Tag");
const { logger } = require("@root/utils/logs/log");
const { AuditManager } = require("@models/DICOM/audit/auditManager");
const auditMessageModel = require("@models/mongodb/models/auditMessage");
const { EventType } = require("@models/DICOM/audit/eventType");
const { EventOutcomeIndicator } = require("@models/DICOM/audit/auditUtils");
const { UID } = require("@dcm4che/data/UID");
Expand Down Expand Up @@ -114,7 +113,6 @@ class JsSeriesQueryTask extends JsStudyQueryTask {

async getNextSeriesCursor() {
let queryAudit = new AuditManager(
auditMessageModel,
EventType.QUERY, EventOutcomeIndicator.Success,
await this.as.getRemoteAET(), await this.as.getRemoteHostName(),
await this.as.getLocalAET(), await this.as.getLocalHostName()
Expand Down
3 changes: 0 additions & 3 deletions dimse/service/retrieveAudit.service.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const { Association } = require("@dcm4che/net/Association");
const { AuditManager } = require("@models/DICOM/audit/auditManager");
const { EventType } = require("@models/DICOM/audit/eventType");
const auditMessageModel = require("@models/mongodb/models/auditMessage");

class DimseRetrieveAuditService {
constructor(association, studyUID, eventResult) {
Expand All @@ -13,7 +12,6 @@ class DimseRetrieveAuditService {

async onBeginRetrieve() {
let auditManager = new AuditManager(
auditMessageModel,
EventType.RETRIEVE_BEGIN,
this.eventResult,
await this.association.getRemoteAET(), await this.association.getRemoteHostName(),
Expand All @@ -25,7 +23,6 @@ class DimseRetrieveAuditService {

async completedRetrieve() {
let auditManager = new AuditManager(
auditMessageModel,
EventType.RETRIEVE_END,
this.eventResult,
await this.association.getRemoteAET(), await this.association.getRemoteHostName(),
Expand Down
3 changes: 0 additions & 3 deletions dimse/studyQueryTask.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ const dicomStudyModel = require("@models/mongodb/models/dicomStudy");
const { Attributes } = require("@dcm4che/data/Attributes");
const { logger } = require("@root/utils/logs/log");
const { AuditManager } = require("@models/DICOM/audit/auditManager");
const auditMessageModel = require("@models/mongodb/models/auditMessage");
const { EventType } = require("@models/DICOM/audit/eventType");
const { EventOutcomeIndicator } = require("@models/DICOM/audit/auditUtils");
const { UID } = require("@dcm4che/data/UID");
Expand Down Expand Up @@ -112,7 +111,6 @@ class JsStudyQueryTask extends JsPatientQueryTask {

async getNextStudyCursor() {
let queryAudit = new AuditManager(
auditMessageModel,
EventType.QUERY, EventOutcomeIndicator.Success,
await this.as.getRemoteAET(), await this.as.getRemoteHostName(),
await this.as.getLocalAET(), await this.as.getLocalHostName()
Expand Down Expand Up @@ -144,7 +142,6 @@ class JsStudyQueryTask extends JsPatientQueryTask {
return;

let auditManager = new AuditManager(
auditMessageModel,
EventType.QUERY_ACCESSED_INSTANCE, EventOutcomeIndicator.Success,
await this.as.getRemoteAET(), await this.as.getRemoteHostName(),
await this.as.getLocalAET(), await this.as.getLocalHostName()
Expand Down
12 changes: 7 additions & 5 deletions models/DICOM/audit/auditManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,10 @@ const { EventType } = require("./eventType");
*/

class AuditManager {
constructor(auditMessageModel,
eventType, eventResult,
constructor(eventType, eventResult,
clientAETitle, clientHostname,
serverAETitle, serverHostname
) {
/** @type { AuditMessageModel } */
this.auditMessageModel = auditMessageModel;
/** @type { EventType } */
this.eventType = eventType;

Expand Down Expand Up @@ -155,11 +152,16 @@ class AuditManager {
*/
async saveToDb_(msg) {
try {
await this.auditMessageModel.createMessage(msg);
await AuditManager.getAuditMessageModel().createMessage(msg);
} catch (e) {
throw e;
}
}

static getAuditMessageModel() {
const mongoose = require("mongoose");
return mongoose.model("auditMessage");
}
}

module.exports.AuditManager = AuditManager;

0 comments on commit de6c0ae

Please sign in to comment.