@cyberismo/data-handler 0.0.2

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 (306) hide show
  1. package/LICENSE +702 -0
  2. package/dist/card-metadata-updater.d.ts +33 -0
  3. package/dist/card-metadata-updater.js +121 -0
  4. package/dist/card-metadata-updater.js.map +1 -0
  5. package/dist/command-handler.d.ts +96 -0
  6. package/dist/command-handler.js +557 -0
  7. package/dist/command-handler.js.map +1 -0
  8. package/dist/command-manager.d.ts +43 -0
  9. package/dist/command-manager.js +73 -0
  10. package/dist/command-manager.js.map +1 -0
  11. package/dist/commands/calculate.d.ts +86 -0
  12. package/dist/commands/calculate.js +444 -0
  13. package/dist/commands/calculate.js.map +1 -0
  14. package/dist/commands/create.d.ts +114 -0
  15. package/dist/commands/create.js +389 -0
  16. package/dist/commands/create.js.map +1 -0
  17. package/dist/commands/edit.d.ts +37 -0
  18. package/dist/commands/edit.js +99 -0
  19. package/dist/commands/edit.js.map +1 -0
  20. package/dist/commands/export-site.d.ts +45 -0
  21. package/dist/commands/export-site.js +301 -0
  22. package/dist/commands/export-site.js.map +1 -0
  23. package/dist/commands/export.d.ts +53 -0
  24. package/dist/commands/export.js +251 -0
  25. package/dist/commands/export.js.map +1 -0
  26. package/dist/commands/import.d.ts +53 -0
  27. package/dist/commands/import.js +133 -0
  28. package/dist/commands/import.js.map +1 -0
  29. package/dist/commands/index.d.ts +26 -0
  30. package/dist/commands/index.js +27 -0
  31. package/dist/commands/index.js.map +1 -0
  32. package/dist/commands/move.d.ts +55 -0
  33. package/dist/commands/move.js +341 -0
  34. package/dist/commands/move.js.map +1 -0
  35. package/dist/commands/remove.d.ts +38 -0
  36. package/dist/commands/remove.js +192 -0
  37. package/dist/commands/remove.js.map +1 -0
  38. package/dist/commands/rename.d.ts +46 -0
  39. package/dist/commands/rename.js +289 -0
  40. package/dist/commands/rename.js.map +1 -0
  41. package/dist/commands/show.d.ts +124 -0
  42. package/dist/commands/show.js +345 -0
  43. package/dist/commands/show.js.map +1 -0
  44. package/dist/commands/transition.d.ts +27 -0
  45. package/dist/commands/transition.js +92 -0
  46. package/dist/commands/transition.js.map +1 -0
  47. package/dist/commands/update.d.ts +29 -0
  48. package/dist/commands/update.js +64 -0
  49. package/dist/commands/update.js.map +1 -0
  50. package/dist/commands/validate.d.ts +143 -0
  51. package/dist/commands/validate.js +689 -0
  52. package/dist/commands/validate.js.map +1 -0
  53. package/dist/containers/card-container.d.ts +44 -0
  54. package/dist/containers/card-container.js +282 -0
  55. package/dist/containers/card-container.js.map +1 -0
  56. package/dist/containers/project/project-paths.d.ts +46 -0
  57. package/dist/containers/project/project-paths.js +105 -0
  58. package/dist/containers/project/project-paths.js.map +1 -0
  59. package/dist/containers/project/resource-collector.d.ts +86 -0
  60. package/dist/containers/project/resource-collector.js +331 -0
  61. package/dist/containers/project/resource-collector.js.map +1 -0
  62. package/dist/containers/project.d.ts +351 -0
  63. package/dist/containers/project.js +896 -0
  64. package/dist/containers/project.js.map +1 -0
  65. package/dist/containers/template.d.ts +108 -0
  66. package/dist/containers/template.js +433 -0
  67. package/dist/containers/template.js.map +1 -0
  68. package/dist/exceptions/index.d.ts +19 -0
  69. package/dist/exceptions/index.js +26 -0
  70. package/dist/exceptions/index.js.map +1 -0
  71. package/dist/index.d.ts +16 -0
  72. package/dist/index.js +15 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/interfaces/adoc.d.ts +12 -0
  75. package/dist/interfaces/adoc.js +13 -0
  76. package/dist/interfaces/adoc.js.map +1 -0
  77. package/dist/interfaces/macros.d.ts +45 -0
  78. package/dist/interfaces/macros.js +13 -0
  79. package/dist/interfaces/macros.js.map +1 -0
  80. package/dist/interfaces/project-interfaces.d.ts +121 -0
  81. package/dist/interfaces/project-interfaces.js +21 -0
  82. package/dist/interfaces/project-interfaces.js.map +1 -0
  83. package/dist/interfaces/request-status-interfaces.d.ts +28 -0
  84. package/dist/interfaces/request-status-interfaces.js +20 -0
  85. package/dist/interfaces/request-status-interfaces.js.map +1 -0
  86. package/dist/interfaces/resource-interfaces.d.ts +117 -0
  87. package/dist/interfaces/resource-interfaces.js +20 -0
  88. package/dist/interfaces/resource-interfaces.js.map +1 -0
  89. package/dist/macros/base-macro.d.ts +31 -0
  90. package/dist/macros/base-macro.js +126 -0
  91. package/dist/macros/base-macro.js.map +1 -0
  92. package/dist/macros/common.d.ts +17 -0
  93. package/dist/macros/common.js +23 -0
  94. package/dist/macros/common.js.map +1 -0
  95. package/dist/macros/createCards/index.d.ts +36 -0
  96. package/dist/macros/createCards/index.js +35 -0
  97. package/dist/macros/createCards/index.js.map +1 -0
  98. package/dist/macros/createCards/metadata.d.ts +14 -0
  99. package/dist/macros/createCards/metadata.js +18 -0
  100. package/dist/macros/createCards/metadata.js.map +1 -0
  101. package/dist/macros/graph/index.d.ts +29 -0
  102. package/dist/macros/graph/index.js +91 -0
  103. package/dist/macros/graph/index.js.map +1 -0
  104. package/dist/macros/graph/metadata.d.ts +14 -0
  105. package/dist/macros/graph/metadata.js +18 -0
  106. package/dist/macros/graph/metadata.js.map +1 -0
  107. package/dist/macros/index.d.ts +93 -0
  108. package/dist/macros/index.js +237 -0
  109. package/dist/macros/index.js.map +1 -0
  110. package/dist/macros/report/index.d.ts +26 -0
  111. package/dist/macros/report/index.js +70 -0
  112. package/dist/macros/report/index.js.map +1 -0
  113. package/dist/macros/report/metadata.d.ts +14 -0
  114. package/dist/macros/report/metadata.js +18 -0
  115. package/dist/macros/report/metadata.js.map +1 -0
  116. package/dist/macros/scoreCard/index.d.ts +30 -0
  117. package/dist/macros/scoreCard/index.js +38 -0
  118. package/dist/macros/scoreCard/index.js.map +1 -0
  119. package/dist/macros/scoreCard/metadata.d.ts +14 -0
  120. package/dist/macros/scoreCard/metadata.js +18 -0
  121. package/dist/macros/scoreCard/metadata.js.map +1 -0
  122. package/dist/macros/task-queue.d.ts +46 -0
  123. package/dist/macros/task-queue.js +69 -0
  124. package/dist/macros/task-queue.js.map +1 -0
  125. package/dist/module-manager.d.ts +62 -0
  126. package/dist/module-manager.js +350 -0
  127. package/dist/module-manager.js.map +1 -0
  128. package/dist/permissions/action-guard.d.ts +28 -0
  129. package/dist/permissions/action-guard.js +61 -0
  130. package/dist/permissions/action-guard.js.map +1 -0
  131. package/dist/project-settings.d.ts +42 -0
  132. package/dist/project-settings.js +120 -0
  133. package/dist/project-settings.js.map +1 -0
  134. package/dist/resources/array-handler.d.ts +28 -0
  135. package/dist/resources/array-handler.js +116 -0
  136. package/dist/resources/array-handler.js.map +1 -0
  137. package/dist/resources/card-type-resource.d.ts +72 -0
  138. package/dist/resources/card-type-resource.js +334 -0
  139. package/dist/resources/card-type-resource.js.map +1 -0
  140. package/dist/resources/create-defaults.d.ts +81 -0
  141. package/dist/resources/create-defaults.js +184 -0
  142. package/dist/resources/create-defaults.js.map +1 -0
  143. package/dist/resources/field-type-resource.d.ts +88 -0
  144. package/dist/resources/field-type-resource.js +411 -0
  145. package/dist/resources/field-type-resource.js.map +1 -0
  146. package/dist/resources/file-resource.d.ts +50 -0
  147. package/dist/resources/file-resource.js +301 -0
  148. package/dist/resources/file-resource.js.map +1 -0
  149. package/dist/resources/folder-resource.d.ts +66 -0
  150. package/dist/resources/folder-resource.js +100 -0
  151. package/dist/resources/folder-resource.js.map +1 -0
  152. package/dist/resources/graph-model-resource.d.ts +78 -0
  153. package/dist/resources/graph-model-resource.js +164 -0
  154. package/dist/resources/graph-model-resource.js.map +1 -0
  155. package/dist/resources/graph-view-resource.d.ts +78 -0
  156. package/dist/resources/graph-view-resource.js +163 -0
  157. package/dist/resources/graph-view-resource.js.map +1 -0
  158. package/dist/resources/link-type-resource.d.ts +62 -0
  159. package/dist/resources/link-type-resource.js +150 -0
  160. package/dist/resources/link-type-resource.js.map +1 -0
  161. package/dist/resources/report-resource.d.ts +77 -0
  162. package/dist/resources/report-resource.js +171 -0
  163. package/dist/resources/report-resource.js.map +1 -0
  164. package/dist/resources/resource-object.d.ts +108 -0
  165. package/dist/resources/resource-object.js +147 -0
  166. package/dist/resources/resource-object.js.map +1 -0
  167. package/dist/resources/template-resource.d.ts +82 -0
  168. package/dist/resources/template-resource.js +173 -0
  169. package/dist/resources/template-resource.js.map +1 -0
  170. package/dist/resources/workflow-resource.d.ts +67 -0
  171. package/dist/resources/workflow-resource.js +156 -0
  172. package/dist/resources/workflow-resource.js.map +1 -0
  173. package/dist/types/queries.d.ts +142 -0
  174. package/dist/types/queries.js +16 -0
  175. package/dist/types/queries.js.map +1 -0
  176. package/dist/utils/card-utils.d.ts +34 -0
  177. package/dist/utils/card-utils.js +78 -0
  178. package/dist/utils/card-utils.js.map +1 -0
  179. package/dist/utils/clingo-fact-builder.d.ts +58 -0
  180. package/dist/utils/clingo-fact-builder.js +126 -0
  181. package/dist/utils/clingo-fact-builder.js.map +1 -0
  182. package/dist/utils/clingo-facts.d.ts +97 -0
  183. package/dist/utils/clingo-facts.js +352 -0
  184. package/dist/utils/clingo-facts.js.map +1 -0
  185. package/dist/utils/clingo-parser.d.ts +59 -0
  186. package/dist/utils/clingo-parser.js +403 -0
  187. package/dist/utils/clingo-parser.js.map +1 -0
  188. package/dist/utils/clingo-program-builder.d.ts +39 -0
  189. package/dist/utils/clingo-program-builder.js +57 -0
  190. package/dist/utils/clingo-program-builder.js.map +1 -0
  191. package/dist/utils/common-utils.d.ts +24 -0
  192. package/dist/utils/common-utils.js +47 -0
  193. package/dist/utils/common-utils.js.map +1 -0
  194. package/dist/utils/constants.d.ts +18 -0
  195. package/dist/utils/constants.js +27 -0
  196. package/dist/utils/constants.js.map +1 -0
  197. package/dist/utils/csv.d.ts +18 -0
  198. package/dist/utils/csv.js +45 -0
  199. package/dist/utils/csv.js.map +1 -0
  200. package/dist/utils/file-utils.d.ts +69 -0
  201. package/dist/utils/file-utils.js +158 -0
  202. package/dist/utils/file-utils.js.map +1 -0
  203. package/dist/utils/json.d.ts +61 -0
  204. package/dist/utils/json.js +108 -0
  205. package/dist/utils/json.js.map +1 -0
  206. package/dist/utils/lexorank.d.ts +59 -0
  207. package/dist/utils/lexorank.js +159 -0
  208. package/dist/utils/lexorank.js.map +1 -0
  209. package/dist/utils/log-utils.d.ts +40 -0
  210. package/dist/utils/log-utils.js +109 -0
  211. package/dist/utils/log-utils.js.map +1 -0
  212. package/dist/utils/random.d.ts +19 -0
  213. package/dist/utils/random.js +34 -0
  214. package/dist/utils/random.js.map +1 -0
  215. package/dist/utils/resource-utils.d.ts +45 -0
  216. package/dist/utils/resource-utils.js +137 -0
  217. package/dist/utils/resource-utils.js.map +1 -0
  218. package/dist/utils/sanitize-svg.d.ts +18 -0
  219. package/dist/utils/sanitize-svg.js +38 -0
  220. package/dist/utils/sanitize-svg.js.map +1 -0
  221. package/dist/utils/user-preferences.d.ts +64 -0
  222. package/dist/utils/user-preferences.js +106 -0
  223. package/dist/utils/user-preferences.js.map +1 -0
  224. package/dist/utils/validate.d.ts +26 -0
  225. package/dist/utils/validate.js +53 -0
  226. package/dist/utils/validate.js.map +1 -0
  227. package/dist/utils/value-utils.d.ts +58 -0
  228. package/dist/utils/value-utils.js +181 -0
  229. package/dist/utils/value-utils.js.map +1 -0
  230. package/package.json +67 -0
  231. package/src/card-metadata-updater.ts +182 -0
  232. package/src/command-handler.ts +686 -0
  233. package/src/command-manager.ts +99 -0
  234. package/src/commands/calculate.ts +591 -0
  235. package/src/commands/create.ts +559 -0
  236. package/src/commands/edit.ts +123 -0
  237. package/src/commands/export-site.ts +356 -0
  238. package/src/commands/export.ts +315 -0
  239. package/src/commands/import.ts +169 -0
  240. package/src/commands/index.ts +42 -0
  241. package/src/commands/move.ts +451 -0
  242. package/src/commands/remove.ts +244 -0
  243. package/src/commands/rename.ts +378 -0
  244. package/src/commands/show.ts +442 -0
  245. package/src/commands/transition.ts +127 -0
  246. package/src/commands/update.ts +76 -0
  247. package/src/commands/validate.ts +962 -0
  248. package/src/containers/card-container.ts +378 -0
  249. package/src/containers/project/project-paths.ts +127 -0
  250. package/src/containers/project/resource-collector.ts +379 -0
  251. package/src/containers/project.ts +1135 -0
  252. package/src/containers/template.ts +573 -0
  253. package/src/exceptions/index.ts +29 -0
  254. package/src/index.ts +33 -0
  255. package/src/interfaces/adoc.ts +18 -0
  256. package/src/interfaces/macros.ts +54 -0
  257. package/src/interfaces/project-interfaces.ts +208 -0
  258. package/src/interfaces/request-status-interfaces.ts +30 -0
  259. package/src/interfaces/resource-interfaces.ts +179 -0
  260. package/src/macros/base-macro.ts +176 -0
  261. package/src/macros/common.ts +24 -0
  262. package/src/macros/createCards/index.ts +57 -0
  263. package/src/macros/createCards/metadata.ts +21 -0
  264. package/src/macros/graph/index.ts +130 -0
  265. package/src/macros/graph/metadata.ts +21 -0
  266. package/src/macros/index.ts +321 -0
  267. package/src/macros/report/index.ts +88 -0
  268. package/src/macros/report/metadata.ts +21 -0
  269. package/src/macros/scoreCard/index.ts +55 -0
  270. package/src/macros/scoreCard/metadata.ts +21 -0
  271. package/src/macros/task-queue.ts +79 -0
  272. package/src/module-manager.ts +443 -0
  273. package/src/permissions/action-guard.ts +77 -0
  274. package/src/project-settings.ts +140 -0
  275. package/src/resources/array-handler.ts +141 -0
  276. package/src/resources/card-type-resource.ts +455 -0
  277. package/src/resources/create-defaults.ts +216 -0
  278. package/src/resources/field-type-resource.ts +533 -0
  279. package/src/resources/file-resource.ts +433 -0
  280. package/src/resources/folder-resource.ts +140 -0
  281. package/src/resources/graph-model-resource.ts +205 -0
  282. package/src/resources/graph-view-resource.ts +199 -0
  283. package/src/resources/link-type-resource.ts +191 -0
  284. package/src/resources/report-resource.ts +224 -0
  285. package/src/resources/resource-object.ts +246 -0
  286. package/src/resources/template-resource.ts +210 -0
  287. package/src/resources/workflow-resource.ts +205 -0
  288. package/src/types/queries.ts +149 -0
  289. package/src/utils/card-utils.ts +83 -0
  290. package/src/utils/clingo-fact-builder.ts +167 -0
  291. package/src/utils/clingo-facts.ts +550 -0
  292. package/src/utils/clingo-parser.ts +519 -0
  293. package/src/utils/clingo-program-builder.ts +71 -0
  294. package/src/utils/common-utils.ts +54 -0
  295. package/src/utils/constants.ts +32 -0
  296. package/src/utils/csv.ts +53 -0
  297. package/src/utils/file-utils.ts +182 -0
  298. package/src/utils/json.ts +118 -0
  299. package/src/utils/lexorank.ts +180 -0
  300. package/src/utils/log-utils.ts +127 -0
  301. package/src/utils/random.ts +37 -0
  302. package/src/utils/resource-utils.ts +180 -0
  303. package/src/utils/sanitize-svg.ts +46 -0
  304. package/src/utils/user-preferences.ts +126 -0
  305. package/src/utils/validate.ts +66 -0
  306. package/src/utils/value-utils.ts +189 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/containers/project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ Cyberismo
