123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- // Code that is shared between client and server, i.e. sent to both.
- // main.js is loaded last:
- // http://docs.meteor.com/#/full/structuringyourapp
- // Methods that provide write access to the data.
- Meteor.methods({
- addComment: function (comment) {
- Meteor._debug("addComment method running", comment);
- // We are connected.
- if (this.userId) {
- //comment.createdOn = new Date();
- comment.owner = this.userId;
- const cid = Comments.insert(comment);
- Meteor._debug("Comment id after insert", cid);
- return cid;
- }
- return null;
- },
- addDoc: function () {
- Meteor._debug("addDoc, this", this);
- // Not logged-in.
- if (!this.userId) {
- return;
- }
- else {
- let doc = {
- owner: this.userId,
- createdOn: new Date(),
- title: "my new doc"
- };
- const docid = Documents.insert(doc);
- return docid;
- }
- },
- // Changing doc privacy settings.
- updateDocPrivacy: function (doc) {
- Meteor._debug("updatedocPrivacy", this.userId, doc)
- if (!this.userId) {
- return;
- }
- let res = Documents.update({ _id: doc._id, owner: this.userId }, { $set: { isPrivate: doc.isPrivate } });
- Meteor._debug("update", res);
- },
- // Adding editors to a document.
- addEditingUser: function (docid) {
- let doc = Documents.findOne({ _id: docid });
- if (!doc) {
- // No doc: give up.
- return;
- }
- if (!this.userId) {
- // No logged-in user: give up.
- return;
- }
- // Now I have a doc and possibly a user.
- let user = Meteor.user().profile;
- let eUsers = EditingUsers.findOne({ docId: doc._id });
- // No editing users have been stored yet.
- if (!eUsers) {
- eUsers = {
- docId: doc._id,
- users: {}
- };
- }
- user.lastEdit = new Date();
- eUsers.users[this.userId] = user;
- // Upsert: insert or update if filter matches.
- EditingUsers.upsert({ _id: eUsers._id }, eUsers);
- }
- });
|