From fd465fbb60bd92c169991e050b094904c2eec95e Mon Sep 17 00:00:00 2001 From: Nicu Tofan Date: Tue, 19 Jun 2018 01:00:14 +0300 Subject: Helpers for dealing with trees of cards --- models/cards.js | 19 +++++++++++++++++++ server/migrations.js | 1 - 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/models/cards.js b/models/cards.js index c5d7cdf9..1e001501 100644 --- a/models/cards.js +++ b/models/cards.js @@ -297,14 +297,33 @@ Cards.helpers({ } return true; }, + + parentCard() { + if (this.parentId === '') { + return null; + } + return Cards.findOne(this.parentId); + }, + + isTopLevel() { + return this.parentId === ''; + }, }); Cards.mutations({ + applyToKids(funct) { + Cards.find({ parentId: this._id }).forEach((card) => { + funct(card); + }); + }, + archive() { + this.applyToKids((card) => { return card.archive(); }); return {$set: {archived: true}}; }, restore() { + this.applyToKids((card) => { return card.restore(); }); return {$set: {archived: false}}; }, diff --git a/server/migrations.js b/server/migrations.js index a32c2f2d..cfc0d5ab 100644 --- a/server/migrations.js +++ b/server/migrations.js @@ -258,7 +258,6 @@ Migrations.add('add-assigner-field', () => { }, noValidateMulti); }); - Migrations.add('add-parent-field-to-cards', () => { Cards.update({ parentId: { -- cgit v1.2.3-1-g7c22