Преглед на файлове

ReactiveCache, id Methods can contain now selector to get the first object (findOne())

Martin Filser преди 2 години
родител
ревизия
3a7eece244
променени са 1 файла, в които са добавени 119 реда и са изтрити 119 реда
  1. 119 119
      imports/reactiveCache.js

+ 119 - 119
imports/reactiveCache.js

@@ -3,60 +3,60 @@ import { Jsons } from './jsons';
 
 
 // Server isn't reactive, so search for the data always.
 // Server isn't reactive, so search for the data always.
 ReactiveCacheServer = {
 ReactiveCacheServer = {
-  getBoard(id) {
-    const ret = Boards.findOne(id);
+  getBoard(idOrFirstObjectSelector) {
+    const ret = Boards.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getList(id) {
-    const ret = Lists.findOne(id);
+  getList(idOrFirstObjectSelector) {
+    const ret = Lists.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getSwimlane(id) {
-    const ret = Swimlanes.findOne(id);
+  getSwimlane(idOrFirstObjectSelector) {
+    const ret = Swimlanes.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getChecklist(id) {
-    const ret = Checklists.findOne(id);
+  getChecklist(idOrFirstObjectSelector) {
+    const ret = Checklists.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getChecklistItem(id) {
-    const ret = ChecklistItems.findOne(id);
+  getChecklistItem(idOrFirstObjectSelector) {
+    const ret = ChecklistItems.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getCard(id) {
-    const ret = Cards.findOne(id);
+  getCard(idOrFirstObjectSelector) {
+    const ret = Cards.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getCardComment(id) {
-    const ret = CardComments.findOne(id);
+  getCardComment(idOrFirstObjectSelector) {
+    const ret = CardComments.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getCustomField(id) {
-    const ret = CustomFields.findOne(id);
+  getCustomField(idOrFirstObjectSelector) {
+    const ret = CustomFields.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
   getCustomFields(selector) {
   getCustomFields(selector) {
     const ret = CustomFields.find(selector).fetch();
     const ret = CustomFields.find(selector).fetch();
     return ret;
     return ret;
   },
   },
-  getAttachment(id) {
-    const ret = Attachments.findOne(id);
+  getAttachment(idOrFirstObjectSelector) {
+    const ret = Attachments.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getUser(id) {
-    const ret = Users.findOne(id);
+  getUser(idOrFirstObjectSelector) {
+    const ret = Users.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getOrg(id) {
-    const ret = Org.findOne(id);
+  getOrg(idOrFirstObjectSelector) {
+    const ret = Org.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getTeam(id) {
-    const ret = Team.findOne(id);
+  getTeam(idOrFirstObjectSelector) {
+    const ret = Team.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
-  getActivity(id) {
-    const ret = Activities.findOne(id);
+  getActivity(idOrFirstObjectSelector) {
+    const ret = Activities.findOne(idOrFirstObjectSelector);
     return ret;
     return ret;
   },
   },
   getCurrentSetting() {
   getCurrentSetting() {
@@ -73,144 +73,144 @@ ReactiveCacheServer = {
 // saving the result has a big advantage if the query is big and often searched for the same data again and again
 // saving the result has a big advantage if the query is big and often searched for the same data again and again
 // if the data is changed in the client, the data is saved to the server and depending code is reactive called again
 // if the data is changed in the client, the data is saved to the server and depending code is reactive called again
 ReactiveCacheClient = {
 ReactiveCacheClient = {
-  getBoard(id) {
+  getBoard(idOrFirstObjectSelector) {
     if (!this.__board) {
     if (!this.__board) {
-      this.__board = new DataCache(boardId => {
-        const _ret = Boards.findOne(boardId);
+      this.__board = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Boards.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__board.get(id);
+    const ret = this.__board.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getList(id) {
+  getList(idOrFirstObjectSelector) {
     if (!this.__list) {
     if (!this.__list) {
-      this.__list = new DataCache(listId => {
-        const _ret = Lists.findOne(listId);
+      this.__list = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Lists.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__list.get(id);
+    const ret = this.__list.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getSwimlane(id) {
+  getSwimlane(idOrFirstObjectSelector) {
     if (!this.__swimlane) {
     if (!this.__swimlane) {
-      this.__swimlane = new DataCache(swimlaneId => {
-        const _ret = Swimlanes.findOne(swimlaneId);
+      this.__swimlane = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Swimlanes.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__swimlane.get(id);
+    const ret = this.__swimlane.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getChecklist(id) {
+  getChecklist(idOrFirstObjectSelector) {
     if (!this.__checklist) {
     if (!this.__checklist) {
-      this.__checklist = new DataCache(checklistId => {
-        const _ret = Checklists.findOne(checklistId);
+      this.__checklist = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Checklists.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__checklist.get(id);
+    const ret = this.__checklist.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getChecklistItem(id) {
+  getChecklistItem(idOrFirstObjectSelector) {
     if (!this.__checklistItem) {
     if (!this.__checklistItem) {
-      this.__checklistItem = new DataCache(_id => {
-        const _ret = ChecklistItems.findOne(_id);
+      this.__checklistItem = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = ChecklistItems.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__checklistItem.get(id);
+    const ret = this.__checklistItem.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getCard(id) {
+  getCard(idOrFirstObjectSelector) {
     if (!this.__card) {
     if (!this.__card) {
-      this.__card = new DataCache(cardId => {
-        const _ret = Cards.findOne(cardId);
+      this.__card = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Cards.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__card.get(id);
+    const ret = this.__card.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getCardComment(id) {
+  getCardComment(idOrFirstObjectSelector) {
     if (!this.__cardComment) {
     if (!this.__cardComment) {
-      this.__cardComment = new DataCache(_id => {
-        const _ret = CardComments.findOne(_id);
+      this.__cardComment = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = CardComments.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__cardComment.get(id);
+    const ret = this.__cardComment.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getCustomField(id) {
+  getCustomField(idOrFirstObjectSelector) {
     if (!this.__customField) {
     if (!this.__customField) {
-      this.__customField = new DataCache(customFieldId => {
-        const _ret = CustomFields.findOne(customFieldId);
+      this.__customField = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = CustomFields.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__customField.get(id);
+    const ret = this.__customField.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
   getCustomFields(selector) {
   getCustomFields(selector) {
     if (!this.__customFields) {
     if (!this.__customFields) {
-      this.__customFields = new DataCache(sel => {
-        const _ret = CustomFields.find(Jsons.parse(sel)).fetch();
+      this.__customFields = new DataCache(_selector => {
+        const _ret = CustomFields.find(Jsons.parse(_selector)).fetch();
         return _ret;
         return _ret;
       });
       });
     }
     }
     const ret = this.__customFields.get(Jsons.stringify(selector));
     const ret = this.__customFields.get(Jsons.stringify(selector));
     return ret;
     return ret;
   },
   },
-  getAttachment(id) {
+  getAttachment(idOrFirstObjectSelector) {
     if (!this.__attachment) {
     if (!this.__attachment) {
-      this.__attachment = new DataCache(_id => {
-        const _ret = Attachments.findOne(_id);
+      this.__attachment = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Attachments.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__attachment.get(id);
+    const ret = this.__attachment.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getUser(id) {
+  getUser(idOrFirstObjectSelector) {
     if (!this.__user) {
     if (!this.__user) {
-      this.__user = new DataCache(userId => {
-        const _ret = Users.findOne(userId);
+      this.__user = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Users.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__user.get(id);
+    const ret = this.__user.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getOrg(id) {
+  getOrg(idOrFirstObjectSelector) {
     if (!this.__org) {
     if (!this.__org) {
-      this.__org = new DataCache(_id => {
-        const _ret = Org.findOne(_id);
+      this.__org = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Org.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__org.get(id);
+    const ret = this.__org.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getTeam(id) {
+  getTeam(idOrFirstObjectSelector) {
     if (!this.__team) {
     if (!this.__team) {
-      this.__team = new DataCache(_id => {
-        const _ret = Team.findOne(_id);
+      this.__team = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Team.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__team.get(id);
+    const ret = this.__team.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
-  getActivity(id) {
+  getActivity(idOrFirstObjectSelector) {
     if (!this.__activity) {
     if (!this.__activity) {
-      this.__activity = new DataCache(_id => {
-        const _ret = Activities.findOne(_id);
+      this.__activity = new DataCache(_idOrFirstObjectSelector => {
+        const _ret = Activities.findOne(Jsons.parse(_idOrFirstObjectSelector));
         return _ret;
         return _ret;
       });
       });
     }
     }
-    const ret = this.__activity.get(id);
+    const ret = this.__activity.get(Jsons.stringify(idOrFirstObjectSelector));
     return ret;
     return ret;
   },
   },
   getCurrentSetting() {
   getCurrentSetting() {
@@ -242,75 +242,75 @@ ReactiveCacheClient = {
 // - The Programmer hasn't to care about in which context he call's this class
 // - The Programmer hasn't to care about in which context he call's this class
 // - having all queries together in 1 class to make it possible to see which queries in Wekan happens, e.g. with console.log
 // - having all queries together in 1 class to make it possible to see which queries in Wekan happens, e.g. with console.log
 ReactiveCache = {
 ReactiveCache = {
-  getBoard(id) {
+  getBoard(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getBoard(id);
+      ret = ReactiveCacheServer.getBoard(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getBoard(id);
+      ret = ReactiveCacheClient.getBoard(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getList(id) {
+  getList(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getList(id);
+      ret = ReactiveCacheServer.getList(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getList(id);
+      ret = ReactiveCacheClient.getList(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getSwimlane(id) {
+  getSwimlane(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getSwimlane(id);
+      ret = ReactiveCacheServer.getSwimlane(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getSwimlane(id);
+      ret = ReactiveCacheClient.getSwimlane(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getChecklist(id) {
+  getChecklist(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getChecklist(id);
+      ret = ReactiveCacheServer.getChecklist(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getChecklist(id);
+      ret = ReactiveCacheClient.getChecklist(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getChecklistItem(id) {
+  getChecklistItem(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getChecklistItem(id);
+      ret = ReactiveCacheServer.getChecklistItem(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getChecklistItem(id);
+      ret = ReactiveCacheClient.getChecklistItem(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getCard(id) {
+  getCard(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getCard(id);
+      ret = ReactiveCacheServer.getCard(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getCard(id);
+      ret = ReactiveCacheClient.getCard(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getCardComment(id) {
+  getCardComment(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getCardComment(id);
+      ret = ReactiveCacheServer.getCardComment(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getCardComment(id);
+      ret = ReactiveCacheClient.getCardComment(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getCustomField(id) {
+  getCustomField(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getCustomField(id);
+      ret = ReactiveCacheServer.getCustomField(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getCustomField(id);
+      ret = ReactiveCacheClient.getCustomField(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
@@ -323,48 +323,48 @@ ReactiveCache = {
     }
     }
     return ret;
     return ret;
   },
   },
-  getAttachment(id) {
+  getAttachment(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getAttachment(id);
+      ret = ReactiveCacheServer.getAttachment(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getAttachment(id);
+      ret = ReactiveCacheClient.getAttachment(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getUser(id) {
+  getUser(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getUser(id);
+      ret = ReactiveCacheServer.getUser(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getUser(id);
+      ret = ReactiveCacheClient.getUser(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getOrg(id) {
+  getOrg(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getOrg(id);
+      ret = ReactiveCacheServer.getOrg(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getOrg(id);
+      ret = ReactiveCacheClient.getOrg(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getTeam(id) {
+  getTeam(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getTeam(id);
+      ret = ReactiveCacheServer.getTeam(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getTeam(id);
+      ret = ReactiveCacheClient.getTeam(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },
-  getActivity(id) {
+  getActivity(idOrFirstObjectSelector) {
     let ret;
     let ret;
     if (Meteor.isServer) {
     if (Meteor.isServer) {
-      ret = ReactiveCacheServer.getActivity(id);
+      ret = ReactiveCacheServer.getActivity(idOrFirstObjectSelector);
     } else {
     } else {
-      ret = ReactiveCacheClient.getActivity(id);
+      ret = ReactiveCacheClient.getActivity(idOrFirstObjectSelector);
     }
     }
     return ret;
     return ret;
   },
   },