Refactoring servers configuration structure
This commit is contained in:
1 parent
624d2aeaf5
commit
b33ce54188
20 files changed
+173
-118
No files matched your search
@@ -1,3 +1,4 @@
|
||||
Servers = new Mongo.Collection('servers');
|
||||
Timepoints = new Meteor.Collection('timepoints');
|
||||
Studies = new Meteor.Collection('studies');
|
||||
Measurements = new Meteor.Collection('measurements');
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
Meteor.subscribe('reviewers');
|
||||
Meteor.subscribe('servers');
|
||||
+3
-3
@@ -6,12 +6,12 @@ function parseUrl(url) {
|
||||
|
||||
Template.serverInformationModal.helpers({
|
||||
serverInformation: function() {
|
||||
// TODO: change for Collections
|
||||
var defaultServiceType = Meteor.settings && Meteor.settings.defaultServiceType || 'dicomWeb';
|
||||
var serviceInfo = Meteor.settings[defaultServiceType];
|
||||
var serviceInfo = Meteor.settings.servers[defaultServiceType];
|
||||
if (defaultServiceType === 'dicomWeb') {
|
||||
var serverInformationDicom = [];
|
||||
var endpoints = serviceInfo['endpoints'];
|
||||
endpoints.forEach(function(endpoint) {
|
||||
serviceInfo.forEach(function(endpoint) {
|
||||
var parsedUrl = parseUrl(endpoint.qidoRoot);
|
||||
serverInformationDicom.push({
|
||||
host: parsedUrl.hostname,
|
||||
|
||||
@@ -200,6 +200,7 @@ Package.onUse(function(api) {
|
||||
api.addFiles('server/collections.js', 'server');
|
||||
api.addFiles('server/removeCollections.js', [ 'server' ]);
|
||||
api.addFiles('server/reviewers.js', [ 'server' ]);
|
||||
api.addFiles('server/servers.js', 'server');
|
||||
|
||||
// Both client and server functions
|
||||
api.addFiles('both/collections.js', [ 'client', 'server' ]);
|
||||
@@ -274,7 +275,11 @@ Package.onUse(function(api) {
|
||||
api.export('TrialCriteriaTypes', 'client');
|
||||
|
||||
// Export collections spanning both client and server
|
||||
<<<<<<< 624d2aeaf5db4d1ac2b6ade6411fa55f4788ceac
|
||||
api.export('AdditionalFindings', [ 'client', 'server' ]);
|
||||
=======
|
||||
api.export('Servers', [ 'client', 'server' ]);
|
||||
>>>>>>> Refactoring servers configuration structure
|
||||
api.export('ImageMeasurements', [ 'client', 'server' ]);
|
||||
api.export('Measurements', [ 'client', 'server' ]);
|
||||
api.export('Studies', [ 'client', 'server' ]);
|
||||
|
||||
@@ -46,12 +46,15 @@ Meteor.publish('reviewers', function() {
|
||||
return Reviewers.find();
|
||||
});
|
||||
|
||||
Meteor.publish('servers', function() {
|
||||
return Servers.find();
|
||||
});
|
||||
|
||||
// Temporary fix to drop all Collections on server restart
|
||||
// http://stackoverflow.com/questions/23891631/meteor-how-can-i-drop-all-mongo-collections-and-clear-all-data-on-startup
|
||||
Meteor.startup(function() {
|
||||
var globalObject = Meteor.isClient ? window : global;
|
||||
for (var property in globalObject) {
|
||||
var object = globalObject[property];
|
||||
for (var property in global) {
|
||||
var object = global[property];
|
||||
if (object instanceof Meteor.Collection) {
|
||||
object.remove({});
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
Meteor.startup(function() {
|
||||
|
||||
_.each(Meteor.settings.servers, function(endpoints, serverType) {
|
||||
_.each(endpoints, function(endpoint) {
|
||||
var server = _.clone(endpoint);
|
||||
server.origin = "json";
|
||||
server.type = serverType;
|
||||
Servers.insert(server);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Meteor.methods({
|
||||
addServer: function(serverSettings) {
|
||||
console.log("CHECKING PERMISSIONS");
|
||||
if (!Meteor.userId()) {
|
||||
throw new Meteor.Error('not-authorized');
|
||||
}
|
||||
console.log("WRITTING ON COLLECTION");
|
||||
Servers.update(
|
||||
{ type: serverSettings.type, name: serverSettings.name },
|
||||
serverSettings,
|
||||
{ upsert: true },
|
||||
function(error, affected) {
|
||||
console.log("CHECKING FOR ERRORS");
|
||||
if(error) throw new Meteor.Error('data-write', error);
|
||||
console.log("NO ERRORS, " + affected + " DOCUMENTS AFFECTED");
|
||||
console.log(Servers.findOne());
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
});
|
||||
Reference in new issue
Block a user