1
0
Fork 0
mirror of https://github.com/vale981/Vulcan synced 2025-03-12 21:36:38 -04:00
Vulcan/packages/nova-settings/lib/methods.js
Comus Leong 464e20a96c eslint & clean up code, also fixed some bugs ()
* [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
2016-11-25 13:46:55 -05:00

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});
}
}
})