@cyberismo/data-handler 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/card-metadata-updater.js +1 -3
- package/dist/card-metadata-updater.js.map +1 -1
- package/dist/command-handler.js +13 -17
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.d.ts +1 -1
- package/dist/command-manager.js +4 -3
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/create.d.ts +3 -3
- package/dist/commands/create.js +20 -81
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/edit.d.ts +12 -25
- package/dist/commands/edit.js +25 -74
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/export.js +4 -17
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/fetch.js +2 -1
- package/dist/commands/fetch.js.map +1 -1
- package/dist/commands/import.js +3 -5
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.d.ts +1 -2
- package/dist/commands/move.js +108 -146
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.js +15 -49
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.d.ts +1 -0
- package/dist/commands/rename.js +13 -7
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +7 -25
- package/dist/commands/show.js +39 -113
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.js +27 -30
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +5 -3
- package/dist/commands/update.js +19 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +3 -3
- package/dist/commands/validate.js +20 -27
- package/dist/commands/validate.js.map +1 -1
- package/dist/containers/card-container.d.ts +87 -24
- package/dist/containers/card-container.js +183 -279
- package/dist/containers/card-container.js.map +1 -1
- package/dist/containers/project/calculation-engine.d.ts +6 -0
- package/dist/containers/project/calculation-engine.js +36 -29
- package/dist/containers/project/calculation-engine.js.map +1 -1
- package/dist/containers/project/card-cache.d.ts +146 -0
- package/dist/containers/project/card-cache.js +411 -0
- package/dist/containers/project/card-cache.js.map +1 -0
- package/dist/containers/project/resource-collector.d.ts +24 -1
- package/dist/containers/project/resource-collector.js +8 -1
- package/dist/containers/project/resource-collector.js.map +1 -1
- package/dist/containers/project.d.ts +119 -84
- package/dist/containers/project.js +423 -253
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +15 -31
- package/dist/containers/template.js +97 -104
- package/dist/containers/template.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/folder-content-interfaces.d.ts +12 -5
- package/dist/interfaces/folder-content-interfaces.js +5 -3
- package/dist/interfaces/folder-content-interfaces.js.map +1 -1
- package/dist/interfaces/macros.d.ts +1 -0
- package/dist/interfaces/macros.js +1 -1
- package/dist/interfaces/macros.js.map +1 -1
- package/dist/interfaces/project-interfaces.d.ts +16 -10
- package/dist/interfaces/project-interfaces.js +10 -8
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +21 -22
- package/dist/interfaces/resource-interfaces.js +3 -0
- package/dist/interfaces/resource-interfaces.js.map +1 -1
- package/dist/macros/common.d.ts +10 -10
- package/dist/macros/createCards/index.d.ts +0 -13
- package/dist/macros/createCards/index.js.map +1 -1
- package/dist/macros/createCards/types.d.ts +44 -0
- package/dist/macros/createCards/types.js +15 -0
- package/dist/macros/createCards/types.js.map +1 -0
- package/dist/macros/graph/index.d.ts +2 -6
- package/dist/macros/graph/index.js +2 -2
- package/dist/macros/graph/index.js.map +1 -1
- package/dist/macros/graph/types.d.ts +23 -0
- package/dist/macros/graph/types.js +15 -0
- package/dist/macros/graph/types.js.map +1 -0
- package/dist/macros/image/index.d.ts +8 -16
- package/dist/macros/image/index.js +36 -33
- package/dist/macros/image/index.js.map +1 -1
- package/dist/macros/image/types.d.ts +38 -0
- package/dist/macros/image/types.js +15 -0
- package/dist/macros/image/types.js.map +1 -0
- package/dist/macros/include/index.d.ts +1 -6
- package/dist/macros/include/index.js +4 -7
- package/dist/macros/include/index.js.map +1 -1
- package/dist/macros/include/types.d.ts +31 -0
- package/dist/macros/include/types.js +15 -0
- package/dist/macros/include/types.js.map +1 -0
- package/dist/macros/percentage/index.d.ts +0 -6
- package/dist/macros/percentage/index.js.map +1 -1
- package/dist/macros/percentage/types.d.ts +31 -0
- package/dist/macros/percentage/types.js +15 -0
- package/dist/macros/percentage/types.js.map +1 -0
- package/dist/macros/report/index.d.ts +0 -3
- package/dist/macros/report/index.js.map +1 -1
- package/dist/macros/report/types.d.ts +19 -0
- package/dist/macros/report/types.js +15 -0
- package/dist/macros/report/types.js.map +1 -0
- package/dist/macros/scoreCard/index.d.ts +0 -6
- package/dist/macros/scoreCard/index.js.map +1 -1
- package/dist/macros/scoreCard/types.d.ts +31 -0
- package/dist/macros/scoreCard/types.js +15 -0
- package/dist/macros/scoreCard/types.js.map +1 -0
- package/dist/macros/types.d.ts +25 -0
- package/dist/macros/types.js +2 -0
- package/dist/macros/types.js.map +1 -0
- package/dist/macros/vega/index.d.ts +0 -4
- package/dist/macros/vega/index.js.map +1 -1
- package/dist/macros/vega/types.d.ts +20 -0
- package/dist/macros/vega/types.js +2 -0
- package/dist/macros/vega/types.js.map +1 -0
- package/dist/macros/vegalite/index.d.ts +0 -4
- package/dist/macros/vegalite/index.js.map +1 -1
- package/dist/macros/vegalite/types.d.ts +20 -0
- package/dist/macros/vegalite/types.js +15 -0
- package/dist/macros/vegalite/types.js.map +1 -0
- package/dist/macros/xref/index.d.ts +0 -3
- package/dist/macros/xref/index.js +5 -14
- package/dist/macros/xref/index.js.map +1 -1
- package/dist/macros/xref/types.d.ts +19 -0
- package/dist/macros/xref/types.js +15 -0
- package/dist/macros/xref/types.js.map +1 -0
- package/dist/module-manager.js +4 -4
- package/dist/module-manager.js.map +1 -1
- package/dist/project-settings.js.map +1 -1
- package/dist/resources/calculation-resource.d.ts +43 -0
- package/dist/resources/calculation-resource.js +75 -0
- package/dist/resources/calculation-resource.js.map +1 -0
- package/dist/resources/card-type-resource.d.ts +4 -21
- package/dist/resources/card-type-resource.js +13 -44
- package/dist/resources/card-type-resource.js.map +1 -1
- package/dist/resources/create-defaults.d.ts +13 -6
- package/dist/resources/create-defaults.js +19 -5
- package/dist/resources/create-defaults.js.map +1 -1
- package/dist/resources/field-type-resource.d.ts +4 -21
- package/dist/resources/field-type-resource.js +14 -38
- package/dist/resources/field-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +12 -29
- package/dist/resources/file-resource.js +19 -287
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +32 -51
- package/dist/resources/folder-resource.js +68 -96
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.d.ts +5 -33
- package/dist/resources/graph-model-resource.js +8 -61
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.d.ts +5 -28
- package/dist/resources/graph-view-resource.js +6 -45
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/link-type-resource.d.ts +4 -21
- package/dist/resources/link-type-resource.js +6 -31
- package/dist/resources/link-type-resource.js.map +1 -1
- package/dist/resources/report-resource.d.ts +5 -17
- package/dist/resources/report-resource.js +6 -44
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +58 -23
- package/dist/resources/resource-object.js +307 -26
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.d.ts +4 -15
- package/dist/resources/template-resource.js +10 -25
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +4 -23
- package/dist/resources/workflow-resource.js +12 -38
- package/dist/resources/workflow-resource.js.map +1 -1
- package/dist/utils/card-utils.d.ts +69 -19
- package/dist/utils/card-utils.js +179 -30
- package/dist/utils/card-utils.js.map +1 -1
- package/dist/utils/clingo-facts.js +11 -3
- package/dist/utils/clingo-facts.js.map +1 -1
- package/dist/utils/clingo-parser.js +1 -1
- package/dist/utils/clingo-parser.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/csv.js +1 -1
- package/dist/utils/csv.js.map +1 -1
- package/dist/utils/error-utils.d.ts +34 -0
- package/dist/utils/error-utils.js +56 -0
- package/dist/utils/error-utils.js.map +1 -0
- package/dist/utils/log-utils.d.ts +0 -27
- package/dist/utils/log-utils.js +0 -58
- package/dist/utils/log-utils.js.map +1 -1
- package/dist/utils/user-preferences.js +6 -3
- package/dist/utils/user-preferences.js.map +1 -1
- package/package.json +5 -5
- package/src/card-metadata-updater.ts +3 -5
- package/src/command-handler.ts +14 -19
- package/src/command-manager.ts +4 -3
- package/src/commands/create.ts +28 -112
- package/src/commands/edit.ts +27 -118
- package/src/commands/export.ts +8 -29
- package/src/commands/fetch.ts +2 -1
- package/src/commands/import.ts +4 -6
- package/src/commands/move.ts +144 -179
- package/src/commands/remove.ts +12 -54
- package/src/commands/rename.ts +22 -7
- package/src/commands/show.ts +51 -156
- package/src/commands/transition.ts +30 -33
- package/src/commands/update.ts +27 -9
- package/src/commands/validate.ts +22 -37
- package/src/containers/card-container.ts +200 -360
- package/src/containers/project/calculation-engine.ts +43 -33
- package/src/containers/project/card-cache.ts +497 -0
- package/src/containers/project/resource-collector.ts +9 -1
- package/src/containers/project.ts +533 -328
- package/src/containers/template.ts +109 -127
- package/src/index.ts +1 -0
- package/src/interfaces/folder-content-interfaces.ts +23 -5
- package/src/interfaces/macros.ts +2 -0
- package/src/interfaces/project-interfaces.ts +19 -10
- package/src/interfaces/resource-interfaces.ts +22 -24
- package/src/macros/createCards/index.ts +1 -12
- package/src/macros/createCards/types.ts +46 -0
- package/src/macros/graph/index.ts +3 -7
- package/src/macros/graph/types.ts +24 -0
- package/src/macros/image/index.ts +50 -61
- package/src/macros/image/types.ts +39 -0
- package/src/macros/include/index.ts +6 -15
- package/src/macros/include/types.ts +32 -0
- package/src/macros/percentage/index.ts +1 -7
- package/src/macros/percentage/types.ts +32 -0
- package/src/macros/report/index.ts +1 -4
- package/src/macros/report/types.ts +20 -0
- package/src/macros/scoreCard/index.ts +1 -7
- package/src/macros/scoreCard/types.ts +32 -0
- package/src/macros/types.ts +48 -0
- package/src/macros/vega/index.ts +1 -4
- package/src/macros/vega/types.ts +21 -0
- package/src/macros/vegalite/index.ts +1 -4
- package/src/macros/vegalite/types.ts +22 -0
- package/src/macros/xref/index.ts +6 -20
- package/src/macros/xref/types.ts +20 -0
- package/src/module-manager.ts +5 -5
- package/src/project-settings.ts +1 -1
- package/src/resources/calculation-resource.ts +101 -0
- package/src/resources/card-type-resource.ts +24 -59
- package/src/resources/create-defaults.ts +21 -5
- package/src/resources/field-type-resource.ts +22 -51
- package/src/resources/file-resource.ts +27 -403
- package/src/resources/folder-resource.ts +99 -125
- package/src/resources/graph-model-resource.ts +17 -74
- package/src/resources/graph-view-resource.ts +14 -54
- package/src/resources/link-type-resource.ts +13 -40
- package/src/resources/report-resource.ts +17 -57
- package/src/resources/resource-object.ts +454 -39
- package/src/resources/template-resource.ts +16 -29
- package/src/resources/workflow-resource.ts +26 -50
- package/src/utils/card-utils.ts +217 -31
- package/src/utils/clingo-facts.ts +13 -3
- package/src/utils/clingo-parser.ts +1 -1
- package/src/utils/constants.ts +7 -0
- package/src/utils/csv.ts +1 -1
- package/src/utils/error-utils.ts +62 -0
- package/src/utils/log-utils.ts +0 -68
- package/src/utils/user-preferences.ts +7 -3
package/dist/commands/move.js
CHANGED
|
@@ -11,68 +11,40 @@
|
|
|
11
11
|
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
12
|
*/
|
|
13
13
|
// node
|
|
14
|
-
import { join
|
|
14
|
+
import { join } from 'node:path';
|
|
15
15
|
import { ActionGuard } from '../permissions/action-guard.js';
|
|
16
16
|
import { copyDir, deleteDir } from '../utils/file-utils.js';
|
|
17
|
-
import { ResourcesFrom } from '../containers/project.js';
|
|
18
17
|
import { EMPTY_RANK, FIRST_RANK, getRankAfter, getRankBetween, rebalanceRanks, sortItems, } from '../utils/lexorank.js';
|
|
19
|
-
import { isTemplateCard } from '../utils/card-utils.js';
|
|
20
|
-
import {
|
|
21
|
-
import { TemplateResource } from '../resources/template-resource.js';
|
|
22
|
-
// @todo - we should have project wide constants, so that if we need them, only the const value needs to be changed.
|
|
23
|
-
const ROOT = 'root';
|
|
18
|
+
import { cardPathParts, isModuleCard, isTemplateCard, } from '../utils/card-utils.js';
|
|
19
|
+
import { ROOT } from '../utils/constants.js';
|
|
24
20
|
export class Move {
|
|
25
21
|
project;
|
|
26
22
|
constructor(project) {
|
|
27
23
|
this.project = project;
|
|
28
24
|
}
|
|
29
|
-
// Fetches a card (either template or project card).
|
|
30
|
-
async getCard(cardKey, options) {
|
|
31
|
-
let card;
|
|
32
|
-
const templateCard = await this.project.isTemplateCard(cardKey);
|
|
33
|
-
if (templateCard) {
|
|
34
|
-
card = (await this.project.allTemplateCards(options)).find((card) => card.key === cardKey);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
card = await this.project.findSpecificCard(cardKey, options);
|
|
38
|
-
}
|
|
39
|
-
if (!card) {
|
|
40
|
-
throw new Error('Card was not found from the project');
|
|
41
|
-
}
|
|
42
|
-
return card;
|
|
43
|
-
}
|
|
44
25
|
// Returns children of a parent card or root cards
|
|
45
|
-
|
|
26
|
+
getSiblings(card) {
|
|
46
27
|
const parentCardKey = card.parent || ROOT;
|
|
47
28
|
// since we don't know if 'root' is templateRoot or cardRoot, we need to check the card
|
|
48
29
|
if (parentCardKey === ROOT) {
|
|
49
30
|
if (isTemplateCard(card)) {
|
|
50
|
-
|
|
51
|
-
if (!template) {
|
|
52
|
-
throw new Error(`Cannot find template for the template card '${card.key}'`);
|
|
53
|
-
}
|
|
54
|
-
if (card?.path.includes(`${sep}modules${sep}`)) {
|
|
31
|
+
if (isModuleCard(card)) {
|
|
55
32
|
throw new Error(`Cannot rank module cards`);
|
|
56
33
|
}
|
|
57
|
-
|
|
34
|
+
const { template } = cardPathParts(this.project.projectPrefix, card.path);
|
|
35
|
+
return this.project.templateCards(template);
|
|
58
36
|
}
|
|
59
37
|
}
|
|
60
38
|
let parentCard;
|
|
61
39
|
if (parentCardKey !== ROOT) {
|
|
62
|
-
parentCard =
|
|
63
|
-
|
|
64
|
-
metadata: true,
|
|
65
|
-
});
|
|
66
|
-
if (!parentCard) {
|
|
67
|
-
throw new Error(`Card ${parentCardKey} not found from project`);
|
|
68
|
-
}
|
|
40
|
+
parentCard = this.project.findCard(parentCardKey);
|
|
41
|
+
return this.project.cardKeysToCards(parentCard.children);
|
|
69
42
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
return this.project.showProjectCards();
|
|
43
|
+
return this.project
|
|
44
|
+
.showProjectCards()
|
|
45
|
+
.filter((item) => item.parent === 'root' || item.parent === '');
|
|
74
46
|
}
|
|
75
|
-
//
|
|
47
|
+
// Rebalances cards
|
|
76
48
|
async rebalanceCards(cards) {
|
|
77
49
|
const ranks = rebalanceRanks(cards.length);
|
|
78
50
|
cards = sortItems(cards, (item) => item.metadata?.rank || 'z');
|
|
@@ -89,7 +61,7 @@ export class Move {
|
|
|
89
61
|
const card = cards[i];
|
|
90
62
|
await this.project.updateCardMetadataKey(card.key, 'rank', ranks[i]);
|
|
91
63
|
if (card.children && card.children.length > 0) {
|
|
92
|
-
await this.rebalanceProjectRecursively(card.children);
|
|
64
|
+
await this.rebalanceProjectRecursively(this.project.cardKeysToCards(card.children));
|
|
93
65
|
}
|
|
94
66
|
}
|
|
95
67
|
}
|
|
@@ -105,42 +77,41 @@ export class Move {
|
|
|
105
77
|
if (source === destination) {
|
|
106
78
|
throw new Error(`Card cannot be moved to itself`);
|
|
107
79
|
}
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
};
|
|
120
|
-
promiseContainer.push(Promise.resolve(returnObject));
|
|
121
|
-
}
|
|
122
|
-
const [sourceCard, destinationCard] = await Promise.all(promiseContainer);
|
|
123
|
-
if (!sourceCard) {
|
|
124
|
-
throw new Error(`Card ${source} not found from project`);
|
|
125
|
-
}
|
|
126
|
-
if (!destinationCard) {
|
|
127
|
-
throw new Error(`Card ${destination} not found from project`);
|
|
128
|
-
}
|
|
129
|
-
if (destinationCard.path.includes(source)) {
|
|
130
|
-
throw new Error(`Card cannot be moved to inside itself`);
|
|
80
|
+
const movingToRoot = destination === ROOT;
|
|
81
|
+
const sourceCard = this.project.findCard(source);
|
|
82
|
+
const destinationCard = !movingToRoot
|
|
83
|
+
? this.project.findCard(destination)
|
|
84
|
+
: undefined;
|
|
85
|
+
// Prevent moving card to inside its descendants
|
|
86
|
+
if (destinationCard) {
|
|
87
|
+
const { parents } = cardPathParts(this.project.projectPrefix, destinationCard.path);
|
|
88
|
+
if (parents.includes(source)) {
|
|
89
|
+
throw new Error(`Card cannot be moved to inside itself`);
|
|
90
|
+
}
|
|
131
91
|
}
|
|
132
92
|
// Imported templates cannot be modified.
|
|
133
|
-
if (destinationCard
|
|
134
|
-
sourceCard
|
|
93
|
+
if ((destinationCard && isModuleCard(destinationCard)) ||
|
|
94
|
+
isModuleCard(sourceCard)) {
|
|
135
95
|
throw new Error(`Cannot modify imported module templates`);
|
|
136
96
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
97
|
+
// Special handling for moving to root
|
|
98
|
+
if (movingToRoot) {
|
|
99
|
+
if (isTemplateCard(sourceCard)) {
|
|
100
|
+
throw new Error(`Template cards cannot be moved to project root`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
const bothTemplateCards = isTemplateCard(sourceCard) &&
|
|
105
|
+
destinationCard &&
|
|
106
|
+
isTemplateCard(destinationCard);
|
|
107
|
+
const bothProjectCards = this.project.hasProjectCard(sourceCard.key) &&
|
|
108
|
+
destinationCard &&
|
|
109
|
+
this.project.hasProjectCard(destinationCard.key);
|
|
110
|
+
if (!(bothTemplateCards || bothProjectCards)) {
|
|
111
|
+
throw new Error(`Cards cannot be moved from project to template or vice versa`);
|
|
112
|
+
}
|
|
142
113
|
}
|
|
143
|
-
const destinationPath =
|
|
114
|
+
const destinationPath = movingToRoot
|
|
144
115
|
? join(this.project.paths.cardRootFolder, sourceCard.key)
|
|
145
116
|
: join(destinationCard.path, 'c', sourceCard.key);
|
|
146
117
|
// if the card is already in the destination, do nothing
|
|
@@ -150,21 +121,15 @@ export class Move {
|
|
|
150
121
|
// if both are project cards, make sure source card can be moved
|
|
151
122
|
const actionGuard = new ActionGuard(this.project.calculationEngine);
|
|
152
123
|
await actionGuard.checkPermission('move', source);
|
|
153
|
-
//
|
|
124
|
+
// re-rank the card in the new location
|
|
154
125
|
// it will be the last one in the new location
|
|
155
126
|
let children;
|
|
156
|
-
if (
|
|
157
|
-
const parent =
|
|
158
|
-
|
|
159
|
-
metadata: true,
|
|
160
|
-
});
|
|
161
|
-
if (!parent) {
|
|
162
|
-
throw new Error(`Parent card ${destination} not found from project`);
|
|
163
|
-
}
|
|
164
|
-
children = parent.children;
|
|
127
|
+
if (!movingToRoot) {
|
|
128
|
+
const parent = this.project.findCard(destination);
|
|
129
|
+
children = this.project.cardKeysToCards(parent.children);
|
|
165
130
|
}
|
|
166
131
|
else {
|
|
167
|
-
children =
|
|
132
|
+
children = this.project.showProjectCards();
|
|
168
133
|
}
|
|
169
134
|
if (!children) {
|
|
170
135
|
throw new Error(`Children not found from card ${destination}`);
|
|
@@ -174,9 +139,41 @@ export class Move {
|
|
|
174
139
|
const rank = lastChild && lastChild.metadata
|
|
175
140
|
? getRankAfter(lastChild.metadata.rank)
|
|
176
141
|
: FIRST_RANK;
|
|
177
|
-
|
|
142
|
+
// First do the file operations, then update metadata
|
|
178
143
|
await copyDir(sourceCard.path, destinationPath);
|
|
179
144
|
await deleteDir(sourceCard.path);
|
|
145
|
+
// Update card with new path, parent, and rank
|
|
146
|
+
sourceCard.path = destinationPath;
|
|
147
|
+
sourceCard.parent = movingToRoot ? ROOT : destination;
|
|
148
|
+
if (sourceCard.metadata) {
|
|
149
|
+
sourceCard.metadata.rank = rank;
|
|
150
|
+
sourceCard.metadata.parent = movingToRoot ? ROOT : destination;
|
|
151
|
+
}
|
|
152
|
+
// Handle cache update and persistence
|
|
153
|
+
await this.project.updateCard(sourceCard);
|
|
154
|
+
const updatedCard = {
|
|
155
|
+
...sourceCard,
|
|
156
|
+
path: destinationPath,
|
|
157
|
+
parent: movingToRoot ? ROOT : destination,
|
|
158
|
+
metadata: sourceCard.metadata
|
|
159
|
+
? {
|
|
160
|
+
...sourceCard.metadata,
|
|
161
|
+
rank: rank,
|
|
162
|
+
}
|
|
163
|
+
: undefined,
|
|
164
|
+
};
|
|
165
|
+
// Fetch old parent
|
|
166
|
+
const oldParent = sourceCard.parent;
|
|
167
|
+
let oldParentCard;
|
|
168
|
+
if (oldParent && oldParent !== ROOT) {
|
|
169
|
+
oldParentCard = this.project.findCard(oldParent);
|
|
170
|
+
}
|
|
171
|
+
let newParentCard;
|
|
172
|
+
if (!movingToRoot) {
|
|
173
|
+
newParentCard = this.project.findCard(destination);
|
|
174
|
+
}
|
|
175
|
+
// Finally, update the project
|
|
176
|
+
await this.project.handleCardMoved(updatedCard, newParentCard, oldParentCard);
|
|
180
177
|
}
|
|
181
178
|
/**
|
|
182
179
|
* Ranks card using position given as 'index'.
|
|
@@ -191,14 +188,11 @@ export class Move {
|
|
|
191
188
|
await this.rankFirst(cardKey);
|
|
192
189
|
return;
|
|
193
190
|
}
|
|
194
|
-
const card =
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
});
|
|
198
|
-
if (!card || !card.parent) {
|
|
199
|
-
throw new Error(`Card ${cardKey} not found from project`);
|
|
191
|
+
const card = this.project.findCard(cardKey);
|
|
192
|
+
if (!card.parent) {
|
|
193
|
+
throw new Error(`Parent card ${cardKey} not found from project`);
|
|
200
194
|
}
|
|
201
|
-
const children = sortItems(
|
|
195
|
+
const children = sortItems(this.getSiblings(card), (item) => item.metadata?.rank || EMPTY_RANK);
|
|
202
196
|
if (!children || children.length === 0) {
|
|
203
197
|
throw new Error(`Children not found from card ${card.parent}`);
|
|
204
198
|
}
|
|
@@ -213,24 +207,12 @@ export class Move {
|
|
|
213
207
|
* @param beforeCardKey Card key after which the card will be ranked
|
|
214
208
|
*/
|
|
215
209
|
async rankCard(cardKey, beforeCardKey) {
|
|
216
|
-
const card =
|
|
217
|
-
|
|
218
|
-
parent: true,
|
|
219
|
-
});
|
|
220
|
-
if (!card) {
|
|
221
|
-
throw new Error(`Card ${cardKey} not found from project`);
|
|
222
|
-
}
|
|
223
|
-
const beforeCard = await this.project.findSpecificCard(beforeCardKey, {
|
|
224
|
-
metadata: true,
|
|
225
|
-
parent: true,
|
|
226
|
-
});
|
|
227
|
-
if (!beforeCard) {
|
|
228
|
-
throw new Error(`Card ${beforeCardKey} not found from project`);
|
|
229
|
-
}
|
|
210
|
+
const card = this.project.findCard(cardKey);
|
|
211
|
+
const beforeCard = this.project.findCard(beforeCardKey);
|
|
230
212
|
if (beforeCard.parent !== card.parent) {
|
|
231
213
|
throw new Error(`Cards must be from the same parent`);
|
|
232
214
|
}
|
|
233
|
-
const children = sortItems(
|
|
215
|
+
const children = sortItems(this.getSiblings(beforeCard), (item) => item.metadata?.rank || EMPTY_RANK);
|
|
234
216
|
if (!children) {
|
|
235
217
|
throw new Error(`Children not found from card ${beforeCard.parent}`);
|
|
236
218
|
}
|
|
@@ -238,9 +220,8 @@ export class Move {
|
|
|
238
220
|
if (beforeCardIndex === -1) {
|
|
239
221
|
throw new Error(`Card ${beforeCardKey} is not a child of ${beforeCard.parent}`);
|
|
240
222
|
}
|
|
241
|
-
if (children[beforeCardIndex].key === cardKey
|
|
242
|
-
|
|
243
|
-
throw new Error(`Card ${cardKey} is already in the correct position`);
|
|
223
|
+
if (children[beforeCardIndex].key === cardKey) {
|
|
224
|
+
throw new Error(`Card cannot be ranked after itself`);
|
|
244
225
|
}
|
|
245
226
|
if (beforeCardIndex === children.length - 1) {
|
|
246
227
|
await this.project.updateCardMetadataKey(cardKey, 'rank', getRankAfter(beforeCard.metadata?.rank));
|
|
@@ -254,11 +235,8 @@ export class Move {
|
|
|
254
235
|
* @param cardKey card key
|
|
255
236
|
*/
|
|
256
237
|
async rankFirst(cardKey) {
|
|
257
|
-
const card =
|
|
258
|
-
|
|
259
|
-
parent: true,
|
|
260
|
-
});
|
|
261
|
-
const children = sortItems(await this.getSiblings(card), (item) => item.metadata?.rank || EMPTY_RANK);
|
|
238
|
+
const card = this.project.findCard(cardKey);
|
|
239
|
+
const children = sortItems(this.getSiblings(card), (item) => item.metadata?.rank || EMPTY_RANK);
|
|
262
240
|
if (!children || children.length === 0) {
|
|
263
241
|
throw new Error(`Children not found from card ${card.parent}`);
|
|
264
242
|
}
|
|
@@ -291,49 +269,33 @@ export class Move {
|
|
|
291
269
|
* @param parentCardKey parent card key
|
|
292
270
|
*/
|
|
293
271
|
async rebalanceChildren(parentCardKey) {
|
|
294
|
-
const parentCard =
|
|
295
|
-
children: true,
|
|
296
|
-
metadata: true,
|
|
297
|
-
});
|
|
272
|
+
const parentCard = this.project.findCard(parentCardKey);
|
|
298
273
|
if (!parentCard || !parentCard.children) {
|
|
299
274
|
throw new Error(`Card ${parentCardKey} not found from project`);
|
|
300
275
|
}
|
|
301
|
-
await this.rebalanceCards(parentCard.children);
|
|
276
|
+
await this.rebalanceCards(this.project.cardKeysToCards(parentCard.children));
|
|
302
277
|
}
|
|
303
278
|
/**
|
|
304
279
|
* Rebalances the ranks of the cards in the whole project, including templates
|
|
305
280
|
* Can be used even if the ranks do not exist
|
|
306
281
|
*/
|
|
307
282
|
async rebalanceProject() {
|
|
308
|
-
const cards =
|
|
283
|
+
const cards = this.project.showProjectCards();
|
|
309
284
|
await this.rebalanceProjectRecursively(cards);
|
|
310
|
-
|
|
311
|
-
const
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
const templateObject = templateResource.templateObject();
|
|
315
|
-
if (!templateObject) {
|
|
316
|
-
throw new Error(`Template '${template.name}' not found`);
|
|
317
|
-
}
|
|
318
|
-
const templateCards = await templateObject.cards('', {
|
|
319
|
-
parent: true,
|
|
320
|
-
metadata: true,
|
|
321
|
-
});
|
|
322
|
-
const cardGroups = templateCards.reduce((result, card) => {
|
|
323
|
-
// template card root cards have a parent(the template itself) so this shouldn't happen
|
|
324
|
-
if (!card.parent) {
|
|
325
|
-
return result;
|
|
326
|
-
}
|
|
327
|
-
// if the parent does not exist yet in the result, we create it
|
|
328
|
-
if (!result[card.parent]) {
|
|
329
|
-
result[card.parent] = [];
|
|
330
|
-
}
|
|
331
|
-
result[card.parent].push(card);
|
|
285
|
+
const templateCards = this.project.allTemplateCards();
|
|
286
|
+
const cardGroups = templateCards.reduce((result, card) => {
|
|
287
|
+
// template card root cards always have a parent(, thus this shouldn't happen
|
|
288
|
+
if (!card.parent) {
|
|
332
289
|
return result;
|
|
333
|
-
}, {});
|
|
334
|
-
for (const [, cards] of Object.entries(cardGroups)) {
|
|
335
|
-
await this.rebalanceCards(cards);
|
|
336
290
|
}
|
|
291
|
+
if (!result[card.parent]) {
|
|
292
|
+
result[card.parent] = [];
|
|
293
|
+
}
|
|
294
|
+
result[card.parent].push(card);
|
|
295
|
+
return result;
|
|
296
|
+
}, {});
|
|
297
|
+
for (const [, cards] of Object.entries(cardGroups)) {
|
|
298
|
+
await this.rebalanceCards(cards);
|
|
337
299
|
}
|
|
338
300
|
}
|
|
339
301
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/commands/move.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAK5D,OAAO,EAAgB,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EACL,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,oHAAoH;AACpH,MAAM,IAAI,GAAW,MAAM,CAAC;AAE5B,MAAM,OAAO,IAAI;IACK;IAApB,YAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAExC,oDAAoD;IAC5C,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAyB;QAC9D,IAAI,IAAsB,CAAC;QAC3B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACxD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,CAC/B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kDAAkD;IAC1C,KAAK,CAAC,WAAW,CAAC,IAAU;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;QAE1C,uFAAuF;QACvF,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,CAAC,GAAG,GAAG,CAC3D,CAAC;gBACJ,CAAC;gBACD,IAAI,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC;oBAC/C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC9C,CAAC;gBACD,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC;QACf,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE;gBAC9D,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,QAAQ,aAAa,yBAAyB,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,EAAE;IACM,KAAK,CAAC,cAAc,CAAC,KAAa;QACxC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;QAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,sCAAsC;IAC9B,KAAK,CAAC,2BAA2B,CAAC,KAAa;QACrD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3C,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC;QAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,WAAmB;QACvD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAS;gBACzB,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc;gBACvC,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,EAAE;aAChB,CAAC;YACF,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAE1E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,yBAAyB,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,yCAAyC;QACzC,IACE,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,GAAG,EAAE,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,iBAAiB,GACrB,cAAc,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,gBAAgB,GACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GACnB,WAAW,KAAK,IAAI;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QAEtD,wDAAwD;QACxD,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,gEAAgE;QAChE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpE,MAAM,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,sCAAsC;QACtC,8CAA8C;QAC9C,IAAI,QAAQ,CAAC;QACb,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBAC9D,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,yBAAyB,CAAC,CAAC;YACvE,CAAC;YACD,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEhD,MAAM,IAAI,GACR,SAAS,IAAI,SAAS,CAAC,QAAQ;YAC7B,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvC,CAAC,CAAC,UAAU,CAAC;QACjB,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,KAAa;QACrD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACxD,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,yBAAyB,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CACxB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC5B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,UAAU,CAC5C,CAAC;QAEF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,mBAAmB,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,aAAqB;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACxD,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,yBAAyB,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE;YACpE,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,QAAQ,aAAa,yBAAyB,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CACxB,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAClC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,UAAU,CAC5C,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,CACxC,CAAC;QAEF,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,QAAQ,aAAa,sBAAsB,UAAU,CAAC,MAAM,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,IACE,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,KAAK,OAAO;YACzC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,EAC9C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,qCAAqC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,eAAe,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CACtC,OAAO,EACP,MAAM,EACN,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAc,CAAC,CAClD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CACtC,OAAO,EACP,MAAM,EACN,cAAc,CACZ,UAAU,CAAC,QAAQ,EAAE,IAAc,EACnC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAc,CACvD,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS,CAAC,OAAe;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACvC,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,SAAS,CACxB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC5B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,UAAU,CAC5C,CAAC;QAEF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,2FAA2F;YAC3F,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC;YAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CACtC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EACf,MAAM,EACN,WAAW,CACZ,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,mEAAmE;YACnE,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QAClD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE;YACpE,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,aAAa,yBAAyB,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,gBAAgB;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAEpD,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAE9C,sBAAsB;QACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAC3C,IAAI,CAAC,OAAO,EACZ,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC5B,CAAC;YACF,MAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAEzD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,CAAC,IAAI,aAAa,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE;gBACnD,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CACrC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;gBACf,uFAAuF;gBACvF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,+DAA+D;gBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAC3B,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,MAAM,CAAC;YAChB,CAAC,EACD,EAA4B,CAC7B,CAAC;YAEF,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/commands/move.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/remove.js
CHANGED
|
@@ -10,14 +10,11 @@
|
|
|
10
10
|
details. You should have received a copy of the GNU Affero General Public
|
|
11
11
|
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
12
|
*/
|
|
13
|
-
// node
|
|
14
|
-
import { join, sep } from 'node:path';
|
|
15
13
|
import { ActionGuard } from '../permissions/action-guard.js';
|
|
16
|
-
import {
|
|
14
|
+
import { isModuleCard } from '../utils/card-utils.js';
|
|
17
15
|
import { ModuleManager } from '../module-manager.js';
|
|
18
16
|
import { Project } from '../containers/project.js';
|
|
19
17
|
import { resourceName } from '../utils/resource-utils.js';
|
|
20
|
-
const MODULES_PATH = `${sep}modules${sep}`;
|
|
21
18
|
/**
|
|
22
19
|
* Remove command.
|
|
23
20
|
*/
|
|
@@ -30,7 +27,8 @@ export class Remove {
|
|
|
30
27
|
}
|
|
31
28
|
// True, if resource is a project resource
|
|
32
29
|
projectResource(type) {
|
|
33
|
-
return (type === '
|
|
30
|
+
return (type === 'calculation' ||
|
|
31
|
+
type === 'cardType' ||
|
|
34
32
|
type === 'fieldType' ||
|
|
35
33
|
type === 'graphModel' ||
|
|
36
34
|
type === 'graphView' ||
|
|
@@ -44,36 +42,22 @@ export class Remove {
|
|
|
44
42
|
if (!attachment) {
|
|
45
43
|
throw new Error(`Attachment filename required`);
|
|
46
44
|
}
|
|
47
|
-
|
|
48
|
-
// Imported templates cannot be modified.
|
|
49
|
-
if (attachmentFolder.includes(MODULES_PATH)) {
|
|
50
|
-
throw new Error(`Cannot modify imported module`);
|
|
51
|
-
}
|
|
52
|
-
// Attachment's reside in 'a' folders.
|
|
53
|
-
const success = await deleteFile(join(attachmentFolder, attachment));
|
|
54
|
-
if (!success) {
|
|
55
|
-
throw new Error('No such file');
|
|
56
|
-
}
|
|
45
|
+
return this.project.removeCardAttachment(cardKey, attachment);
|
|
57
46
|
}
|
|
58
47
|
// Removes card from project or template
|
|
59
48
|
async removeCard(cardKey) {
|
|
60
|
-
const
|
|
61
|
-
if (!cardFolder) {
|
|
62
|
-
throw new Error(`Card '${cardKey}' not found`);
|
|
63
|
-
}
|
|
49
|
+
const card = this.project.findCard(cardKey);
|
|
64
50
|
// Imported templates cannot be modified.
|
|
65
|
-
if (
|
|
51
|
+
if (isModuleCard(card)) {
|
|
66
52
|
throw new Error(`Cannot modify imported module`);
|
|
67
53
|
}
|
|
68
54
|
// Make sure card can be removed if it's a project card
|
|
69
|
-
if (
|
|
55
|
+
if (this.project.hasProjectCard(cardKey)) {
|
|
70
56
|
const actionGuard = new ActionGuard(this.project.calculationEngine);
|
|
71
57
|
await actionGuard.checkPermission('delete', cardKey);
|
|
72
58
|
}
|
|
73
59
|
// If card is destination of a link, remove the link.
|
|
74
|
-
const allCards =
|
|
75
|
-
metadata: true,
|
|
76
|
-
});
|
|
60
|
+
const allCards = this.project.cards(this.project.paths.cardRootFolder);
|
|
77
61
|
const promiseContainer = [];
|
|
78
62
|
for (const item of allCards) {
|
|
79
63
|
const links = item.metadata?.links ?? [];
|
|
@@ -84,26 +68,13 @@ export class Remove {
|
|
|
84
68
|
}
|
|
85
69
|
}
|
|
86
70
|
await Promise.all(promiseContainer);
|
|
87
|
-
// Calculations need to be updated before card is removed.
|
|
88
|
-
const card = await this.project.findSpecificCard(cardKey, {
|
|
89
|
-
metadata: true,
|
|
90
|
-
children: true,
|
|
91
|
-
content: false,
|
|
92
|
-
parent: false,
|
|
93
|
-
});
|
|
94
|
-
await deleteDir(cardFolder);
|
|
95
71
|
if (card) {
|
|
96
|
-
await this.project.
|
|
72
|
+
await this.project.handleCardDeleted(card);
|
|
97
73
|
}
|
|
98
74
|
}
|
|
99
75
|
// removes label from project
|
|
100
76
|
async removeLabel(cardKey, label) {
|
|
101
|
-
const card =
|
|
102
|
-
metadata: true,
|
|
103
|
-
});
|
|
104
|
-
if (!card) {
|
|
105
|
-
throw new Error(`Card '${cardKey}' does not exist in the project`);
|
|
106
|
-
}
|
|
77
|
+
const card = this.project.findCard(cardKey);
|
|
107
78
|
let labels = card.metadata?.labels ?? [];
|
|
108
79
|
if (!label && labels.length !== 1) {
|
|
109
80
|
throw new Error(`No label given and ${labels.length === 0 ? 'there are no labels' : 'there are multiple labels'}`);
|
|
@@ -120,12 +91,7 @@ export class Remove {
|
|
|
120
91
|
}
|
|
121
92
|
// Removes link from project.
|
|
122
93
|
async removeLink(sourceCardKey, destinationCardKey, linkType, linkDescription) {
|
|
123
|
-
const sourceCard =
|
|
124
|
-
metadata: true,
|
|
125
|
-
});
|
|
126
|
-
if (!sourceCard) {
|
|
127
|
-
throw new Error(`Card '${sourceCardKey}' not found`);
|
|
128
|
-
}
|
|
94
|
+
const sourceCard = this.project.findCard(sourceCardKey);
|
|
129
95
|
const link = sourceCard.metadata?.links.find((l) => l.cardKey === destinationCardKey &&
|
|
130
96
|
(!linkType || l.linkType === linkType) &&
|
|
131
97
|
(!linkDescription || l.linkDescription === linkDescription));
|
|
@@ -173,14 +139,14 @@ export class Remove {
|
|
|
173
139
|
return this.removeAttachment(targetName, rest[0]);
|
|
174
140
|
else if (type === 'card')
|
|
175
141
|
return this.removeCard(targetName);
|
|
142
|
+
else if (type === 'hub')
|
|
143
|
+
return this.removeHubLocation(targetName);
|
|
144
|
+
else if (type === 'label')
|
|
145
|
+
return this.removeLabel(targetName, rest[0]);
|
|
176
146
|
else if (type === 'link')
|
|
177
147
|
return this.removeLink(targetName, rest[0], rest[1], rest.at(2));
|
|
178
148
|
else if (type === 'module')
|
|
179
149
|
return this.moduleManager.removeModule(targetName);
|
|
180
|
-
else if (type === 'label')
|
|
181
|
-
return this.removeLabel(targetName, rest[0]);
|
|
182
|
-
else if (type === 'hub')
|
|
183
|
-
return this.removeHubLocation(targetName);
|
|
184
150
|
}
|
|
185
151
|
throw new Error(`Unknown resource type '${type}'`);
|
|
186
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/rename.js
CHANGED
|
@@ -18,6 +18,7 @@ import { isTemplateCard } from '../utils/card-utils.js';
|
|
|
18
18
|
import { ResourcesFrom } from '../containers/project.js';
|
|
19
19
|
import { resourceName } from '../utils/resource-utils.js';
|
|
20
20
|
import { Template } from '../containers/template.js';
|
|
21
|
+
import { CalculationResource } from '../resources/calculation-resource.js';
|
|
21
22
|
import { CardTypeResource } from '../resources/card-type-resource.js';
|
|
22
23
|
import { FieldTypeResource } from '../resources/field-type-resource.js';
|
|
23
24
|
import { GraphModelResource } from '../resources/graph-model-resource.js';
|
|
@@ -156,6 +157,11 @@ export class Rename {
|
|
|
156
157
|
const cardType = new CardTypeResource(this.project, resourceName(cardTypeName));
|
|
157
158
|
return cardType.rename(resourceName(this.updateResourceName(cardTypeName)));
|
|
158
159
|
}
|
|
160
|
+
// Rename calculations.
|
|
161
|
+
async updateCalculation(calculationName) {
|
|
162
|
+
const calculation = new CalculationResource(this.project, resourceName(calculationName));
|
|
163
|
+
return calculation.rename(resourceName(this.updateResourceName(calculationName)));
|
|
164
|
+
}
|
|
159
165
|
// Updates field type's metadata.
|
|
160
166
|
async updateFieldTypeMetadata(fieldTypeName) {
|
|
161
167
|
const fieldType = new FieldTypeResource(this.project, resourceName(fieldTypeName));
|
|
@@ -201,11 +207,6 @@ export class Rename {
|
|
|
201
207
|
if (!to) {
|
|
202
208
|
throw new Error(`Input validation error: empty 'to' is not allowed`);
|
|
203
209
|
}
|
|
204
|
-
const cardContent = {
|
|
205
|
-
metadata: true,
|
|
206
|
-
attachments: true,
|
|
207
|
-
content: true,
|
|
208
|
-
};
|
|
209
210
|
this.from = this.project.configuration.cardKeyPrefix;
|
|
210
211
|
this.to = to;
|
|
211
212
|
assert(this.from !== '');
|
|
@@ -261,15 +262,20 @@ export class Rename {
|
|
|
261
262
|
await this.updateTemplate(template.name);
|
|
262
263
|
}
|
|
263
264
|
console.info('Updated templates');
|
|
265
|
+
const calculations = await this.project.calculations(ResourcesFrom.localOnly);
|
|
266
|
+
for (const calculation of calculations) {
|
|
267
|
+
await this.updateCalculation(calculation.name);
|
|
268
|
+
}
|
|
269
|
+
console.info('Updated calculations');
|
|
264
270
|
// Rename all local template cards.
|
|
265
271
|
templates = await this.project.templates(ResourcesFrom.localOnly);
|
|
266
272
|
for (const template of templates) {
|
|
267
273
|
const templateObject = new Template(this.project, template);
|
|
268
|
-
await this.renameCards(
|
|
274
|
+
await this.renameCards(templateObject.cards());
|
|
269
275
|
}
|
|
270
276
|
console.info('Renamed template cards and updated the content');
|
|
271
277
|
// Rename all project cards.
|
|
272
|
-
await this.renameCards(
|
|
278
|
+
await this.renameCards(this.project.cards(this.project.paths.cardRootFolder));
|
|
273
279
|
console.info('Renamed project cards and updated the content');
|
|
274
280
|
await this.updateFiles(this.project.paths.cardRootFolder);
|
|
275
281
|
console.info('Renamed all remaining references in cardRoot folder');
|