Summary Table
| Categories |
Total Count |
| PII |
0 |
| URL |
0 |
| DNS |
0 |
| EKL |
0 |
| IP |
0 |
| PORT |
0 |
| VsID |
0 |
| CF |
0 |
| AI |
0 |
| VPD |
0 |
| PL |
0 |
| Other |
0 |
File Content
define(['angular', 'app'], function (angular, app) {
"use strict";
app.service('imageMediaRequestService', function ($http, $q, localResourceDirectoryService, imageResponseService) {
var currMediaRequest = {};
var currEvaluation = {};
var imageSectionsMap = {};
var imageTypesBySection = {};
return {
getMediaRequest: function () {
return currMediaRequest;
},
getImageTypesBySection: function () {
return imageTypesBySection;
},
getImageSectionsMap: function () {
return imageSectionsMap;
},
setQuestionnaireResponseId: function (responseId) {
currMediaRequest.questionnaireResponse = responseId;
},
setMediaRequest: function (mediaRequest) {
var deferred = $q.defer();
var that = this;
currMediaRequest = mediaRequest;
this.fetchImageSections().then(function () {
that.initImageTypesBySection();
imageResponseService.setImageTypesBySection(imageTypesBySection);
imageResponseService.setImageSectionsMap(imageSectionsMap);
imageResponseService.initEvaluation('MyTelederm', mediaRequest.id, mediaRequest.questionnaireResponse).then(
function () {
imageResponseService.initUploadedImagesBySection();
deferred.resolve();
}
);
});
return deferred.promise;
},
fetchImageSections: function () {
var deferred = $q.defer();
var that = this;
if (Object.keys(imageSectionsMap).length) {
deferred.resolve();
} else {
localResourceDirectoryService.fetch().then(function (resourceLinks) {
$http({
method: 'GET',
url: resourceLinks['image-sections']
}).success(function (sections) {
that.initImageSectionsMap(sections);
deferred.resolve();
}).error(function (error) {
deferred.reject(error);
});
});
}
return deferred.promise;
},
initImageSectionsMap: function (sections) {
sections = sections || [];
imageSectionsMap = {};
sections.forEach(function (section) {
var key = section.name.split('_')[0];
imageSectionsMap[key] = section;
});
},
initImageTypesBySection: function () {
var imageTypes = currMediaRequest.mediaTypes || [];
imageTypesBySection = {};
imageTypes.forEach(function (imageType) {
var imageTypeName = imageType.name || '';
var section = imageSectionsMap[imageTypeName.split('_')[0]] || {};
var sectionName = section.name;
if (sectionName) {
imageTypesBySection[sectionName] = imageTypesBySection[sectionName] || [];
imageTypesBySection[sectionName].push(imageType);
}
});
},
saveMediaRequest: function () {
var deferred = $q.defer();
localResourceDirectoryService.fetch().then(function (resourceLinks) {
var url = resourceLinks['update-request'];
url = url.replace('{MEDIA_REQUEST_ID}', currMediaRequest.id);
var updateObj = {
status: currMediaRequest.status,
questionnaireResponse : currMediaRequest.questionnaireResponse
};
$http({
method: 'PATCH',
url: url,
data: JSON.stringify(updateObj)
}).success(function () {
deferred.resolve();
}).error(function (error) {
deferred.reject(error);
});
});
return deferred.promise;
}
}
});
});