@cyberismo/data-handler 0.0.14 → 0.0.16

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.
Files changed (280) hide show
  1. package/dist/card-metadata-updater.js +8 -4
  2. package/dist/card-metadata-updater.js.map +1 -1
  3. package/dist/command-handler.d.ts +4 -0
  4. package/dist/command-handler.js +29 -19
  5. package/dist/command-handler.js.map +1 -1
  6. package/dist/command-manager.d.ts +25 -2
  7. package/dist/command-manager.js +30 -5
  8. package/dist/command-manager.js.map +1 -1
  9. package/dist/commands/create.d.ts +1 -1
  10. package/dist/commands/create.js +45 -93
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/edit.d.ts +1 -15
  13. package/dist/commands/edit.js +15 -89
  14. package/dist/commands/edit.js.map +1 -1
  15. package/dist/commands/export.d.ts +11 -2
  16. package/dist/commands/export.js +58 -58
  17. package/dist/commands/export.js.map +1 -1
  18. package/dist/commands/import.d.ts +9 -1
  19. package/dist/commands/import.js +17 -11
  20. package/dist/commands/import.js.map +1 -1
  21. package/dist/commands/move.d.ts +1 -2
  22. package/dist/commands/move.js +107 -146
  23. package/dist/commands/move.js.map +1 -1
  24. package/dist/commands/remove.d.ts +8 -1
  25. package/dist/commands/remove.js +17 -48
  26. package/dist/commands/remove.js.map +1 -1
  27. package/dist/commands/rename.d.ts +4 -9
  28. package/dist/commands/rename.js +34 -108
  29. package/dist/commands/rename.js.map +1 -1
  30. package/dist/commands/show.d.ts +22 -34
  31. package/dist/commands/show.js +103 -151
  32. package/dist/commands/show.js.map +1 -1
  33. package/dist/commands/transition.d.ts +9 -2
  34. package/dist/commands/transition.js +49 -44
  35. package/dist/commands/transition.js.map +1 -1
  36. package/dist/commands/update.d.ts +18 -12
  37. package/dist/commands/update.js +34 -18
  38. package/dist/commands/update.js.map +1 -1
  39. package/dist/commands/validate.d.ts +18 -10
  40. package/dist/commands/validate.js +101 -47
  41. package/dist/commands/validate.js.map +1 -1
  42. package/dist/containers/card-container.d.ts +87 -24
  43. package/dist/containers/card-container.js +183 -279
  44. package/dist/containers/card-container.js.map +1 -1
  45. package/dist/containers/project/calculation-engine.d.ts +13 -4
  46. package/dist/containers/project/calculation-engine.js +79 -77
  47. package/dist/containers/project/calculation-engine.js.map +1 -1
  48. package/dist/containers/project/card-cache.d.ts +146 -0
  49. package/dist/containers/project/card-cache.js +411 -0
  50. package/dist/containers/project/card-cache.js.map +1 -0
  51. package/dist/containers/project/project-paths.d.ts +5 -4
  52. package/dist/containers/project/project-paths.js +16 -12
  53. package/dist/containers/project/project-paths.js.map +1 -1
  54. package/dist/containers/project/resource-cache.d.ts +169 -0
  55. package/dist/containers/project/resource-cache.js +507 -0
  56. package/dist/containers/project/resource-cache.js.map +1 -0
  57. package/dist/containers/project/resource-handler.d.ts +129 -0
  58. package/dist/containers/project/resource-handler.js +206 -0
  59. package/dist/containers/project/resource-handler.js.map +1 -0
  60. package/dist/containers/project.d.ts +114 -195
  61. package/dist/containers/project.js +425 -535
  62. package/dist/containers/project.js.map +1 -1
  63. package/dist/containers/template.d.ts +22 -32
  64. package/dist/containers/template.js +113 -115
  65. package/dist/containers/template.js.map +1 -1
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.js +1 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/interfaces/folder-content-interfaces.d.ts +7 -4
  70. package/dist/interfaces/folder-content-interfaces.js +3 -3
  71. package/dist/interfaces/folder-content-interfaces.js.map +1 -1
  72. package/dist/interfaces/macros.d.ts +1 -0
  73. package/dist/interfaces/macros.js +1 -1
  74. package/dist/interfaces/macros.js.map +1 -1
  75. package/dist/interfaces/project-interfaces.d.ts +7 -5
  76. package/dist/interfaces/project-interfaces.js.map +1 -1
  77. package/dist/interfaces/resource-interfaces.d.ts +25 -22
  78. package/dist/interfaces/resource-interfaces.js +3 -0
  79. package/dist/interfaces/resource-interfaces.js.map +1 -1
  80. package/dist/macros/common.d.ts +10 -10
  81. package/dist/macros/createCards/index.d.ts +0 -13
  82. package/dist/macros/createCards/index.js.map +1 -1
  83. package/dist/macros/createCards/types.d.ts +44 -0
  84. package/dist/macros/createCards/types.js +15 -0
  85. package/dist/macros/createCards/types.js.map +1 -0
  86. package/dist/macros/graph/index.d.ts +2 -6
  87. package/dist/macros/graph/index.js +14 -28
  88. package/dist/macros/graph/index.js.map +1 -1
  89. package/dist/macros/graph/types.d.ts +23 -0
  90. package/dist/macros/graph/types.js +15 -0
  91. package/dist/macros/graph/types.js.map +1 -0
  92. package/dist/macros/image/index.d.ts +8 -16
  93. package/dist/macros/image/index.js +36 -33
  94. package/dist/macros/image/index.js.map +1 -1
  95. package/dist/macros/image/types.d.ts +38 -0
  96. package/dist/macros/image/types.js +15 -0
  97. package/dist/macros/image/types.js.map +1 -0
  98. package/dist/macros/include/index.d.ts +1 -6
  99. package/dist/macros/include/index.js +4 -7
  100. package/dist/macros/include/index.js.map +1 -1
  101. package/dist/macros/include/types.d.ts +31 -0
  102. package/dist/macros/include/types.js +15 -0
  103. package/dist/macros/include/types.js.map +1 -0
  104. package/dist/macros/index.d.ts +1 -1
  105. package/dist/macros/index.js +2 -2
  106. package/dist/macros/index.js.map +1 -1
  107. package/dist/macros/percentage/index.d.ts +0 -6
  108. package/dist/macros/percentage/index.js.map +1 -1
  109. package/dist/macros/percentage/types.d.ts +31 -0
  110. package/dist/macros/percentage/types.js +15 -0
  111. package/dist/macros/percentage/types.js.map +1 -0
  112. package/dist/macros/report/index.d.ts +0 -3
  113. package/dist/macros/report/index.js +3 -6
  114. package/dist/macros/report/index.js.map +1 -1
  115. package/dist/macros/report/types.d.ts +19 -0
  116. package/dist/macros/report/types.js +15 -0
  117. package/dist/macros/report/types.js.map +1 -0
  118. package/dist/macros/scoreCard/index.d.ts +0 -6
  119. package/dist/macros/scoreCard/index.js.map +1 -1
  120. package/dist/macros/scoreCard/types.d.ts +31 -0
  121. package/dist/macros/scoreCard/types.js +15 -0
  122. package/dist/macros/scoreCard/types.js.map +1 -0
  123. package/dist/macros/types.d.ts +25 -0
  124. package/dist/macros/types.js +2 -0
  125. package/dist/macros/types.js.map +1 -0
  126. package/dist/macros/vega/index.d.ts +0 -4
  127. package/dist/macros/vega/index.js.map +1 -1
  128. package/dist/macros/vega/types.d.ts +20 -0
  129. package/dist/macros/vega/types.js +2 -0
  130. package/dist/macros/vega/types.js.map +1 -0
  131. package/dist/macros/vegalite/index.d.ts +0 -4
  132. package/dist/macros/vegalite/index.js.map +1 -1
  133. package/dist/macros/vegalite/types.d.ts +20 -0
  134. package/dist/macros/vegalite/types.js +15 -0
  135. package/dist/macros/vegalite/types.js.map +1 -0
  136. package/dist/macros/xref/index.d.ts +0 -3
  137. package/dist/macros/xref/index.js +5 -14
  138. package/dist/macros/xref/index.js.map +1 -1
  139. package/dist/macros/xref/types.d.ts +19 -0
  140. package/dist/macros/xref/types.js +15 -0
  141. package/dist/macros/xref/types.js.map +1 -0
  142. package/dist/module-manager.d.ts +16 -3
  143. package/dist/module-manager.js +55 -23
  144. package/dist/module-manager.js.map +1 -1
  145. package/dist/project-settings.d.ts +16 -3
  146. package/dist/project-settings.js +79 -14
  147. package/dist/project-settings.js.map +1 -1
  148. package/dist/resources/calculation-resource.d.ts +6 -33
  149. package/dist/resources/calculation-resource.js +11 -60
  150. package/dist/resources/calculation-resource.js.map +1 -1
  151. package/dist/resources/card-type-resource.d.ts +10 -22
  152. package/dist/resources/card-type-resource.js +46 -66
  153. package/dist/resources/card-type-resource.js.map +1 -1
  154. package/dist/resources/create-defaults.d.ts +3 -2
  155. package/dist/resources/create-defaults.js +3 -2
  156. package/dist/resources/create-defaults.js.map +1 -1
  157. package/dist/resources/field-type-resource.d.ts +8 -22
  158. package/dist/resources/field-type-resource.js +35 -60
  159. package/dist/resources/field-type-resource.js.map +1 -1
  160. package/dist/resources/file-resource.d.ts +14 -35
  161. package/dist/resources/file-resource.js +22 -301
  162. package/dist/resources/file-resource.js.map +1 -1
  163. package/dist/resources/folder-resource.d.ts +44 -66
  164. package/dist/resources/folder-resource.js +102 -149
  165. package/dist/resources/folder-resource.js.map +1 -1
  166. package/dist/resources/graph-model-resource.d.ts +9 -34
  167. package/dist/resources/graph-model-resource.js +18 -64
  168. package/dist/resources/graph-model-resource.js.map +1 -1
  169. package/dist/resources/graph-view-resource.d.ts +9 -29
  170. package/dist/resources/graph-view-resource.js +13 -48
  171. package/dist/resources/graph-view-resource.js.map +1 -1
  172. package/dist/resources/link-type-resource.d.ts +9 -23
  173. package/dist/resources/link-type-resource.js +11 -33
  174. package/dist/resources/link-type-resource.js.map +1 -1
  175. package/dist/resources/report-resource.d.ts +10 -23
  176. package/dist/resources/report-resource.js +20 -67
  177. package/dist/resources/report-resource.js.map +1 -1
  178. package/dist/resources/resource-object.d.ts +143 -23
  179. package/dist/resources/resource-object.js +369 -48
  180. package/dist/resources/resource-object.js.map +1 -1
  181. package/dist/resources/template-resource.d.ts +10 -17
  182. package/dist/resources/template-resource.js +19 -27
  183. package/dist/resources/template-resource.js.map +1 -1
  184. package/dist/resources/workflow-resource.d.ts +9 -25
  185. package/dist/resources/workflow-resource.js +25 -55
  186. package/dist/resources/workflow-resource.js.map +1 -1
  187. package/dist/utils/card-utils.d.ts +69 -19
  188. package/dist/utils/card-utils.js +179 -30
  189. package/dist/utils/card-utils.js.map +1 -1
  190. package/dist/utils/clingo-fact-builder.d.ts +25 -14
  191. package/dist/utils/clingo-fact-builder.js +27 -5
  192. package/dist/utils/clingo-fact-builder.js.map +1 -1
  193. package/dist/utils/clingo-facts.js +14 -7
  194. package/dist/utils/clingo-facts.js.map +1 -1
  195. package/dist/utils/clingo-parser.js +1 -1
  196. package/dist/utils/clingo-parser.js.map +1 -1
  197. package/dist/utils/constants.d.ts +2 -0
  198. package/dist/utils/constants.js +4 -0
  199. package/dist/utils/constants.js.map +1 -1
  200. package/dist/utils/csv.js +1 -1
  201. package/dist/utils/csv.js.map +1 -1
  202. package/dist/utils/resource-utils.d.ts +1 -0
  203. package/dist/utils/resource-utils.js +2 -1
  204. package/dist/utils/resource-utils.js.map +1 -1
  205. package/package.json +11 -11
  206. package/src/card-metadata-updater.ts +9 -7
  207. package/src/command-handler.ts +35 -23
  208. package/src/command-manager.ts +32 -19
  209. package/src/commands/create.ts +59 -160
  210. package/src/commands/edit.ts +16 -132
  211. package/src/commands/export.ts +71 -81
  212. package/src/commands/import.ts +26 -18
  213. package/src/commands/move.ts +143 -179
  214. package/src/commands/remove.ts +20 -59
  215. package/src/commands/rename.ts +45 -156
  216. package/src/commands/show.ts +153 -211
  217. package/src/commands/transition.ts +53 -58
  218. package/src/commands/update.ts +44 -23
  219. package/src/commands/validate.ts +108 -82
  220. package/src/containers/card-container.ts +200 -360
  221. package/src/containers/project/calculation-engine.ts +81 -105
  222. package/src/containers/project/card-cache.ts +497 -0
  223. package/src/containers/project/project-paths.ts +21 -13
  224. package/src/containers/project/resource-cache.ts +648 -0
  225. package/src/containers/project/resource-handler.ts +265 -0
  226. package/src/containers/project.ts +551 -693
  227. package/src/containers/template.ts +129 -142
  228. package/src/index.ts +1 -0
  229. package/src/interfaces/folder-content-interfaces.ts +14 -7
  230. package/src/interfaces/macros.ts +2 -0
  231. package/src/interfaces/project-interfaces.ts +14 -7
  232. package/src/interfaces/resource-interfaces.ts +30 -27
  233. package/src/macros/createCards/index.ts +1 -12
  234. package/src/macros/createCards/types.ts +46 -0
  235. package/src/macros/graph/index.ts +27 -52
  236. package/src/macros/graph/types.ts +24 -0
  237. package/src/macros/image/index.ts +50 -61
  238. package/src/macros/image/types.ts +39 -0
  239. package/src/macros/include/index.ts +6 -15
  240. package/src/macros/include/types.ts +32 -0
  241. package/src/macros/index.ts +2 -2
  242. package/src/macros/percentage/index.ts +1 -7
  243. package/src/macros/percentage/types.ts +32 -0
  244. package/src/macros/report/index.ts +4 -13
  245. package/src/macros/report/types.ts +20 -0
  246. package/src/macros/scoreCard/index.ts +1 -7
  247. package/src/macros/scoreCard/types.ts +32 -0
  248. package/src/macros/types.ts +48 -0
  249. package/src/macros/vega/index.ts +1 -4
  250. package/src/macros/vega/types.ts +21 -0
  251. package/src/macros/vegalite/index.ts +1 -4
  252. package/src/macros/vegalite/types.ts +22 -0
  253. package/src/macros/xref/index.ts +6 -20
  254. package/src/macros/xref/types.ts +20 -0
  255. package/src/module-manager.ts +79 -22
  256. package/src/project-settings.ts +84 -15
  257. package/src/resources/calculation-resource.ts +21 -91
  258. package/src/resources/card-type-resource.ts +74 -109
  259. package/src/resources/create-defaults.ts +3 -2
  260. package/src/resources/field-type-resource.ts +61 -104
  261. package/src/resources/file-resource.ts +33 -441
  262. package/src/resources/folder-resource.ts +130 -207
  263. package/src/resources/graph-model-resource.ts +36 -95
  264. package/src/resources/graph-view-resource.ts +28 -70
  265. package/src/resources/link-type-resource.ts +23 -53
  266. package/src/resources/report-resource.ts +34 -96
  267. package/src/resources/resource-object.ts +511 -66
  268. package/src/resources/template-resource.ts +32 -44
  269. package/src/resources/workflow-resource.ts +42 -85
  270. package/src/utils/card-utils.ts +217 -31
  271. package/src/utils/clingo-fact-builder.ts +28 -16
  272. package/src/utils/clingo-facts.ts +16 -7
  273. package/src/utils/clingo-parser.ts +1 -1
  274. package/src/utils/constants.ts +6 -0
  275. package/src/utils/csv.ts +1 -1
  276. package/src/utils/resource-utils.ts +2 -1
  277. package/dist/containers/project/resource-collector.d.ts +0 -87
  278. package/dist/containers/project/resource-collector.js +0 -337
  279. package/dist/containers/project/resource-collector.js.map +0 -1
  280. package/src/containers/project/resource-collector.ts +0 -396
