@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.
Files changed (262) hide show
  1. package/dist/card-metadata-updater.js +1 -3
  2. package/dist/card-metadata-updater.js.map +1 -1
  3. package/dist/command-handler.js +13 -17
  4. package/dist/command-handler.js.map +1 -1
  5. package/dist/command-manager.d.ts +1 -1
  6. package/dist/command-manager.js +4 -3
  7. package/dist/command-manager.js.map +1 -1
  8. package/dist/commands/create.d.ts +3 -3
  9. package/dist/commands/create.js +20 -81
  10. package/dist/commands/create.js.map +1 -1
  11. package/dist/commands/edit.d.ts +12 -25
  12. package/dist/commands/edit.js +25 -74
  13. package/dist/commands/edit.js.map +1 -1
  14. package/dist/commands/export.js +4 -17
  15. package/dist/commands/export.js.map +1 -1
  16. package/dist/commands/fetch.js +2 -1
  17. package/dist/commands/fetch.js.map +1 -1
  18. package/dist/commands/import.js +3 -5
  19. package/dist/commands/import.js.map +1 -1
  20. package/dist/commands/move.d.ts +1 -2
  21. package/dist/commands/move.js +108 -146
  22. package/dist/commands/move.js.map +1 -1
  23. package/dist/commands/remove.js +15 -49
  24. package/dist/commands/remove.js.map +1 -1
  25. package/dist/commands/rename.d.ts +1 -0
  26. package/dist/commands/rename.js +13 -7
  27. package/dist/commands/rename.js.map +1 -1
  28. package/dist/commands/show.d.ts +7 -25
  29. package/dist/commands/show.js +39 -113
  30. package/dist/commands/show.js.map +1 -1
  31. package/dist/commands/transition.js +27 -30
  32. package/dist/commands/transition.js.map +1 -1
  33. package/dist/commands/update.d.ts +5 -3
  34. package/dist/commands/update.js +19 -5
  35. package/dist/commands/update.js.map +1 -1
  36. package/dist/commands/validate.d.ts +3 -3
  37. package/dist/commands/validate.js +20 -27
  38. package/dist/commands/validate.js.map +1 -1
  39. package/dist/containers/card-container.d.ts +87 -24
  40. package/dist/containers/card-container.js +183 -279
  41. package/dist/containers/card-container.js.map +1 -1
  42. package/dist/containers/project/calculation-engine.d.ts +6 -0
  43. package/dist/containers/project/calculation-engine.js +36 -29
  44. package/dist/containers/project/calculation-engine.js.map +1 -1
  45. package/dist/containers/project/card-cache.d.ts +146 -0
  46. package/dist/containers/project/card-cache.js +411 -0
  47. package/dist/containers/project/card-cache.js.map +1 -0
  48. package/dist/containers/project/resource-collector.d.ts +24 -1
  49. package/dist/containers/project/resource-collector.js +8 -1
  50. package/dist/containers/project/resource-collector.js.map +1 -1
  51. package/dist/containers/project.d.ts +119 -84
  52. package/dist/containers/project.js +423 -253
  53. package/dist/containers/project.js.map +1 -1
  54. package/dist/containers/template.d.ts +15 -31
  55. package/dist/containers/template.js +97 -104
  56. package/dist/containers/template.js.map +1 -1
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.js +1 -0
  59. package/dist/index.js.map +1 -1
  60. package/dist/interfaces/folder-content-interfaces.d.ts +12 -5
  61. package/dist/interfaces/folder-content-interfaces.js +5 -3
  62. package/dist/interfaces/folder-content-interfaces.js.map +1 -1
  63. package/dist/interfaces/macros.d.ts +1 -0
  64. package/dist/interfaces/macros.js +1 -1
  65. package/dist/interfaces/macros.js.map +1 -1
  66. package/dist/interfaces/project-interfaces.d.ts +16 -10
  67. package/dist/interfaces/project-interfaces.js +10 -8
  68. package/dist/interfaces/project-interfaces.js.map +1 -1
  69. package/dist/interfaces/resource-interfaces.d.ts +21 -22
  70. package/dist/interfaces/resource-interfaces.js +3 -0
  71. package/dist/interfaces/resource-interfaces.js.map +1 -1
  72. package/dist/macros/common.d.ts +10 -10
  73. package/dist/macros/createCards/index.d.ts +0 -13
  74. package/dist/macros/createCards/index.js.map +1 -1
  75. package/dist/macros/createCards/types.d.ts +44 -0
  76. package/dist/macros/createCards/types.js +15 -0
  77. package/dist/macros/createCards/types.js.map +1 -0
  78. package/dist/macros/graph/index.d.ts +2 -6
  79. package/dist/macros/graph/index.js +2 -2
  80. package/dist/macros/graph/index.js.map +1 -1
  81. package/dist/macros/graph/types.d.ts +23 -0
  82. package/dist/macros/graph/types.js +15 -0
  83. package/dist/macros/graph/types.js.map +1 -0
  84. package/dist/macros/image/index.d.ts +8 -16
  85. package/dist/macros/image/index.js +36 -33
  86. package/dist/macros/image/index.js.map +1 -1
  87. package/dist/macros/image/types.d.ts +38 -0
  88. package/dist/macros/image/types.js +15 -0
  89. package/dist/macros/image/types.js.map +1 -0
  90. package/dist/macros/include/index.d.ts +1 -6
  91. package/dist/macros/include/index.js +4 -7
  92. package/dist/macros/include/index.js.map +1 -1
  93. package/dist/macros/include/types.d.ts +31 -0
  94. package/dist/macros/include/types.js +15 -0
  95. package/dist/macros/include/types.js.map +1 -0
  96. package/dist/macros/percentage/index.d.ts +0 -6
  97. package/dist/macros/percentage/index.js.map +1 -1
  98. package/dist/macros/percentage/types.d.ts +31 -0
  99. package/dist/macros/percentage/types.js +15 -0
  100. package/dist/macros/percentage/types.js.map +1 -0
  101. package/dist/macros/report/index.d.ts +0 -3
  102. package/dist/macros/report/index.js.map +1 -1
  103. package/dist/macros/report/types.d.ts +19 -0
  104. package/dist/macros/report/types.js +15 -0
  105. package/dist/macros/report/types.js.map +1 -0
  106. package/dist/macros/scoreCard/index.d.ts +0 -6
  107. package/dist/macros/scoreCard/index.js.map +1 -1
  108. package/dist/macros/scoreCard/types.d.ts +31 -0
  109. package/dist/macros/scoreCard/types.js +15 -0
  110. package/dist/macros/scoreCard/types.js.map +1 -0
  111. package/dist/macros/types.d.ts +25 -0
  112. package/dist/macros/types.js +2 -0
  113. package/dist/macros/types.js.map +1 -0
  114. package/dist/macros/vega/index.d.ts +0 -4
  115. package/dist/macros/vega/index.js.map +1 -1
  116. package/dist/macros/vega/types.d.ts +20 -0
  117. package/dist/macros/vega/types.js +2 -0
  118. package/dist/macros/vega/types.js.map +1 -0
  119. package/dist/macros/vegalite/index.d.ts +0 -4
  120. package/dist/macros/vegalite/index.js.map +1 -1
  121. package/dist/macros/vegalite/types.d.ts +20 -0
  122. package/dist/macros/vegalite/types.js +15 -0
  123. package/dist/macros/vegalite/types.js.map +1 -0
  124. package/dist/macros/xref/index.d.ts +0 -3
  125. package/dist/macros/xref/index.js +5 -14
  126. package/dist/macros/xref/index.js.map +1 -1
  127. package/dist/macros/xref/types.d.ts +19 -0
  128. package/dist/macros/xref/types.js +15 -0
  129. package/dist/macros/xref/types.js.map +1 -0
  130. package/dist/module-manager.js +4 -4
  131. package/dist/module-manager.js.map +1 -1
  132. package/dist/project-settings.js.map +1 -1
  133. package/dist/resources/calculation-resource.d.ts +43 -0
  134. package/dist/resources/calculation-resource.js +75 -0
  135. package/dist/resources/calculation-resource.js.map +1 -0
  136. package/dist/resources/card-type-resource.d.ts +4 -21
  137. package/dist/resources/card-type-resource.js +13 -44
  138. package/dist/resources/card-type-resource.js.map +1 -1
  139. package/dist/resources/create-defaults.d.ts +13 -6
  140. package/dist/resources/create-defaults.js +19 -5
  141. package/dist/resources/create-defaults.js.map +1 -1
  142. package/dist/resources/field-type-resource.d.ts +4 -21
  143. package/dist/resources/field-type-resource.js +14 -38
  144. package/dist/resources/field-type-resource.js.map +1 -1
  145. package/dist/resources/file-resource.d.ts +12 -29
  146. package/dist/resources/file-resource.js +19 -287
  147. package/dist/resources/file-resource.js.map +1 -1
  148. package/dist/resources/folder-resource.d.ts +32 -51
  149. package/dist/resources/folder-resource.js +68 -96
  150. package/dist/resources/folder-resource.js.map +1 -1
  151. package/dist/resources/graph-model-resource.d.ts +5 -33
  152. package/dist/resources/graph-model-resource.js +8 -61
  153. package/dist/resources/graph-model-resource.js.map +1 -1
  154. package/dist/resources/graph-view-resource.d.ts +5 -28
  155. package/dist/resources/graph-view-resource.js +6 -45
  156. package/dist/resources/graph-view-resource.js.map +1 -1
  157. package/dist/resources/link-type-resource.d.ts +4 -21
  158. package/dist/resources/link-type-resource.js +6 -31
  159. package/dist/resources/link-type-resource.js.map +1 -1
  160. package/dist/resources/report-resource.d.ts +5 -17
  161. package/dist/resources/report-resource.js +6 -44
  162. package/dist/resources/report-resource.js.map +1 -1
  163. package/dist/resources/resource-object.d.ts +58 -23
  164. package/dist/resources/resource-object.js +307 -26
  165. package/dist/resources/resource-object.js.map +1 -1
  166. package/dist/resources/template-resource.d.ts +4 -15
  167. package/dist/resources/template-resource.js +10 -25
  168. package/dist/resources/template-resource.js.map +1 -1
  169. package/dist/resources/workflow-resource.d.ts +4 -23
  170. package/dist/resources/workflow-resource.js +12 -38
  171. package/dist/resources/workflow-resource.js.map +1 -1
  172. package/dist/utils/card-utils.d.ts +69 -19
  173. package/dist/utils/card-utils.js +179 -30
  174. package/dist/utils/card-utils.js.map +1 -1
  175. package/dist/utils/clingo-facts.js +11 -3
  176. package/dist/utils/clingo-facts.js.map +1 -1
  177. package/dist/utils/clingo-parser.js +1 -1
  178. package/dist/utils/clingo-parser.js.map +1 -1
  179. package/dist/utils/constants.d.ts +2 -0
  180. package/dist/utils/constants.js +5 -0
  181. package/dist/utils/constants.js.map +1 -1
  182. package/dist/utils/csv.js +1 -1
  183. package/dist/utils/csv.js.map +1 -1
  184. package/dist/utils/error-utils.d.ts +34 -0
  185. package/dist/utils/error-utils.js +56 -0
  186. package/dist/utils/error-utils.js.map +1 -0
  187. package/dist/utils/log-utils.d.ts +0 -27
  188. package/dist/utils/log-utils.js +0 -58
  189. package/dist/utils/log-utils.js.map +1 -1
  190. package/dist/utils/user-preferences.js +6 -3
  191. package/dist/utils/user-preferences.js.map +1 -1
  192. package/package.json +5 -5
  193. package/src/card-metadata-updater.ts +3 -5
  194. package/src/command-handler.ts +14 -19
  195. package/src/command-manager.ts +4 -3
  196. package/src/commands/create.ts +28 -112
  197. package/src/commands/edit.ts +27 -118
  198. package/src/commands/export.ts +8 -29
  199. package/src/commands/fetch.ts +2 -1
  200. package/src/commands/import.ts +4 -6
  201. package/src/commands/move.ts +144 -179
  202. package/src/commands/remove.ts +12 -54
  203. package/src/commands/rename.ts +22 -7
  204. package/src/commands/show.ts +51 -156
  205. package/src/commands/transition.ts +30 -33
  206. package/src/commands/update.ts +27 -9
  207. package/src/commands/validate.ts +22 -37
  208. package/src/containers/card-container.ts +200 -360
  209. package/src/containers/project/calculation-engine.ts +43 -33
  210. package/src/containers/project/card-cache.ts +497 -0
  211. package/src/containers/project/resource-collector.ts +9 -1
  212. package/src/containers/project.ts +533 -328
  213. package/src/containers/template.ts +109 -127
  214. package/src/index.ts +1 -0
  215. package/src/interfaces/folder-content-interfaces.ts +23 -5
  216. package/src/interfaces/macros.ts +2 -0
  217. package/src/interfaces/project-interfaces.ts +19 -10
  218. package/src/interfaces/resource-interfaces.ts +22 -24
  219. package/src/macros/createCards/index.ts +1 -12
  220. package/src/macros/createCards/types.ts +46 -0
  221. package/src/macros/graph/index.ts +3 -7
  222. package/src/macros/graph/types.ts +24 -0
  223. package/src/macros/image/index.ts +50 -61
  224. package/src/macros/image/types.ts +39 -0
  225. package/src/macros/include/index.ts +6 -15
  226. package/src/macros/include/types.ts +32 -0
  227. package/src/macros/percentage/index.ts +1 -7
  228. package/src/macros/percentage/types.ts +32 -0
  229. package/src/macros/report/index.ts +1 -4
  230. package/src/macros/report/types.ts +20 -0
  231. package/src/macros/scoreCard/index.ts +1 -7
  232. package/src/macros/scoreCard/types.ts +32 -0
  233. package/src/macros/types.ts +48 -0
  234. package/src/macros/vega/index.ts +1 -4
  235. package/src/macros/vega/types.ts +21 -0
  236. package/src/macros/vegalite/index.ts +1 -4
  237. package/src/macros/vegalite/types.ts +22 -0
  238. package/src/macros/xref/index.ts +6 -20
  239. package/src/macros/xref/types.ts +20 -0
  240. package/src/module-manager.ts +5 -5
  241. package/src/project-settings.ts +1 -1
  242. package/src/resources/calculation-resource.ts +101 -0
  243. package/src/resources/card-type-resource.ts +24 -59
  244. package/src/resources/create-defaults.ts +21 -5
  245. package/src/resources/field-type-resource.ts +22 -51
  246. package/src/resources/file-resource.ts +27 -403
  247. package/src/resources/folder-resource.ts +99 -125
  248. package/src/resources/graph-model-resource.ts +17 -74
  249. package/src/resources/graph-view-resource.ts +14 -54
  250. package/src/resources/link-type-resource.ts +13 -40
  251. package/src/resources/report-resource.ts +17 -57
  252. package/src/resources/resource-object.ts +454 -39
  253. package/src/resources/template-resource.ts +16 -29
  254. package/src/resources/workflow-resource.ts +26 -50
  255. package/src/utils/card-utils.ts +217 -31
  256. package/src/utils/clingo-facts.ts +13 -3
  257. package/src/utils/clingo-parser.ts +1 -1
  258. package/src/utils/constants.ts +7 -0
  259. package/src/utils/csv.ts +1 -1
  260. package/src/utils/error-utils.ts +62 -0
  261. package/src/utils/log-utils.ts +0 -68
  262. package/src/utils/user-preferences.ts +7 -3
