mirror of
https://github.com/vale981/Vulcan
synced 2025-03-12 21:36:38 -04:00

* [eslint] update eslint rules & add .eslintignore to ignore non-ready nova packages * [clean-up] nova-voting * [clean-up] [bug] nova-users: missing user parameter * [clean-up] nova-users * [clean-up] nova-subscribe * [clean-up] nova-settings * [clean-up] nova-rss * [clean-up] [bug] nova-posts: correct UsersRemoveDeletePosts * [clean-up] nova-posts * [clean-up] nova-notifications * [clean-up] [bug] nova-newsletter: no error.message on throw error * [clean-up] nova-newsletter * [clean-up] nova-lib * [clean-up] nova-kadira * [clean-up] nova-inject-data * [clean-up] nova-getting-started * [clean-up] nova-forms * [clean-up] nova-events * [clean-up] [bug] nova-embedly: no FlowRouter * [clean-up] nova-embedly * [clean-up] nova-email-templates * [clean-up] nova-email * [clean-up] nova-debug * [clean-up] nova-core * [clean-up] [bug] nova-comments: correct UsersRemoveDeleteComments * [clean-up] nova-comments * [clean-up] [bug] nova-cloudinary: use Telescope.settings.collection instand * [clean-up] nova-cloudinary * [clean-up] nova-categories * [clean-up] nova-base-components * [clean-up] nova-api * [eslint] extends react recommended * [clean-up] for jsx files * [eslint] extends meteor recommended * i forgot this one little change
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
import Telescope from 'meteor/nova:lib';
|
|
import Users from 'meteor/nova:users';
|
|
|
|
Telescope.settings.collection.smartMethods({
|
|
editName: "settings.edit"
|
|
});
|
|
|
|
Meteor.methods({
|
|
"settings.getJSON": function () {
|
|
if (Users.isAdminById(this.userId)) {
|
|
return Meteor.settings;
|
|
} else {
|
|
return {};
|
|
}
|
|
},
|
|
"settings.exportToJSON": function () {
|
|
if (Users.isAdminById(this.userId)) {
|
|
let settings = Telescope.settings.collection.findOne();
|
|
// const schema = Telescope.settings.collection.simpleSchema()._schema;
|
|
const publicFields = Telescope.settings.collection.getPublicFields();
|
|
delete settings._id;
|
|
settings.public = {};
|
|
_.forEach(settings, (field, key) => {
|
|
if (_.contains(publicFields, key)) {
|
|
settings.public[key] = field;
|
|
delete settings[key];
|
|
}
|
|
});
|
|
console.log(JSON.stringify(settings, null, 2)); // eslint-disable-line
|
|
return settings;
|
|
}
|
|
},
|
|
"settings.clear": function () {
|
|
if (Users.isAdminById(this.userId)) {
|
|
const settings = Telescope.settings.collection.findOne();
|
|
Telescope.settings.collection.update(settings._id, {}, {validate: false});
|
|
}
|
|
}
|
|
})
|