@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
@@ -10,9 +10,13 @@
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
+ // Card key separator between project prefix and card ID
14
+ export const CARD_KEY_SEPARATOR = '_';
13
15
  export const INT32_MAX = 2147483647; // 2^31-1
14
16
  // Maximum level offset for includeMacro
15
17
  export const MAX_LEVEL_OFFSET = 5;
18
+ // Root parent name
19
+ export const ROOT = 'root';
16
20
  /**
17
21
  * These are file names that are valid for folder resources.
18
22
  * Note that the folders might still contain other files, such as .schema files,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAIF,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,SAAS;AAE9C,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,gBAAgB;IAChB,cAAc;IACd,sBAAsB;IACtB,aAAa;IACb,UAAU;IACV,gBAAgB;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,UAAU;IACV,OAAO;IACP,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,iBAAiB;CACyB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa;IAEb,OAAQ,iBAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAIF,wDAAwD;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,SAAS;AAE9C,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,mBAAmB;AACnB,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAE3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,gBAAgB;IAChB,cAAc;IACd,sBAAsB;IACtB,aAAa;IACb,UAAU;IACV,gBAAgB;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,UAAU;IACV,OAAO;IACP,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,iBAAiB;CACyB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa;IAEb,OAAQ,iBAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC"}
package/dist/utils/csv.js CHANGED
@@ -9,7 +9,7 @@
9
9
  You should have received a copy of the GNU Affero General Public
10
10
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
11
11
  */
12
- import { readFile } from 'fs/promises';
12
+ import { readFile } from 'node:fs/promises';
13
13
  import { parse } from 'csv-parse/sync';
14
14
  /**
15
15
  * Reads a CSV file and returns its content as an array of objects.
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/utils/csv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;QACnC,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE;QAC7B,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IAEnC,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACvB,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QACxC,OAAO,CAAC,MAAM,KAAK,CAAC,EACpB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACnE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/utils/csv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;QACnC,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE;QAC7B,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IAEnC,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACvB,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QACxC,OAAO,CAAC,MAAM,KAAK,CAAC,EACpB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACnE,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -27,6 +27,7 @@ export declare function resourceName(resourceName: string, strict?: boolean): Re
27
27
  * Converts resource name to path.
28
28
  * @param project Project
29
29
  * @param resourceName Name of the resource (e.g. <prefix>/<type>/<name>)
30
+ * @param extension Extension of resource. By default '.json'.
30
31
  * @returns path to resource metadata file
31
32
  */
32
33
  export declare function resourceNameToPath(project: Project, resourceName: ResourceName, extension?: string): string;