3
+ Copyright © Cyberismo Ltd and contributors 2024
4
+ This program is free software: you can redistribute it and/or modify it under
5
+ the terms of the GNU Affero General Public License version 3 as published by
6
+ the Free Software Foundation.
7
+ This program is distributed in the hope that it will be useful, but WITHOUT
8
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
+ FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
+ details. You should have received a copy of the GNU Affero General Public
11
+ License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
+ */
13
+ import { CardContainer } from './card-container.js';
14
+ import { type Card, type CardAttachment, type FetchCardDetails, type Resource } from '../interfaces/project-interfaces.js';
15
+ import { Project } from './project.js';
16
+ export declare class Template extends CardContainer {
17
+ private templatePath;
18
+ private templateCardsPath;
19
+ private project;
20
+ constructor(project: Project, template: Resource);
21
+ private rootLevelProjectCards;
22
+ private doCreateCards;
23
+ private moduleTemplatePath;
24
+ private removeCards;
25
+ private setTemplatePath;
26
+ /**
27
+ * Adds a new card to template.
28
+ * @param cardTypeName card type
29
+ * @param parentCard parent card; optional - if missing will create a top-level card
30
+ * @returns next available card key ID
31
+ */
32
+ addCard(cardTypeName: string, parentCard?: Card): Promise<string>;
33
+ /**
34
+ * Return all attachment in the template.
35
+ * @returns all attachments in the template.
36
+ */
37
+ attachments(): Promise<CardAttachment[]>;
38
+ /**
39
+ * Returns path to card's attachment folder.
40
+ * @param cardKey card key
41
+ * @returns path to card's attachment folder.
42
+ */
43
+ cardAttachmentFolder(cardKey: string): Promise<string>;
44
+ /**
45
+ * Returns details (as defined by cardDetails) of a card.
46
+ * @param cardKey card key (project prefix and a number, e.g. test_1)
47
+ * @param cardDetails which card details are returned.
48
+ * @returns Card details, or undefined if the card cannot be found.
49
+ */
50
+ cardDetailsById(cardKey: string, cardDetails: FetchCardDetails): Promise<Card | undefined>;
51
+ /**
52
+ * returns path to card's folder.
53
+ * @param cardKey card key
54
+ * @returns path to card's folder.
55
+ */
56
+ cardFolder(cardKey: string): Promise<string>;
57
+ /**
58
+ * Returns all cards in the template. Cards have content and metadata.
59
+ * @param placeHolderPath This is not used. Needed to be compatible with base class.
60
+ * @param details Optional. Which details are returned for each card. If missing, default value will be used.
61
+ * @returns Template cards in the template.
62
+ */
63
+ cards(placeHolderPath?: string, details?: FetchCardDetails): Promise<Card[]>;
64
+ /**
65
+ * Creates cards from a template. If parent card is specified, then cards are created to underneath a parent.
66
+ * @param parentCard parent card
67
+ * @returns array of created card keys
68
+ */
69
+ createCards(parentCard?: Card): Promise<Card[]>;
70
+ /**
71
+ * Returns specific card.
72
+ * @param cardKey Card key to find from template.
73
+ * @param details Card details to include in return value.
74
+ * @returns specific card details
75
+ */
76
+ findSpecificCard(cardKey: string, details?: FetchCardDetails): Promise<Card | undefined>;
77
+ /**
78
+ * Checks if a specific card key exists in a template.
79
+ * @param cardKey Card key to find from template.
80
+ * @return true if card with a given card key exists in the template, false otherwise.
81
+ */
82
+ hasCard(cardKey: string): boolean;
83
+ /**
84
+ * Check if template name exists already in the project.
85
+ * @returns true, if template is exists in project; false otherwise
86
+ */
87
+ isCreated(): boolean;
88
+ /**
89
+ * Returns an array of all the cards in the project. Cards don't have content nor metadata.
90
+ * @returns all cards in the project.
91
+ */
92
+ listCards(): Promise<Card[]>;
93
+ /**
94
+ * Returns path to 'templates/<name>/c' folder.
95
+ * @returns path to the template's folder for cards.
96
+ */
97
+ templateCardsFolder(): string;
98
+ /**
99
+ * Path to template configuration json file.
100
+ * @returns path to the template's configuration file.
101
+ */
102
+ templateConfigurationFilePath(): string;
103
+ /**
104
+ * Returns path to 'templates' folder.
105
+ * @returns path to the project's folder that contains templates.
106
+ */
107
+ templateFolder(): string;
108
+ }
@@ -0,0 +1,433 @@
1
+ /**
2
+ Cyberismo
3
+ Copyright © Cyberismo Ltd and contributors 2024
4
+ This program is free software: you can redistribute it and/or modify it under
5
+ the terms of the GNU Affero General Public License version 3 as published by
6
+ the Free Software Foundation.
7
+ This program is distributed in the hope that it will be useful, but WITHOUT
8
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
+ FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
+ details. You should have received a copy of the GNU Affero General Public
11
+ License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
+ */
13
+ // node
14
+ import { basename, join, resolve, sep } from 'node:path';
15
+ import { copyFile, mkdir, readdir, rm, writeFile } from 'node:fs/promises';
16
+ import { readdirSync } from 'node:fs';
17
+ // Base class
18
+ import { CardContainer } from './card-container.js';
19
+ import { CardNameRegEx, } from '../interfaces/project-interfaces.js';
20
+ import { pathExists, stripExtension } from '../utils/file-utils.js';
21
+ import { DefaultContent } from '../resources/create-defaults.js';
22
+ import { EMPTY_RANK, FIRST_RANK, getRankAfter, sortItems, } from '../utils/lexorank.js';
23
+ import { logger } from '../utils/log-utils.js';
24
+ import { readJsonFile } from '../utils/json.js';
25
+ import { Project } from './project.js';
26
+ import { resourceName } from '../utils/resource-utils.js';
27
+ // creates template instance based on a project path and name
28
+ export class Template extends CardContainer {
29
+ templatePath;
30
+ templateCardsPath;
31
+ project;
32
+ constructor(project, template) {
33
+ // Templates might come from modules. Remove module name from template name.
34
+ const templateName = stripExtension(basename(template.name));
35
+ super(template.path, templateName);
36
+ // prevent constructing a new project object, if one is passed to this class.
37
+ this.project = project;
38
+ // optimization - if template.path is set - use it
39
+ this.templatePath =
40
+ template.path && template.path.length > 0
41
+ ? join(template.path, templateName)
42
+ : this.setTemplatePath(template.name);
43
+ this.templateCardsPath = join(this.templatePath, 'c');
44
+ }
45
+ // Fetches project top level cards only.
46
+ // Top level cards are those that have parent as 'root'.
47
+ // todo: This should be in 'project' or 'card-container'
48
+ async rootLevelProjectCards() {
49
+ const entries = (await readdir(this.project.paths.cardRootFolder, {
50
+ withFileTypes: true,
51
+ })).filter((entry) => entry.isDirectory() && CardNameRegEx.test(entry.name));
52
+ const cardPromises = entries.map(async (entry) => {
53
+ const currentPath = join(entry.parentPath, entry.name);
54
+ return {
55
+ key: entry.name,
56
+ path: currentPath,
57
+ metadata: await readJsonFile(join(currentPath, CardContainer.cardMetadataFile)),
58
+ children: [],
59
+ attachments: [],
60
+ };
61
+ });
62
+ return Promise.all(cardPromises);
63
+ }
64
+ // Creates card(s) as project cards from template.
65
+ async doCreateCards(cards, parentCard) {
66
+ const templateIDMap = new Map();
67
+ // Create ID mapping and update ranks
68
+ const createMappingAndRanks = async () => {
69
+ const cardIds = await this.project.listCardIds();
70
+ const newCardIds = this.project.newCardKeys(cards.length, cardIds);
71
+ // Create mapping table
72
+ cards.forEach((card, index) => {
73
+ templateIDMap.set(card.key, newCardIds.at(index) || '');
74
+ });
75
+ // Handle ranking for parent cards
76
+ const parentCards = sortItems(cards.filter((c) => c.parent === 'root'), (c) => c?.metadata?.rank || '');
77
+ const futureSiblings = parentCard
78
+ ? parentCard.children || []
79
+ : await this.rootLevelProjectCards();
80
+ let latestRank = sortItems(futureSiblings.filter((c) => c.metadata?.rank !== undefined), (c) => c.metadata?.rank || '').pop()?.metadata?.rank || FIRST_RANK;
81
+ // Update ranks
82
+ parentCards.forEach((card) => {
83
+ latestRank = getRankAfter(latestRank);
84
+ if (card.metadata) {
85
+ card.metadata.rank = latestRank;
86
+ }
87
+ });
88
+ return parentCards;
89
+ };
90
+ // Update paths and keys
91
+ const updateCardPaths = (card, templateIDMap, templatesFolder) => {
92
+ const updatePathPart = (part) => CardNameRegEx.test(part)
93
+ ? `${sep}${templateIDMap.get(part) || part}`
94
+ : `${sep}${part}`;
95
+ card.path = card.path
96
+ .split(sep)
97
+ .map(updatePathPart)
98
+ .join('')
99
+ .substring(1);
100
+ if (card.path.includes(`${sep}c${sep}`) && !parentCard) {
101
+ card.path = card.path.replace(`${templatesFolder}${sep}c`, this.project.paths.cardRootFolder);
102
+ }
103
+ else {
104
+ card.path = card.path.replace(templatesFolder, parentCard ? parentCard.path : this.project.paths.cardRootFolder);
105
+ }
106
+ card.key = templateIDMap.get(card.key) || card.key;
107
+ };
108
+ // Process attachments
109
+ const processAttachments = async (card) => {
110
+ if (!card.attachments.length)
111
+ return card;
112
+ const attachmentsFolder = join(card.path, 'a');
113
+ await mkdir(attachmentsFolder, { recursive: true });
114
+ let content = card.content;
115
+ await Promise.all(card.attachments.map(async (attachment) => {
116
+ const attachmentUniqueName = `${card.key}-${attachment.fileName}`;
117
+ content = content?.replace(new RegExp(`image::${attachment.fileName}`, 'g'), `image::${attachmentUniqueName}`);
118
+ await copyFile(join(attachment.path, attachment.fileName), join(card.path, 'a', attachmentUniqueName));
119
+ }));
120
+ return { ...card, content };
121
+ };
122
+ // Process metadata
123
+ const processMetadata = async (card, parentCards) => {
124
+ if (!card.metadata)
125
+ return card;
126
+ const cardType = await this.project.resource(card.metadata.cardType || '');
127
+ if (!cardType) {
128
+ throw new Error(`Card type '${card.metadata.cardType}' of card ${card.key} cannot be found`);
129
+ }
130
+ const workflow = await this.project.resource(cardType.workflow);
131
+ if (!workflow) {
132
+ throw new Error(`Workflow '${cardType.workflow}' cannot be found`);
133
+ }
134
+ const initialWorkflowState = workflow.transitions.find((item) => item.fromState.includes('') || item.fromState.length === 0);
135
+ if (!initialWorkflowState) {
136
+ throw new Error(`Workflow '${cardType.workflow}' initial state cannot be found`);
137
+ }
138
+ const cardWithRank = parentCards.find((c) => c.key === card.key);
139
+ const customFields = cardType.customFields
140
+ .filter((item) => !item.isCalculated)
141
+ .reduce((acc, field) => ({
142
+ ...acc,
143
+ [field.name]: card.metadata?.[field.name] || null,
144
+ }), {});
145
+ const newMetadata = {
146
+ ...card.metadata,
147
+ ...customFields,
148
+ templateCardKey: [...templateIDMap]
149
+ .find(([, value]) => value === card.key)
150
+ .at(0),
151
+ workflowState: initialWorkflowState.toState,
152
+ cardType: cardType.name,
153
+ rank: cardWithRank?.metadata?.rank || card.metadata.rank || EMPTY_RANK,
154
+ };
155
+ return { ...card, metadata: newMetadata };
156
+ };
157
+ try {
158
+ // Create mapping and handle ranks
159
+ const parentCards = await createMappingAndRanks();
160
+ const templatesFolder = this.templateFolder();
161
+ // Process all cards in parallel
162
+ const processedCards = await Promise.all(cards.map(async (card) => {
163
+ // Update paths and keys
164
+ updateCardPaths(card, templateIDMap, templatesFolder);
165
+ // Process metadata and attachments in parallel
166
+ const [processedCard, processedAttachments] = await Promise.all([
167
+ processMetadata(card, parentCards),
168
+ processAttachments(card),
169
+ ]);
170
+ // Create directory and write files
171
+ await mkdir(processedCard.path, { recursive: true });
172
+ await Promise.all([
173
+ processedCard.metadata && this.saveCardMetadata(processedCard),
174
+ writeFile(join(processedCard.path, Project.cardContentFile), processedAttachments.content || ''),
175
+ ]);
176
+ return processedCard;
177
+ }));
178
+ return processedCards;
179
+ }
180
+ catch (error) {
181
+ await this.removeCards(templateIDMap);
182
+ if (error instanceof Error) {
183
+ throw new Error(`Failed to create cards: ${error.message}`);
184
+ }
185
+ throw error;
186
+ }
187
+ }
188
+ // fetches path to module.
189
+ moduleTemplatePath(templateName) {
190
+ // If template path has already been deduced, return it.
191
+ if (pathExists(this.templatePath)) {
192
+ return this.templatePath;
193
+ }
194
+ let modules = [];
195
+ try {
196
+ modules = readdirSync(this.project.paths.modulesFolder, {
197
+ withFileTypes: true,
198
+ }).filter((item) => item.isDirectory());
199
+ }
200
+ catch {
201
+ // do nothing, if modules folder does not exist
202
+ }
203
+ for (const module of modules) {
204
+ const templateFolderInModule = join(module.parentPath, module.name, 'templates', templateName);
205
+ const exists = pathExists(templateFolderInModule);
206
+ if (exists) {
207
+ return templateFolderInModule;
208
+ }
209
+ }
210
+ return '';
211
+ }
212
+ // Removes cards
213
+ async removeCards(cardMap) {
214
+ const tasks = [];
215
+ // Find all cards that need to be removed.
216
+ cardMap.forEach((createdCard) => {
217
+ tasks.push(this.project.findSpecificCard(createdCard));
218
+ });
219
+ // Remove empty results.
220
+ const cards = (await Promise.all(tasks)).filter((item) => item !== undefined);
221
+ // Delete card folders.
222
+ const deleteAll = [];
223
+ cards.forEach((card) => {
224
+ deleteAll.push(rm(card.path, { force: true, recursive: true }));
225
+ });
226
+ await Promise.all(deleteAll);
227
+ }
228
+ // Set path to template location.
229
+ setTemplatePath(templateName) {
230
+ const { prefix, identifier } = resourceName(templateName);
231
+ const localTemplate = join(this.project.paths.templatesFolder, identifier);
232
+ // Template can either be local ...
233
+ if (prefix === this.project.projectPrefix) {
234
+ const localTemplate = join(this.project.paths.templatesFolder, identifier);
235
+ const createdLocalTemplate = pathExists(resolve(localTemplate));
236
+ if (createdLocalTemplate) {
237
+ return resolve(localTemplate);
238
+ }
239
+ }
240
+ // ... or from module ...
241
+ const createdModuleTemplatePath = this.moduleTemplatePath(identifier);
242
+ if (createdModuleTemplatePath !== '') {
243
+ return resolve(createdModuleTemplatePath);
244
+ }
245
+ // ... or not created yet; in case assume it will be 'local' (you cannot create templates to modules)
246
+ return resolve(localTemplate);
247
+ }
248
+ /**
249
+ * Adds a new card to template.
250
+ * @param cardTypeName card type
251
+ * @param parentCard parent card; optional - if missing will create a top-level card
252
+ * @returns next available card key ID
253
+ */
254
+ async addCard(cardTypeName, parentCard) {
255
+ const destinationCardPath = parentCard
256
+ ? join(await this.cardFolder(parentCard.key), 'c')
257
+ : this.templateCardsPath;
258
+ let newCardKey = '';
259
+ try {
260
+ if (!pathExists(this.templateFolder())) {
261
+ throw new Error(`Template '${this.containerName}' does not exist`);
262
+ }
263
+ const cardType = await this.project.resource(cardTypeName);
264
+ if (cardType === undefined) {
265
+ throw new Error(`Card type '${cardTypeName}' does not exist`);
266
+ }
267
+ if (parentCard && !this.hasCard(parentCard.key)) {
268
+ throw new Error(`Card '${parentCard.key}' does not exist in template '${this.containerName}'`);
269
+ }
270
+ const cardIds = await this.project.listCardIds();
271
+ newCardKey = this.project.newCardKey(cardIds);
272
+ const templateCardToCreate = parentCard
273
+ ? join(destinationCardPath, newCardKey)
274
+ : join(this.templateCardsPath, newCardKey);
275
+ const templateCards = parentCard
276
+ ? parentCard.children || []
277
+ : await this.cards();
278
+ const defaultContent = DefaultContent.card(cardType, templateCards);
279
+ await mkdir(templateCardToCreate, { recursive: true });
280
+ const defaultCard = {
281
+ key: basename(templateCardToCreate),
282
+ path: templateCardToCreate,
283
+ metadata: defaultContent,
284
+ children: [],
285
+ attachments: [],
286
+ content: '',
287
+ };
288
+ await this.saveCard(defaultCard);
289
+ }
290
+ catch (error) {
291
+ if (error instanceof Error) {
292
+ throw new Error(error.message);
293
+ }
294
+ }
295
+ return newCardKey;
296
+ }
297
+ /**
298
+ * Return all attachment in the template.
299
+ * @returns all attachments in the template.
300
+ */
301
+ async attachments() {
302
+ return super.attachments(this.templateCardsPath);
303
+ }
304
+ /**
305
+ * Returns path to card's attachment folder.
306
+ * @param cardKey card key
307
+ * @returns path to card's attachment folder.
308
+ */
309
+ async cardAttachmentFolder(cardKey) {
310
+ const pathToCard = await this.cardFolder(cardKey);
311
+ if (!pathToCard) {
312
+ return '';
313
+ }
314
+ return join(pathToCard, 'a');
315
+ }
316
+ /**
317
+ * Returns details (as defined by cardDetails) of a card.
318
+ * @param cardKey card key (project prefix and a number, e.g. test_1)
319
+ * @param cardDetails which card details are returned.
320
+ * @returns Card details, or undefined if the card cannot be found.
321
+ */
322
+ async cardDetailsById(cardKey, cardDetails) {
323
+ return super.findCard(this.templateCardsPath, cardKey, cardDetails);
324
+ }
325
+ /**
326
+ * returns path to card's folder.
327
+ * @param cardKey card key
328
+ * @returns path to card's folder.
329
+ */
330
+ async cardFolder(cardKey) {
331
+ const found = await super.findCard(this.templateCardsPath, cardKey);
332
+ return found ? found.path : '';
333
+ }
334
+ /**
335
+ * Returns all cards in the template. Cards have content and metadata.
336
+ * @param placeHolderPath This is not used. Needed to be compatible with base class.
337
+ * @param details Optional. Which details are returned for each card. If missing, default value will be used.
338
+ * @returns Template cards in the template.
339
+ */
340
+ async cards(placeHolderPath, details) {
341
+ if (placeHolderPath) {
342
+ logger.warn('A non-used variable was used in the cards method');
343
+ }
344
+ const cardDetails = details
345
+ ? details
346
+ : {
347
+ content: true,
348
+ contentType: 'adoc',
349
+ metadata: true,
350
+ };
351
+ return super.cards(this.templateCardsPath, cardDetails);
352
+ }
353
+ /**
354
+ * Creates cards from a template. If parent card is specified, then cards are created to underneath a parent.
355
+ * @param parentCard parent card
356
+ * @returns array of created card keys
357
+ */
358
+ async createCards(parentCard) {
359
+ const cards = await this.cards('', {
360
+ content: true,
361
+ contentType: 'adoc',
362
+ metadata: true,
363
+ attachments: true,
364
+ parent: true,
365
+ });
366
+ if (cards.length === 0) {
367
+ throw new Error(`No cards in template '${this.containerName}'. Please add template cards with 'add' command first.`);
368
+ }
369
+ return this.doCreateCards(cards, parentCard);
370
+ }
371
+ /**
372
+ * Returns specific card.
373
+ * @param cardKey Card key to find from template.
374
+ * @param details Card details to include in return value.
375
+ * @returns specific card details
376
+ */
377
+ async findSpecificCard(cardKey, details = {}) {
378
+ const cardPrefix = cardKey.split('_').at(0);
379
+ const moduleCardFromProject = this.basePath.includes('local') &&
380
+ this.project.projectPrefix !== cardPrefix;
381
+ const projectCardFromModule = this.basePath.includes('modules') &&
382
+ this.project.projectPrefix === cardPrefix;
383
+ // If the result is impossible, return undefined.
384
+ if (moduleCardFromProject || projectCardFromModule) {
385
+ return undefined;
386
+ }
387
+ return super.findCard(this.templateCardsPath, cardKey, details);
388
+ }
389
+ /**
390
+ * Checks if a specific card key exists in a template.
391
+ * @param cardKey Card key to find from template.
392
+ * @return true if card with a given card key exists in the template, false otherwise.
393
+ */
394
+ hasCard(cardKey) {
395
+ return super.hasCard(cardKey, this.templateCardsPath);
396
+ }
397
+ /**
398
+ * Check if template name exists already in the project.
399
+ * @returns true, if template is exists in project; false otherwise
400
+ */
401
+ isCreated() {
402
+ return pathExists(this.templateCardsPath);
403
+ }
404
+ /**
405
+ * Returns an array of all the cards in the project. Cards don't have content nor metadata.
406
+ * @returns all cards in the project.
407
+ */
408
+ async listCards() {
409
+ return super.cards(this.templateCardsPath);
410
+ }
411
+ /**
412
+ * Returns path to 'templates/<name>/c' folder.
413
+ * @returns path to the template's folder for cards.
414
+ */
415
+ templateCardsFolder() {
416
+ return this.templateCardsPath;
417
+ }
418
+ /**
419
+ * Path to template configuration json file.
420
+ * @returns path to the template's configuration file.
421
+ */
422
+ templateConfigurationFilePath() {
423
+ return join(this.templatePath, '..', this.containerName + '.json');
424
+ }
425
+ /**
426
+ * Returns path to 'templates' folder.
427
+ * @returns path to the project's folder that contains templates.
428
+ */
429
+ templateFolder() {
430
+ return this.templatePath;
431
+ }
432
+ }
433
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/containers/template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ Cyberismo
3
+ Copyright © Cyberismo Ltd and contributors 2024
4
+
5
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
6
+
7
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
8
+
9
+ You should have received a copy of the GNU Affero General Public
10
+ License along with this program. If not, see <https://www.gnu.org/licenses/>.
11
+ */
12
+ import type { ValidationError } from 'json-schema';
13
+ export declare class DHValidationError extends Error {
14
+ errors?: ValidationError[];
15
+ constructor(message: string, errors?: ValidationError[]);
16
+ }
17
+ export declare class SchemaNotFound extends Error {
18
+ constructor(message: string);
19
+ }