@@ -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, sep } from 'node:path';
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 { resourceName } from '../utils/resource-utils.js';
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
- async getSiblings(card) {
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
- const template = this.project.createTemplateObjectFromCard(card);
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
- return template.cards();
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 = await this.project.findSpecificCard(parentCardKey, {
63
- children: true,
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
- if (parentCard) {
71
- return parentCard.children || [];
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 promiseContainer = [];
109
- promiseContainer.push(this.project.findSpecificCard(source));
110
- if (destination !== ROOT) {
111
- promiseContainer.push(this.project.findSpecificCard(destination));
112
- }
113
- else {
114
- const returnObject = {
115
- key: '',
116
- path: this.project.paths.cardRootFolder,
117
- children: [],
118
- attachments: [],
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.path.includes(`${sep}modules`) ||
134
- sourceCard.path.includes(`${sep}modules${sep}`)) {
93
+ if ((destinationCard && isModuleCard(destinationCard)) ||
94
+ isModuleCard(sourceCard)) {
135
95
  throw new Error(`Cannot modify imported module templates`);
136
96
  }
137
- const bothTemplateCards = isTemplateCard(sourceCard) && isTemplateCard(destinationCard);
138
- const bothProjectCards = this.project.hasCard(sourceCard.key) &&
139
- this.project.hasCard(destinationCard.key);
140
- if (!(bothTemplateCards || bothProjectCards)) {
141
- throw new Error(`Cards cannot be moved from project to template or vice versa`);
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 = destination === ROOT
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
- // rerank the card in the new location
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 (destination !== ROOT) {
157
- const parent = await this.project.findSpecificCard(destination, {
158
- children: true,
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 = await this.project.showProjectCards();
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,40 @@ export class Move {
174
139
  const rank = lastChild && lastChild.metadata
175
140
  ? getRankAfter(lastChild.metadata.rank)
176
141
  : FIRST_RANK;
177
- await this.project.updateCardMetadataKey(sourceCard.key, 'rank', rank);
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
+ }
151
+ // Handle cache update and persistence
152
+ await this.project.updateCard(sourceCard);
153
+ const updatedCard = {
154
+ ...sourceCard,
155
+ path: destinationPath,
156
+ parent: movingToRoot ? ROOT : destination,
157
+ metadata: sourceCard.metadata
158
+ ? {
159
+ ...sourceCard.metadata,
160
+ rank: rank,
161
+ }
162
+ : undefined,
163
+ };
164
+ // Fetch old parent
165
+ const oldParent = sourceCard.parent;
166
+ let oldParentCard;
167
+ if (oldParent && oldParent !== ROOT) {
168
+ oldParentCard = this.project.findCard(oldParent);
169
+ }
170
+ let newParentCard;
171
+ if (!movingToRoot) {
172
+ newParentCard = this.project.findCard(destination);
173
+ }
174
+ // Finally, update the project
175
+ await this.project.handleCardMoved(updatedCard, newParentCard, oldParentCard);
180
176
  }
181
177
  /**
182
178
  * Ranks card using position given as 'index'.
@@ -191,14 +187,11 @@ export class Move {
191
187
  await this.rankFirst(cardKey);
192
188
  return;
193
189
  }
194
- const card = await this.project.findSpecificCard(cardKey, {
195
- metadata: true,
196
- parent: true,
197
- });
198
- if (!card || !card.parent) {
199
- throw new Error(`Card ${cardKey} not found from project`);
190
+ const card = this.project.findCard(cardKey);
191
+ if (!card.parent) {
192
+ throw new Error(`Parent card ${cardKey} not found from project`);
200
193
  }
201
- const children = sortItems(await this.getSiblings(card), (item) => item.metadata?.rank || EMPTY_RANK);
194
+ const children = sortItems(this.getSiblings(card), (item) => item.metadata?.rank || EMPTY_RANK);
202
195
  if (!children || children.length === 0) {
203
196
  throw new Error(`Children not found from card ${card.parent}`);
204
197
  }
@@ -213,24 +206,12 @@ export class Move {
213
206
  * @param beforeCardKey Card key after which the card will be ranked
214
207
  */
215
208
  async rankCard(cardKey, beforeCardKey) {
216
- const card = await this.project.findSpecificCard(cardKey, {
217
- metadata: true,
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
- }
209
+ const card = this.project.findCard(cardKey);
210
+ const beforeCard = this.project.findCard(beforeCardKey);
230
211
  if (beforeCard.parent !== card.parent) {
231
212
  throw new Error(`Cards must be from the same parent`);
232
213
  }
233
- const children = sortItems(await this.getSiblings(beforeCard), (item) => item.metadata?.rank || EMPTY_RANK);
214
+ const children = sortItems(this.getSiblings(beforeCard), (item) => item.metadata?.rank || EMPTY_RANK);
234
215
  if (!children) {
235
216
  throw new Error(`Children not found from card ${beforeCard.parent}`);
236
217
  }
@@ -238,9 +219,8 @@ export class Move {
238
219
  if (beforeCardIndex === -1) {
239
220
  throw new Error(`Card ${beforeCardKey} is not a child of ${beforeCard.parent}`);
240
221
  }
241
- if (children[beforeCardIndex].key === cardKey ||
242
- children[beforeCardIndex + 1]?.key === cardKey) {
243
- throw new Error(`Card ${cardKey} is already in the correct position`);
222
+ if (children[beforeCardIndex].key === cardKey) {
223
+ throw new Error(`Card cannot be ranked after itself`);
244
224
  }
245
225
  if (beforeCardIndex === children.length - 1) {
246
226
  await this.project.updateCardMetadataKey(cardKey, 'rank', getRankAfter(beforeCard.metadata?.rank));
@@ -254,11 +234,8 @@ export class Move {
254
234
  * @param cardKey card key
255
235
  */
256
236
  async rankFirst(cardKey) {
257
- const card = await this.getCard(cardKey, {
258
- metadata: true,
259
- parent: true,
260
- });
261
- const children = sortItems(await this.getSiblings(card), (item) => item.metadata?.rank || EMPTY_RANK);
237
+ const card = this.project.findCard(cardKey);
238
+ const children = sortItems(this.getSiblings(card), (item) => item.metadata?.rank || EMPTY_RANK);
262
239
  if (!children || children.length === 0) {
263
240
  throw new Error(`Children not found from card ${card.parent}`);
264
241
  }
@@ -291,49 +268,33 @@ export class Move {
291
268
  * @param parentCardKey parent card key
292
269
  */
293
270
  async rebalanceChildren(parentCardKey) {
294
- const parentCard = await this.project.findSpecificCard(parentCardKey, {
295
- children: true,
296
- metadata: true,
297
- });
271
+ const parentCard = this.project.findCard(parentCardKey);
298
272
  if (!parentCard || !parentCard.children) {
299
273
  throw new Error(`Card ${parentCardKey} not found from project`);
300
274
  }
301
- await this.rebalanceCards(parentCard.children);
275
+ await this.rebalanceCards(this.project.cardKeysToCards(parentCard.children));
302
276
  }
303
277
  /**
304
278
  * Rebalances the ranks of the cards in the whole project, including templates
305
279
  * Can be used even if the ranks do not exist
306
280
  */
307
281
  async rebalanceProject() {
308
- const cards = await this.project.showProjectCards();
282
+ const cards = this.project.showProjectCards();
309
283
  await this.rebalanceProjectRecursively(cards);
310
- // rebalance templates
311
- const templates = await this.project.templates(ResourcesFrom.localOnly);
312
- for (const template of templates) {
313
- const templateResource = new TemplateResource(this.project, resourceName(template.name));
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);
284
+ const templateCards = this.project.allTemplateCards();
285
+ const cardGroups = templateCards.reduce((result, card) => {
286
+ // template card root cards always have a parent(, thus this shouldn't happen
287
+ if (!card.parent) {
332
288
  return result;
333
- }, {});
334
- for (const [, cards] of Object.entries(cardGroups)) {
335
- await this.rebalanceCards(cards);
336
289
  }
290
+ if (!result[card.parent]) {
291
+ result[card.parent] = [];
292
+ }
293
+ result[card.parent].push(card);
294
+ return result;
295
+ }, {});
296
+ for (const [, cards] of Object.entries(cardGroups)) {
297
+ await this.rebalanceCards(cards);
337
298
  }
338
299
  }
339
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/commands/move.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/commands/move.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
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
- import { Project } from '../containers/project.js';
13
+ import type { Project } from '../containers/project.js';
14
14
  import type { RemovableResourceTypes } from '../interfaces/project-interfaces.js';
15
15
  /**
16
16
  * Remove command.
@@ -18,6 +18,10 @@ import type { RemovableResourceTypes } from '../interfaces/project-interfaces.js
18
18
  export declare class Remove {
19
19
  private project;
20
20
  private moduleManager;
21
+ /**
22
+ * Creates a new instance of Remove command.
23
+ * @param project Project instance to use
24
+ */
21
25
  constructor(project: Project);
22
26
  private projectResource;
23
27
  private removeAttachment;
@@ -32,6 +36,9 @@ export declare class Remove {
32
36
  * @param rest Additional arguments
33
37
  * @note removing attachment requires card id and attachment filename
34
38
  * @note removing link requires card ids of source card, and optionally link type and link description
39
+ * @throws when removing an attachment, but attachment parameter is missing, or
40
+ * when removing link, some of the mandatory parameters are missing, or
41
+ * when trying to remove unknown type
35
42
  */
36
43
  remove(type: RemovableResourceTypes, targetName: string, ...rest: any[]): Promise<void>;
37
44
  }
@@ -10,20 +10,19 @@
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 { deleteDir, deleteFile } from '../utils/file-utils.js';
14
+ import { isModuleCard } from '../utils/card-utils.js';
17
15
  import { ModuleManager } from '../module-manager.js';
18
- import { Project } from '../containers/project.js';
19
- import { resourceName } from '../utils/resource-utils.js';
20
- const MODULES_PATH = `${sep}modules${sep}`;
21
16
  /**
22
17
  * Remove command.
23
18
  */
24
19
  export class Remove {
25
20
  project;
26
21
  moduleManager;
22
+ /**
23
+ * Creates a new instance of Remove command.
24
+ * @param project Project instance to use
25
+ */
27
26
  constructor(project) {
28
27
  this.project = project;
29
28
  this.moduleManager = new ModuleManager(this.project);
@@ -45,36 +44,22 @@ export class Remove {
45
44
  if (!attachment) {
46
45
  throw new Error(`Attachment filename required`);
47
46
  }
48
- const attachmentFolder = await this.project.cardAttachmentFolder(cardKey);
49
- // Imported templates cannot be modified.
50
- if (attachmentFolder.includes(MODULES_PATH)) {
51
- throw new Error(`Cannot modify imported module`);
52
- }
53
- // Attachment's reside in 'a' folders.
54
- const success = await deleteFile(join(attachmentFolder, attachment));
55
- if (!success) {
56
- throw new Error('No such file');
57
- }
47
+ return this.project.removeCardAttachment(cardKey, attachment);
58
48
  }
59
49
  // Removes card from project or template
60
50
  async removeCard(cardKey) {
61
- const cardFolder = await this.project.cardFolder(cardKey);
62
- if (!cardFolder) {
63
- throw new Error(`Card '${cardKey}' not found`);
64
- }
51
+ const card = this.project.findCard(cardKey);
65
52
  // Imported templates cannot be modified.
66
- if (cardFolder.includes(MODULES_PATH)) {
53
+ if (isModuleCard(card)) {
67
54
  throw new Error(`Cannot modify imported module`);
68
55
  }
69
56
  // Make sure card can be removed if it's a project card
70
- if (!(await this.project.isTemplateCard(cardKey))) {
57
+ if (this.project.hasProjectCard(cardKey)) {
71
58
  const actionGuard = new ActionGuard(this.project.calculationEngine);
72
59
  await actionGuard.checkPermission('delete', cardKey);
73
60
  }
74
61
  // If card is destination of a link, remove the link.
75
- const allCards = await this.project.cards(this.project.paths.cardRootFolder, {
76
- metadata: true,
77
- });
62
+ const allCards = this.project.cards(this.project.paths.cardRootFolder);
78
63
  const promiseContainer = [];
79
64
  for (const item of allCards) {
80
65
  const links = item.metadata?.links ?? [];
@@ -85,26 +70,13 @@ export class Remove {
85
70
  }
86
71
  }
87
72
  await Promise.all(promiseContainer);
88
- // Calculations need to be updated before card is removed.
89
- const card = await this.project.findSpecificCard(cardKey, {
90
- metadata: true,
91
- children: true,
92
- content: false,
93
- parent: false,
94
- });
95
- await deleteDir(cardFolder);
96
73
  if (card) {
97
- await this.project.handleDeleteCard(card);
74
+ await this.project.handleCardDeleted(card);
98
75
  }
99
76
  }
100
77
  // removes label from project
101
78
  async removeLabel(cardKey, label) {
102
- const card = await this.project.findSpecificCard(cardKey, {
103
- metadata: true,
104
- });
105
- if (!card) {
106
- throw new Error(`Card '${cardKey}' does not exist in the project`);
107
- }
79
+ const card = this.project.findCard(cardKey);
108
80
  let labels = card.metadata?.labels ?? [];
109
81
  if (!label && labels.length !== 1) {
110
82
  throw new Error(`No label given and ${labels.length === 0 ? 'there are no labels' : 'there are multiple labels'}`);
@@ -121,12 +93,7 @@ export class Remove {
121
93
  }
122
94
  // Removes link from project.
123
95
  async removeLink(sourceCardKey, destinationCardKey, linkType, linkDescription) {
124
- const sourceCard = await this.project.findSpecificCard(sourceCardKey, {
125
- metadata: true,
126
- });
127
- if (!sourceCard) {
128
- throw new Error(`Card '${sourceCardKey}' not found`);
129
- }
96
+ const sourceCard = this.project.findCard(sourceCardKey);
130
97
  const link = sourceCard.metadata?.links.find((l) => l.cardKey === destinationCardKey &&
131
98
  (!linkType || l.linkType === linkType) &&
132
99
  (!linkDescription || l.linkDescription === linkDescription));
@@ -151,10 +118,12 @@ export class Remove {
151
118
  * @param rest Additional arguments
152
119
  * @note removing attachment requires card id and attachment filename
153
120
  * @note removing link requires card ids of source card, and optionally link type and link description
121
+ * @throws when removing an attachment, but attachment parameter is missing, or
122
+ * when removing link, some of the mandatory parameters are missing, or
123
+ * when trying to remove unknown type
154
124
  */
155
125
  async remove(type, targetName, ...rest // eslint-disable-line @typescript-eslint/no-explicit-any
156
126
  ) {
157
- const strictNameCheck = true;
158
127
  if (type === 'attachment' && rest.length !== 1 && !rest[0]) {
159
128
  throw new Error(`Input validation error: must pass argument 'detail' if requesting to remove attachment`);
160
129
  }
@@ -165,7 +134,7 @@ export class Remove {
165
134
  throw new Error(`Input validation error: must pass arguments 'source', 'destination' and possibly 'linkType' if requesting to remove link`);
166
135
  }
167
136
  if (this.projectResource(type)) {
168
- const resource = Project.resourceObject(this.project, resourceName(targetName, strictNameCheck));
137
+ const resource = this.project.resources.byType(targetName, this.project.resources.resourceTypeFromSingularType(type));
169
138
  return resource?.delete();
170
139
  }
171
140
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ export declare class Rename {
18
18
  private project;
19
19
  private from;
20
20
  private to;
21
+ /**
22
+ * Creates an instance of Rename command.
23
+ * @param project Project instance to use.
24
+ */
21
25
  constructor(project: Project);
22
26
  private renameCard;
23
27
  private renameCards;
@@ -26,15 +30,6 @@ export declare class Rename {
26
30
  private updateCardMetadata;
27
31
  private updateFiles;
28
32
  private updateResourceName;
29
- private updateCardTypeMetadata;
30
- private updateCalculation;
31
- private updateFieldTypeMetadata;
32
- private updateGraphModelMetadata;
33
- private updateGraphViewMetadata;
34
- private updateLinkTypeMetadata;
35
- private updateReport;
36
- private updateTemplate;
37
- private updateWorkflowMetadata;
38
33
  /**
39
34
  * Renames project prefix.
40
35
  * @throws if trying to use empty 'to'