Browse Source

Added field archivedAt to cards, lists, swimlanes, and boards.

Torsten Bronger 4 years ago
parent
commit
710643d8cb
4 changed files with 33 additions and 3 deletions
  1. 8 1
      models/boards.js
  2. 8 0
      models/cards.js
  3. 9 1
      models/lists.js
  4. 8 1
      models/swimlanes.js

+ 8 - 1
models/boards.js

@@ -43,6 +43,13 @@ Boards.attachSchema(
         }
       },
     },
+    archivedAt: {
+      /**
+       * Latest archiving time of the board
+       */
+      type: Date,
+      optional: true,
+    },
     createdAt: {
       /**
        * Creation time of the board
@@ -1042,7 +1049,7 @@ Boards.helpers({
 
 Boards.mutations({
   archive() {
-    return { $set: { archived: true } };
+    return { $set: { archived: true, archivedAt: new Date() } };
   },
 
   restore() {

+ 8 - 0
models/cards.js

@@ -26,6 +26,13 @@ Cards.attachSchema(
         }
       },
     },
+    archivedAt: {
+      /**
+       * latest archiving date
+       */
+      type: Date,
+      optional: true,
+    },
     parentId: {
       /**
        * ID of the parent card
@@ -1446,6 +1453,7 @@ Cards.mutations({
     return {
       $set: {
         archived: true,
+        archivedAt: new Date(),
       },
     };
   },

+ 9 - 1
models/lists.js

@@ -32,6 +32,13 @@ Lists.attachSchema(
         }
       },
     },
+    archivedAt: {
+      /**
+       * latest archiving date
+       */
+      type: Date,
+      optional: true,
+    },
     boardId: {
       /**
        * the board associated to this list
@@ -292,7 +299,7 @@ Lists.mutations({
         return card.archive();
       });
     }
-    return { $set: { archived: true } };
+    return { $set: { archived: true, archivedAt: new Date() } };
   },
 
   restore() {
@@ -384,6 +391,7 @@ if (Meteor.isServer) {
   Meteor.startup(() => {
     Lists._collection._ensureIndex({ modifiedAt: -1 });
     Lists._collection._ensureIndex({ boardId: 1 });
+    Lists._collection._ensureIndex({ archivedAt: -1 });
   });
 
   Lists.after.insert((userId, doc) => {

+ 8 - 1
models/swimlanes.js

@@ -23,6 +23,13 @@ Swimlanes.attachSchema(
         }
       },
     },
+    archivedAt: {
+      /**
+       * latest archiving date of the swimlane
+       */
+      type: Date,
+      optional: true,
+    },
     boardId: {
       /**
        * the ID of the board the swimlane is attached to
@@ -259,7 +266,7 @@ Swimlanes.mutations({
         return list.archive();
       });
     }
-    return { $set: { archived: true } };
+    return { $set: { archived: true, archivedAt: new Date() } };
   },
 
   restore() {