ohif-viewer/Packages/ohif-core/server/user.js
2016-08-03 11:13:48 -03:00

55 lines
1.5 KiB
JavaScript

import { OHIF } from 'meteor/ohif:core';
import { Meteor } from 'meteor/meteor';
// Manipulate user's persistent data
class UserData {
// Get the persistent data by key
static get(key) {
// Check if there is an user logged in
OHIF.MongoUtils.validateUser();
// Get the user's profile data
const profileData = Meteor.user().profile;
// Return the data if it is set
if (profileData.persistent) {
return profileData.persistent[key];
}
}
// Store the persistent data by giving a key and a value to store
static set(key, value) {
// Check if there is an user logged in
OHIF.MongoUtils.validateUser();
// Build the query to update only the current user's data
var query = {
_id: Meteor.userId()
};
// Build the path to the persistent data with the given key
const persistentPath = `profile.persistent.${key}`;
// Build the data to be updated
var data = {
$set: {
[persistentPath]: value
}
};
// Update the user's profile data with the persistent information
Accounts.users.update(query, data, OHIF.MongoUtils.writeCallback);
}
}
// Register the methods
Meteor.methods({
userDataGet: key => UserData.get(key),
userDataSet: (key, value) => UserData.set(key, value)
});
// Expose the class in the OHIF object
OHIF.UserData = UserData;