@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.
- package/dist/card-metadata-updater.js +8 -4
- package/dist/card-metadata-updater.js.map +1 -1
- package/dist/command-handler.d.ts +4 -0
- package/dist/command-handler.js +29 -19
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.d.ts +25 -2
- package/dist/command-manager.js +30 -5
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/create.d.ts +1 -1
- package/dist/commands/create.js +45 -93
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/edit.d.ts +1 -15
- package/dist/commands/edit.js +15 -89
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/export.d.ts +11 -2
- package/dist/commands/export.js +58 -58
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts +9 -1
- package/dist/commands/import.js +17 -11
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.d.ts +1 -2
- package/dist/commands/move.js +107 -146
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.d.ts +8 -1
- package/dist/commands/remove.js +17 -48
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.d.ts +4 -9
- package/dist/commands/rename.js +34 -108
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +22 -34
- package/dist/commands/show.js +103 -151
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.d.ts +9 -2
- package/dist/commands/transition.js +49 -44
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +18 -12
- package/dist/commands/update.js +34 -18
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +18 -10
- package/dist/commands/validate.js +101 -47
- package/dist/commands/validate.js.map +1 -1
- package/dist/containers/card-container.d.ts +87 -24
- package/dist/containers/card-container.js +183 -279
- package/dist/containers/card-container.js.map +1 -1
- package/dist/containers/project/calculation-engine.d.ts +13 -4
- package/dist/containers/project/calculation-engine.js +79 -77
- package/dist/containers/project/calculation-engine.js.map +1 -1
- package/dist/containers/project/card-cache.d.ts +146 -0
- package/dist/containers/project/card-cache.js +411 -0
- package/dist/containers/project/card-cache.js.map +1 -0
- package/dist/containers/project/project-paths.d.ts +5 -4
- package/dist/containers/project/project-paths.js +16 -12
- package/dist/containers/project/project-paths.js.map +1 -1
- package/dist/containers/project/resource-cache.d.ts +169 -0
- package/dist/containers/project/resource-cache.js +507 -0
- package/dist/containers/project/resource-cache.js.map +1 -0
- package/dist/containers/project/resource-handler.d.ts +129 -0
- package/dist/containers/project/resource-handler.js +206 -0
- package/dist/containers/project/resource-handler.js.map +1 -0
- package/dist/containers/project.d.ts +114 -195
- package/dist/containers/project.js +425 -535
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +22 -32
- package/dist/containers/template.js +113 -115
- package/dist/containers/template.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/folder-content-interfaces.d.ts +7 -4
- package/dist/interfaces/folder-content-interfaces.js +3 -3
- package/dist/interfaces/folder-content-interfaces.js.map +1 -1
- package/dist/interfaces/macros.d.ts +1 -0
- package/dist/interfaces/macros.js +1 -1
- package/dist/interfaces/macros.js.map +1 -1
- package/dist/interfaces/project-interfaces.d.ts +7 -5
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +25 -22
- package/dist/interfaces/resource-interfaces.js +3 -0
- package/dist/interfaces/resource-interfaces.js.map +1 -1
- package/dist/macros/common.d.ts +10 -10
- package/dist/macros/createCards/index.d.ts +0 -13
- package/dist/macros/createCards/index.js.map +1 -1
- package/dist/macros/createCards/types.d.ts +44 -0
- package/dist/macros/createCards/types.js +15 -0
- package/dist/macros/createCards/types.js.map +1 -0
- package/dist/macros/graph/index.d.ts +2 -6
- package/dist/macros/graph/index.js +14 -28
- package/dist/macros/graph/index.js.map +1 -1
- package/dist/macros/graph/types.d.ts +23 -0
- package/dist/macros/graph/types.js +15 -0
- package/dist/macros/graph/types.js.map +1 -0
- package/dist/macros/image/index.d.ts +8 -16
- package/dist/macros/image/index.js +36 -33
- package/dist/macros/image/index.js.map +1 -1
- package/dist/macros/image/types.d.ts +38 -0
- package/dist/macros/image/types.js +15 -0
- package/dist/macros/image/types.js.map +1 -0
- package/dist/macros/include/index.d.ts +1 -6
- package/dist/macros/include/index.js +4 -7
- package/dist/macros/include/index.js.map +1 -1
- package/dist/macros/include/types.d.ts +31 -0
- package/dist/macros/include/types.js +15 -0
- package/dist/macros/include/types.js.map +1 -0
- package/dist/macros/index.d.ts +1 -1
- package/dist/macros/index.js +2 -2
- package/dist/macros/index.js.map +1 -1
- package/dist/macros/percentage/index.d.ts +0 -6
- package/dist/macros/percentage/index.js.map +1 -1
- package/dist/macros/percentage/types.d.ts +31 -0
- package/dist/macros/percentage/types.js +15 -0
- package/dist/macros/percentage/types.js.map +1 -0
- package/dist/macros/report/index.d.ts +0 -3
- package/dist/macros/report/index.js +3 -6
- package/dist/macros/report/index.js.map +1 -1
- package/dist/macros/report/types.d.ts +19 -0
- package/dist/macros/report/types.js +15 -0
- package/dist/macros/report/types.js.map +1 -0
- package/dist/macros/scoreCard/index.d.ts +0 -6
- package/dist/macros/scoreCard/index.js.map +1 -1
- package/dist/macros/scoreCard/types.d.ts +31 -0
- package/dist/macros/scoreCard/types.js +15 -0
- package/dist/macros/scoreCard/types.js.map +1 -0
- package/dist/macros/types.d.ts +25 -0
- package/dist/macros/types.js +2 -0
- package/dist/macros/types.js.map +1 -0
- package/dist/macros/vega/index.d.ts +0 -4
- package/dist/macros/vega/index.js.map +1 -1
- package/dist/macros/vega/types.d.ts +20 -0
- package/dist/macros/vega/types.js +2 -0
- package/dist/macros/vega/types.js.map +1 -0
- package/dist/macros/vegalite/index.d.ts +0 -4
- package/dist/macros/vegalite/index.js.map +1 -1
- package/dist/macros/vegalite/types.d.ts +20 -0
- package/dist/macros/vegalite/types.js +15 -0
- package/dist/macros/vegalite/types.js.map +1 -0
- package/dist/macros/xref/index.d.ts +0 -3
- package/dist/macros/xref/index.js +5 -14
- package/dist/macros/xref/index.js.map +1 -1
- package/dist/macros/xref/types.d.ts +19 -0
- package/dist/macros/xref/types.js +15 -0
- package/dist/macros/xref/types.js.map +1 -0
- package/dist/module-manager.d.ts +16 -3
- package/dist/module-manager.js +55 -23
- package/dist/module-manager.js.map +1 -1
- package/dist/project-settings.d.ts +16 -3
- package/dist/project-settings.js +79 -14
- package/dist/project-settings.js.map +1 -1
- package/dist/resources/calculation-resource.d.ts +6 -33
- package/dist/resources/calculation-resource.js +11 -60
- package/dist/resources/calculation-resource.js.map +1 -1
- package/dist/resources/card-type-resource.d.ts +10 -22
- package/dist/resources/card-type-resource.js +46 -66
- package/dist/resources/card-type-resource.js.map +1 -1
- package/dist/resources/create-defaults.d.ts +3 -2
- package/dist/resources/create-defaults.js +3 -2
- package/dist/resources/create-defaults.js.map +1 -1
- package/dist/resources/field-type-resource.d.ts +8 -22
- package/dist/resources/field-type-resource.js +35 -60
- package/dist/resources/field-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +14 -35
- package/dist/resources/file-resource.js +22 -301
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +44 -66
- package/dist/resources/folder-resource.js +102 -149
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.d.ts +9 -34
- package/dist/resources/graph-model-resource.js +18 -64
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.d.ts +9 -29
- package/dist/resources/graph-view-resource.js +13 -48
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/link-type-resource.d.ts +9 -23
- package/dist/resources/link-type-resource.js +11 -33
- package/dist/resources/link-type-resource.js.map +1 -1
- package/dist/resources/report-resource.d.ts +10 -23
- package/dist/resources/report-resource.js +20 -67
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +143 -23
- package/dist/resources/resource-object.js +369 -48
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.d.ts +10 -17
- package/dist/resources/template-resource.js +19 -27
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +9 -25
- package/dist/resources/workflow-resource.js +25 -55
- package/dist/resources/workflow-resource.js.map +1 -1
- package/dist/utils/card-utils.d.ts +69 -19
- package/dist/utils/card-utils.js +179 -30
- package/dist/utils/card-utils.js.map +1 -1
- package/dist/utils/clingo-fact-builder.d.ts +25 -14
- package/dist/utils/clingo-fact-builder.js +27 -5
- package/dist/utils/clingo-fact-builder.js.map +1 -1
- package/dist/utils/clingo-facts.js +14 -7
- package/dist/utils/clingo-facts.js.map +1 -1
- package/dist/utils/clingo-parser.js +1 -1
- package/dist/utils/clingo-parser.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -0
- package/dist/utils/constants.js +4 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/csv.js +1 -1
- package/dist/utils/csv.js.map +1 -1
- package/dist/utils/resource-utils.d.ts +1 -0
- package/dist/utils/resource-utils.js +2 -1
- package/dist/utils/resource-utils.js.map +1 -1
- package/package.json +11 -11
- package/src/card-metadata-updater.ts +9 -7
- package/src/command-handler.ts +35 -23
- package/src/command-manager.ts +32 -19
- package/src/commands/create.ts +59 -160
- package/src/commands/edit.ts +16 -132
- package/src/commands/export.ts +71 -81
- package/src/commands/import.ts +26 -18
- package/src/commands/move.ts +143 -179
- package/src/commands/remove.ts +20 -59
- package/src/commands/rename.ts +45 -156
- package/src/commands/show.ts +153 -211
- package/src/commands/transition.ts +53 -58
- package/src/commands/update.ts +44 -23
- package/src/commands/validate.ts +108 -82
- package/src/containers/card-container.ts +200 -360
- package/src/containers/project/calculation-engine.ts +81 -105
- package/src/containers/project/card-cache.ts +497 -0
- package/src/containers/project/project-paths.ts +21 -13
- package/src/containers/project/resource-cache.ts +648 -0
- package/src/containers/project/resource-handler.ts +265 -0
- package/src/containers/project.ts +551 -693
- package/src/containers/template.ts +129 -142
- package/src/index.ts +1 -0
- package/src/interfaces/folder-content-interfaces.ts +14 -7
- package/src/interfaces/macros.ts +2 -0
- package/src/interfaces/project-interfaces.ts +14 -7
- package/src/interfaces/resource-interfaces.ts +30 -27
- package/src/macros/createCards/index.ts +1 -12
- package/src/macros/createCards/types.ts +46 -0
- package/src/macros/graph/index.ts +27 -52
- package/src/macros/graph/types.ts +24 -0
- package/src/macros/image/index.ts +50 -61
- package/src/macros/image/types.ts +39 -0
- package/src/macros/include/index.ts +6 -15
- package/src/macros/include/types.ts +32 -0
- package/src/macros/index.ts +2 -2
- package/src/macros/percentage/index.ts +1 -7
- package/src/macros/percentage/types.ts +32 -0
- package/src/macros/report/index.ts +4 -13
- package/src/macros/report/types.ts +20 -0
- package/src/macros/scoreCard/index.ts +1 -7
- package/src/macros/scoreCard/types.ts +32 -0
- package/src/macros/types.ts +48 -0
- package/src/macros/vega/index.ts +1 -4
- package/src/macros/vega/types.ts +21 -0
- package/src/macros/vegalite/index.ts +1 -4
- package/src/macros/vegalite/types.ts +22 -0
- package/src/macros/xref/index.ts +6 -20
- package/src/macros/xref/types.ts +20 -0
- package/src/module-manager.ts +79 -22
- package/src/project-settings.ts +84 -15
- package/src/resources/calculation-resource.ts +21 -91
- package/src/resources/card-type-resource.ts +74 -109
- package/src/resources/create-defaults.ts +3 -2
- package/src/resources/field-type-resource.ts +61 -104
- package/src/resources/file-resource.ts +33 -441
- package/src/resources/folder-resource.ts +130 -207
- package/src/resources/graph-model-resource.ts +36 -95
- package/src/resources/graph-view-resource.ts +28 -70
- package/src/resources/link-type-resource.ts +23 -53
- package/src/resources/report-resource.ts +34 -96
- package/src/resources/resource-object.ts +511 -66
- package/src/resources/template-resource.ts +32 -44
- package/src/resources/workflow-resource.ts +42 -85
- package/src/utils/card-utils.ts +217 -31
- package/src/utils/clingo-fact-builder.ts +28 -16
- package/src/utils/clingo-facts.ts +16 -7
- package/src/utils/clingo-parser.ts +1 -1
- package/src/utils/constants.ts +6 -0
- package/src/utils/csv.ts +1 -1
- package/src/utils/resource-utils.ts +2 -1
- package/dist/containers/project/resource-collector.d.ts +0 -87
- package/dist/containers/project/resource-collector.js +0 -337
- package/dist/containers/project/resource-collector.js.map +0 -1
- package/src/containers/project/resource-collector.ts +0 -396
package/dist/utils/constants.js
CHANGED
|
@@ -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.
|
package/dist/utils/csv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/utils/csv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
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.
|
|
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":"AAAA;;;;;;;EAOE;AAEF,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAYjD,iCAAiC;AACjC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,sCAAsC;AACtC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,qBAAqB,GAAG;IAC5B,aAAa;IACb,YAAY;IACZ,SAAS;IACT,WAAW;CACZ,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AACD,uDAAuD;AACvD,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,UAAU,KAAK,mBAAmB,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,YAAoB,EACpB,SAAkB,KAAK;IAEvB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,yDAAyD;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,8BAA8B,CAAC,CAAC;QACvE,CAAC;QACD,OAAO;YACL,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,YAAY;SACzB,CAAC;IACJ,CAAC;IACD,gBAAgB;IAChB,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACzC,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;YAC3B,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC;YACvB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;SAChD,CAAC;IACJ,CAAC;IACD,iCAAiC;IACjC,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,8BAA8B,CAAC,CAAC;AACvE,CAAC;AAED
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
42
|
-
"pino": "^
|
|
43
|
-
"simple-git": "^3.
|
|
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.
|
|
47
|
-
"vega-lite": "^6.
|
|
46
|
+
"vega": "^6.2.0",
|
|
47
|
+
"vega-lite": "^6.4.1",
|
|
48
48
|
"write-json-file": "^7.0.0",
|
|
49
|
-
"@cyberismo/assets": "0.0.
|
|
50
|
-
"@cyberismo/node-clingo": "1.3.
|
|
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
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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(
|
package/src/command-handler.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
|
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
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
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
|
-
|
|
769
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
package/src/command-manager.ts
CHANGED
|
@@ -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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
152
|
+
CommandManager.instance.setLogger(options?.logLevel);
|
|
140
153
|
}
|
|
141
154
|
return CommandManager.instance;
|
|
142
155
|
}
|