@@ -68,6 +68,7 @@ export function resourceName(resourceName, strict = false) {
68
68
  * Converts resource name to path.
69
69
  * @param project Project
70
70
  * @param resourceName Name of the resource (e.g. <prefix>/<type>/<name>)
71
+ * @param extension Extension of resource. By default '.json'.
71
72
  * @returns path to resource metadata file
72
73
  */
73
74
  export function resourceNameToPath(project, resourceName, extension = '.json') {
@@ -153,7 +154,7 @@ export function resourceNameToString(resourceName) {
153
154
  resourceName.type) {
154
155
  throw new Error(`Not a valid resource name. Prefix is missing.`);
155
156
  }
156
- return resourceName.prefix && resourceName.type && resourceName.prefix
157
+ return resourceName.prefix && resourceName.type && resourceName.identifier
157
158
  ? `${resourceName.prefix}/${resourceName.type}/${resourceName.identifier}`
158
159
  : `${resourceName.identifier}`;
159
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource-utils.js","sourceRoot":"","sources":["../../src/utils/resource-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-utils.js","sourceRoot":"","sources":["../../src/utils/resource-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberismo/data-handler",
3
3
  "description": "Command handler for cards and web service",
4
- "version": "0.0.14",
4
+ "version": "0.0.16",
5
5
  "author": "sami.merila@cyberismo.com",
6
6
  "license": "AGPL-3.0",
7
7
  "homepage": "https://github.com/CyberismoCom/cyberismo",
@@ -22,32 +22,32 @@
22
22
  "@types/json-schema": "^7.0.15",
23
23
  "@types/sinon": "^17.0.4",
24
24
  "c8": "^10.1.3",
25
- "pino-pretty": "^13.1.1",
25
+ "pino-pretty": "^13.1.2",
26
26
  "sinon": "^21.0.0"
27
27
  },
28
28
  "dependencies": {
29
29
  "@asciidoctor/core": "^3.0.4",
30
30
  "@types/mime-types": "^3.0.1",
31
- "@viz-js/viz": "^3.17.0",
31
+ "@viz-js/viz": "^3.20.0",
32
32
  "async-mutex": "^0.5.0",
33
33
  "csv-parse": "^6.1.0",
34
34
  "directory-schema-validator": "^1.0.17",
35
- "dompurify": "^3.2.6",
35
+ "dompurify": "^3.3.0",
36
36
  "email-validator": "^2.0.4",
37
37
  "handlebars": "^4.7.8",
38
38
  "jsdom": "^27.0.0",
39
39
  "json-schema": "^0.4.0",
40
40
  "jsonschema": "^1.5.0",
41
- "mime-types": "^3.0.1",
42
- "pino": "^9.9.5",
43
- "simple-git": "^3.28.0",
41
+ "mime-types": "^3.0.2",
42
+ "pino": "^10.1.0",
43
+ "simple-git": "^3.29.0",
44
44
  "string-pixel-width": "^1.11.0",
45
45
  "tslib": "^2.6.2",
46
- "vega": "^6.1.2",
47
- "vega-lite": "^6.3.1",
46
+ "vega": "^6.2.0",
47
+ "vega-lite": "^6.4.1",
48
48
  "write-json-file": "^7.0.0",
49
- "@cyberismo/assets": "0.0.14",
50
- "@cyberismo/node-clingo": "1.3.0"
49
+ "@cyberismo/assets": "0.0.16",
50
+ "@cyberismo/node-clingo": "1.3.1"
51
51
  },
52
52
  "type": "module",
53
53
  "files": [
@@ -13,7 +13,6 @@
13
13
  */
14
14
 
15
15
  import type { CardMetadata } from './interfaces/project-interfaces.js';
16
- import type { FieldType } from './interfaces/resource-interfaces.js';
17
16
  import { FieldTypeResource } from './resources/field-type-resource.js';
18
17
  import { getChildLogger } from './utils/log-utils.js';
19
18
  import type { Project } from './containers/project.js';
@@ -77,7 +76,7 @@ export class CardMetadataUpdater {
77
76
 
78
77
  if (change.field === 'title' || change.field === 'workflowState') {
79
78
  metadata[change.field] = FieldTypeResource.fromClingoResult(
80
- change.newValue as string,
79
+ change.newValue,
81
80
  'shortText',
82
81
  );
83
82
  return result;
@@ -91,7 +90,12 @@ export class CardMetadataUpdater {
91
90
  return result;
92
91
  }
93
92
 
94
- const fieldType = await project.resource<FieldType>(change.field);
93
+ let fieldType;
94
+ try {
95
+ fieldType = project.resources.byType(change.field, 'fieldTypes').show();
96
+ } catch {
97
+ fieldType = undefined;
98
+ }
95
99
  if (!fieldType) {
96
100
  result.success = false;
97
101
  result.errors.push(
@@ -101,7 +105,7 @@ export class CardMetadataUpdater {
101
105
  }
102
106
 
103
107
  metadata[change.field] = FieldTypeResource.fromClingoResult(
104
- change.newValue as string,
108
+ change.newValue,
105
109
  fieldType.dataType,
106
110
  );
107
111
 
@@ -156,9 +160,7 @@ export class CardMetadataUpdater {
156
160
  errors: [],
157
161
  };
158
162
 
159
- const card = await project.findSpecificCard(cardKey, {
160
- metadata: true,
161
- });
163
+ const card = project.findCard(cardKey);
162
164
  if (!card || !card.metadata) {
163
165
  result.success = false;
164
166
  result.errors.push(
@@ -15,12 +15,12 @@ import { join, resolve } from 'node:path';
15
15
  import { execFileSync } from 'node:child_process';
16
16
  import { readFileSync } from 'node:fs';
17
17
 
18
+ import { SCHEMA_VERSION } from '@cyberismo/assets';
18
19
  import type {
19
20
  Card,
20
21
  CardAttachment,
21
22
  CardListContainer,
22
23
  Credentials,
23
- FileContentType,
24
24
  ModuleContent,
25
25
  ModuleSettingFromHub,
26
26
  ProjectMetadata,
@@ -29,7 +29,7 @@ import type {
29
29
  } from './interfaces/project-interfaces.js';
30
30
  import type {
31
31
  DataType,
32
- ResourceContent,
32
+ AnyResourceContent,
33
33
  } from './interfaces/resource-interfaces.js';
34
34
  import type {
35
35
  AddCommandOptions,
@@ -44,7 +44,8 @@ import type {
44
44
 
45
45
  import type { requestStatus } from './interfaces/request-status-interfaces.js';
46
46
 
47
- import { Create, Validate } from './commands/index.js';
47
+ import { Create } from './commands/create.js';
48
+ import { Validate } from './commands/validate.js';
48
49
  import { CommandManager } from './command-manager.js';
49
50
  import type { UpdateOperations } from './resources/resource-object.js';
50
51
  import { Project } from './containers/project.js';
@@ -179,7 +180,12 @@ export class Commands {
179
180
  if (!this.commands) {
180
181
  throw new Error('Cannot get instance of CommandManager');
181
182
  }
182
- await this.commands.initialize();
183
+
184
+ // Check schema version and log warning if there's a mismatch
185
+ const versionCheck = this.commands.checkSchemaVersion();
186
+ if (!versionCheck.isCompatible) {
187
+ console.error(versionCheck.message);
188
+ }
183
189
  }
184
190
 
185
191
  // Handles actual command. Sets returns values correctly.
@@ -226,7 +232,7 @@ export class Commands {
226
232
  const target = this.commandType(type);
227
233
  // If 'type' was used to deduce 'target', put the parameter back into the args.
228
234
  if (target !== type) {
229
- rest.unshift(type as string);
235
+ rest.unshift(type);
230
236
  }
231
237
  if (target === 'attachment') {
232
238
  const [cardKey, attachment] = rest;
@@ -441,6 +447,13 @@ export class Commands {
441
447
  return { statusCode: 200 };
442
448
  }
443
449
 
450
+ /**
451
+ * Returns the current schema version.
452
+ */
453
+ public getSchemaVersion(): number {
454
+ return SCHEMA_VERSION;
455
+ }
456
+
444
457
  /**
445
458
  * Returns project path, if running operation within project folder.
446
459
  * @param path Initial path from where the project path search is started.
@@ -711,7 +724,7 @@ export class Commands {
711
724
  | ModuleContent
712
725
  | ModuleSettingFromHub[]
713
726
  | ProjectMetadata
714
- | ResourceContent
727
+ | AnyResourceContent
715
728
  | string[]
716
729
  | undefined
717
730
  >;
@@ -720,19 +733,12 @@ export class Commands {
720
733
  case 'attachments':
721
734
  promise = this.commands!.showCmd.showAttachments();
722
735
  break;
723
- case 'card':
724
- {
725
- const cardDetails = {
726
- contentType: 'adoc' as FileContentType,
727
- content: options?.details,
728
- metadata: true,
729
- children: options?.details,
730
- parent: options?.details,
731
- attachments: true,
732
- };
733
- promise = this.commands!.showCmd.showCardDetails(cardDetails, detail);
734
- }
735
- break;
736
+ case 'card': {
737
+ return {
738
+ statusCode: 200,
739
+ payload: this.commands!.showCmd.showCardDetails(detail),
740
+ };
741
+ }
736
742
  case 'cards':
737
743
  promise = this.commands!.showCmd.showCards();
738
744
  break;
@@ -765,8 +771,10 @@ export class Commands {
765
771
  );
766
772
  break;
767
773
  case 'labels':
768
- promise = this.commands!.showCmd.showLabels();
769
- break;
774
+ return {
775
+ statusCode: 200,
776
+ payload: this.commands!.showCmd.showLabels(),
777
+ };
770
778
  case 'module':
771
779
  promise = this.commands!.showCmd.showModule(detail);
772
780
  break;
@@ -776,7 +784,10 @@ export class Commands {
776
784
  payload: this.commands!.showCmd.showHubs(),
777
785
  };
778
786
  case 'modules':
779
- promise = this.commands!.showCmd.showModules();
787
+ return {
788
+ statusCode: 200,
789
+ payload: this.commands!.showCmd.showModules(),
790
+ };
780
791
  break;
781
792
  case 'project':
782
793
  promise = this.commands!.showCmd.showProject();
@@ -794,7 +805,8 @@ export class Commands {
794
805
  // Starts the Cyberismo app by running npm start in the app project folder
795
806
  private async startApp(forceStart: boolean = false): Promise<requestStatus> {
796
807
  // __dirname when running cards ends with /tools/data-handler/dist - use that to navigate to app path
797
- const baseDir = import.meta.dirname;
808
+ const baseDir =
809
+ import.meta.dirname ?? new URL('.', import.meta.url).pathname;
798
810
  const appPath = resolve(baseDir, '../../app');
799
811
 
800
812
  // since current working directory changes, we need to resolve the project path
@@ -10,21 +10,19 @@
10
10
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
11
11
  */
12
12
 
13
- import {
14
- Calculate,
15
- Create,
16
- Edit,
17
- Export,
18
- Fetch,
19
- Import,
20
- Move,
21
- Remove,
22
- Rename,
23
- Show,
24
- Transition,
25
- Update,
26
- Validate,
27
- } from './commands/index.js';
13
+ import { Calculate } from './commands/calculate.js';
14
+ import { Create } from './commands/create.js';
15
+ import { Edit } from './commands/edit.js';
16
+ import { Export } from './commands/export.js';
17
+ import { Fetch } from './commands/fetch.js';
18
+ import { Import } from './commands/import.js';
19
+ import { Move } from './commands/move.js';
20
+ import { Remove } from './commands/remove.js';
21
+ import { Rename } from './commands/rename.js';
22
+ import { Show } from './commands/show.js';
23
+ import { Transition } from './commands/transition.js';
24
+ import { Update } from './commands/update.js';
25
+ import { Validate } from './commands/validate.js';
28
26
  import { Project } from './containers/project.js';
29
27
  import { ProjectPaths } from './containers/project/project-paths.js';
30
28
  import pino, { type Level, type TransportTargetOptions } from 'pino';
@@ -32,6 +30,7 @@ import { setLogger } from './utils/log-utils.js';
32
30
 
33
31
  export interface CommandManagerOptions {
34
32
  watchResourceChanges?: boolean;
33
+ autoSaveConfiguration?: boolean;
35
34
  logLevel?: Level;
36
35
  }
37
36
 
@@ -57,7 +56,10 @@ export class CommandManager {
57
56
  private pathHandler: ProjectPaths;
58
57
 
59
58
  constructor(path: string, options?: CommandManagerOptions) {
60
- this.project = new Project(path, options?.watchResourceChanges);
59
+ this.project = new Project(path, {
60
+ autoSave: options?.autoSaveConfiguration,
61
+ watchResourceChanges: options?.watchResourceChanges,
62
+ });
61
63
  this.validateCmd = Validate.getInstance();
62
64
 
63
65
  this.calculateCmd = new Calculate(this.project);
@@ -75,19 +77,30 @@ export class CommandManager {
75
77
  this.pathHandler = new ProjectPaths(path);
76
78
  }
77
79
 
80
+ /**
81
+ * Checks the schema version compatibility.
82
+ * @returns
83
+ * isCompatible - true if compatible; false otherwise
84
+ * message - optional message related to compatibility.
85
+ */
86
+ public checkSchemaVersion(): { isCompatible: boolean; message?: string } {
87
+ return this.project.configuration.checkSchemaVersion();
88
+ }
89
+
78
90
  /**
79
91
  * Some commands needs initialization that cannot be performed inside constructor.
80
92
  * Add such calls here.
81
93
  */
82
94
  public async initialize() {
83
- await this.project.collectModuleResources();
95
+ this.project.resources.changedModules();
96
+ await this.project.populateCaches();
84
97
  }
85
98
 
86
99
  /**
87
100
  * Sets the logger for the command manager.
88
101
  * @param level Log level.
89
102
  */
90
- public async setLogger(level: Level) {
103
+ public setLogger(level: Level) {
91
104
  const all: TransportTargetOptions[] = [
92
105
  {
93
106
  target: 'pino/file',
@@ -136,7 +149,7 @@ export class CommandManager {
136
149
  }
137
150
 
138
151
  if (options?.logLevel) {
139
- await CommandManager.instance.setLogger(options?.logLevel);
152
+ CommandManager.instance.setLogger(options?.logLevel);
140
153
  }
141
154
  return CommandManager.instance;
142
155
  }