12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- Tasks = new Mongo.Collection('tasks');
- if (Meteor.isClient) {
-
- Accounts.ui.config({
- passwordSignupFields: "USERNAME_ONLY"
- });
- Meteor.subscribe("tasks");
- Meteor.startup(function () {
-
- ReactDOM.render(<App />, document.getElementById('render-target'));
- });
- }
- if (Meteor.isServer) {
- Meteor.publish("tasks", function () {
- return Tasks.find();
- });
- }
- Meteor.methods({
- addTask(text) {
-
- if (!Meteor.userId()) {
- throw new Meteor.error("not-authorized");
- }
- Tasks.insert({
- text: text,
- createdAt: new Date(),
- owner: Meteor.userId(),
- username: Meteor.user().username
- });
- },
- removeTask(taskId) {
-
- Meteor._debug("removing", taskId);
- Tasks.remove(taskId);
- },
- setChecked(taskId, setChecked) {
-
- Meteor._debug("setCheck", taskId, setChecked);
- Tasks.update(taskId, { $set: { checked: setChecked }});
- },
- setPrivate(taskId, setToPrivate) {
- const task = Tasks.findOne(taskId);
-
- if (task.owner !== Meteor.userId()) {
- throw new Meteor.Error("not-authorized");
- }
- Tasks.update(taskId, { $set: { private: setToPrivate }});
- }
- });
|