@@ -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,41 @@ 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
+ 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 = 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`);
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(await this.getSiblings(card), (item) => item.metadata?.rank || EMPTY_RANK);
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 = 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
- }
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(await this.getSiblings(beforeCard), (item) => item.metadata?.rank || EMPTY_RANK);
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
- children[beforeCardIndex + 1]?.key === cardKey) {
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 = 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);
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 = await this.project.findSpecificCard(parentCardKey, {
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 = await this.project.showProjectCards();
283
+ const cards = this.project.showProjectCards();
309
284
  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);
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":"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"}
1
+ {"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/commands/move.ts"],"names":[],"mappings":"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"}
@@ -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 { deleteDir, deleteFile } from '../utils/file-utils.js';
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 === 'cardType' ||
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
- const attachmentFolder = await this.project.cardAttachmentFolder(cardKey);
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 cardFolder = await this.project.cardFolder(cardKey);
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 (cardFolder.includes(MODULES_PATH)) {
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 (!(await this.project.isTemplateCard(cardKey))) {
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 = await this.project.cards(this.project.paths.cardRootFolder, {
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.handleDeleteCard(card);
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 = await this.project.findSpecificCard(cardKey, {
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 = await this.project.findSpecificCard(sourceCardKey, {
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;AACP,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,YAAY,GAAG,GAAG,GAAG,UAAU,GAAG,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,MAAM;IAEG;IADZ,aAAa,CAAgB;IACrC,YAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,0CAA0C;IAClC,eAAe,CAAC,IAA4B;QAClD,OAAO,CACL,IAAI,KAAK,UAAU;YACnB,IAAI,KAAK,WAAW;YACpB,IAAI,KAAK,YAAY;YACrB,IAAI,KAAK,WAAW;YACpB,IAAI,KAAK,UAAU;YACnB,IAAI,KAAK,QAAQ;YACjB,IAAI,KAAK,UAAU;YACnB,IAAI,KAAK,UAAU,CACpB,CAAC;IACJ,CAAC;IAED,mDAAmD;IAC3C,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,UAAmB;QACjE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE1E,yCAAyC;QACzC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,wCAAwC;IAChC,KAAK,CAAC,UAAU,CAAC,OAAe;QACtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,aAAa,CAAC,CAAC;QACjD,CAAC;QAED,yCAAyC;QACzC,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpE,MAAM,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,qDAAqD;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACvC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EACjC;YACE,QAAQ,EAAE,IAAI;SACf,CACF,CAAC;QACF,MAAM,gBAAgB,GAAoB,EAAE,CAAC;QAE7C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;YACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC7B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAEpC,0DAA0D;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACxD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,6BAA6B;IACrB,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,KAAa;QACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACxD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,iCAAiC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;QAEzC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAClG,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,4BAA4B,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,0EAA0E;QAC1E,MAAM;YACJ,MAAM,CAAC,MAAM,KAAK,CAAC;gBACjB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAED,6BAA6B;IACrB,KAAK,CAAC,UAAU,CACtB,aAAqB,EACrB,kBAA0B,EAC1B,QAAiB,EACjB,eAAwB;QAExB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE;YACpE,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,SAAS,aAAa,aAAa,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,KAAK,kBAAkB;YAChC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;YACtC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,CAC9D,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,QAAQ;gBACN,CAAC,CAAC,cAAc,aAAa,SAAS,kBAAkB,qBAAqB,QAAQ,aAAa;gBAClG,CAAC,CAAC,cAAc,aAAa,SAAS,kBAAkB,aAAa,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,KAAK,kBAAkB;YAChC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;YACrC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,KAAK,eAAe,CAAC,CAC7D,CAAC;QAEF,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED,6BAA6B;IACrB,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAC1C,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CACjB,IAA4B,EAC5B,UAAkB,EAClB,GAAG,IAAW,CAAC,yDAAyD;;QAExE,MAAM,eAAe,GAAG,IAAI,CAAC;QAE7B,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;QAED,IACE,IAAI,KAAK,MAAM;YACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5B,CAAC,IAAI,CAAC,CAAC,CAAC;YACR,CAAC,IAAI,CAAC,CAAC,CAAC,EACR,CAAC;YACD,MAAM,IAAI,KAAK,CACb,0HAA0H,CAC3H,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CACrC,IAAI,CAAC,OAAO,EACZ,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAC1C,CAAC;YACF,OAAO,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,IAAI,IAAI,KAAK,YAAY;gBACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;iBACxD,IAAI,IAAI,KAAK,MAAM;gBACtB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9D,IAAI,IAAI,KAAK,QAAQ;gBACxB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAChD,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnE,IAAI,IAAI,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAC;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export declare class Rename {
27
27
  private updateFiles;
28
28
  private updateResourceName;
29
29
  private updateCardTypeMetadata;
30
+ private updateCalculation;
30
31
  private updateFieldTypeMetadata;
31
32
  private updateGraphModelMetadata;
32
33
  private updateGraphViewMetadata;
@@ -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(await templateObject.cards('', cardContent));
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(await this.project.cards(this.project.paths.cardRootFolder, cardContent));
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');