@cyberismo/data-handler 0.0.14 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/card-metadata-updater.js +1 -3
- package/dist/card-metadata-updater.js.map +1 -1
- package/dist/command-handler.js +10 -16
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.d.ts +1 -1
- package/dist/command-manager.js +4 -3
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/create.js +13 -59
- 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.js +4 -17
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.js +3 -5
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.d.ts +1 -2
- package/dist/commands/move.js +108 -146
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.js +9 -44
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.js +2 -7
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +7 -25
- package/dist/commands/show.js +38 -102
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.js +27 -30
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +5 -3
- package/dist/commands/update.js +19 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +3 -3
- package/dist/commands/validate.js +19 -26
- 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 +6 -0
- package/dist/containers/project/calculation-engine.js +19 -12
- 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/resource-collector.d.ts +24 -1
- package/dist/containers/project/resource-collector.js +8 -1
- package/dist/containers/project/resource-collector.js.map +1 -1
- package/dist/containers/project.d.ts +117 -83
- package/dist/containers/project.js +418 -252
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +15 -31
- package/dist/containers/template.js +97 -104
- 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 +2 -1
- 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 +5 -1
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +11 -21
- 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 +2 -2
- 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/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.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.js +4 -4
- package/dist/module-manager.js.map +1 -1
- package/dist/project-settings.js.map +1 -1
- package/dist/resources/calculation-resource.d.ts +4 -32
- package/dist/resources/calculation-resource.js +0 -55
- package/dist/resources/calculation-resource.js.map +1 -1
- package/dist/resources/card-type-resource.d.ts +4 -21
- package/dist/resources/card-type-resource.js +13 -44
- package/dist/resources/card-type-resource.js.map +1 -1
- package/dist/resources/field-type-resource.d.ts +4 -21
- package/dist/resources/field-type-resource.js +14 -38
- package/dist/resources/field-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +12 -29
- package/dist/resources/file-resource.js +19 -293
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +31 -50
- package/dist/resources/folder-resource.js +68 -96
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.d.ts +5 -33
- package/dist/resources/graph-model-resource.js +8 -61
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.d.ts +5 -28
- package/dist/resources/graph-view-resource.js +6 -45
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/link-type-resource.d.ts +4 -21
- package/dist/resources/link-type-resource.js +6 -31
- package/dist/resources/link-type-resource.js.map +1 -1
- package/dist/resources/report-resource.d.ts +5 -17
- package/dist/resources/report-resource.js +6 -44
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +58 -23
- package/dist/resources/resource-object.js +293 -24
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.d.ts +4 -15
- package/dist/resources/template-resource.js +10 -25
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +4 -23
- package/dist/resources/workflow-resource.js +12 -38
- 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-facts.js +11 -3
- 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/package.json +5 -5
- package/src/card-metadata-updater.ts +3 -5
- package/src/command-handler.ts +11 -18
- package/src/command-manager.ts +4 -3
- package/src/commands/create.ts +17 -83
- package/src/commands/edit.ts +16 -132
- package/src/commands/export.ts +8 -29
- package/src/commands/import.ts +4 -6
- package/src/commands/move.ts +144 -179
- package/src/commands/remove.ts +9 -52
- package/src/commands/rename.ts +2 -7
- package/src/commands/show.ts +50 -143
- package/src/commands/transition.ts +30 -33
- package/src/commands/update.ts +27 -9
- package/src/commands/validate.ts +21 -36
- package/src/containers/card-container.ts +200 -360
- package/src/containers/project/calculation-engine.ts +21 -13
- package/src/containers/project/card-cache.ts +497 -0
- package/src/containers/project/resource-collector.ts +9 -1
- package/src/containers/project.ts +529 -327
- package/src/containers/template.ts +109 -127
- package/src/index.ts +1 -0
- package/src/interfaces/folder-content-interfaces.ts +7 -1
- package/src/interfaces/macros.ts +2 -0
- package/src/interfaces/project-interfaces.ts +7 -1
- package/src/interfaces/resource-interfaces.ts +12 -24
- package/src/macros/createCards/index.ts +1 -12
- package/src/macros/createCards/types.ts +46 -0
- package/src/macros/graph/index.ts +3 -7
- 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/percentage/index.ts +1 -7
- package/src/macros/percentage/types.ts +32 -0
- package/src/macros/report/index.ts +1 -4
- 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 +5 -5
- package/src/project-settings.ts +1 -1
- package/src/resources/calculation-resource.ts +6 -76
- package/src/resources/card-type-resource.ts +24 -59
- package/src/resources/field-type-resource.ts +22 -51
- package/src/resources/file-resource.ts +27 -409
- package/src/resources/folder-resource.ts +98 -124
- package/src/resources/graph-model-resource.ts +17 -74
- package/src/resources/graph-view-resource.ts +14 -54
- package/src/resources/link-type-resource.ts +13 -40
- package/src/resources/report-resource.ts +17 -57
- package/src/resources/resource-object.ts +435 -32
- package/src/resources/template-resource.ts +16 -29
- package/src/resources/workflow-resource.ts +26 -50
- package/src/utils/card-utils.ts +217 -31
- package/src/utils/clingo-facts.ts +13 -3
- package/src/utils/clingo-parser.ts +1 -1
- package/src/utils/constants.ts +6 -0
- package/src/utils/csv.ts +1 -1
|
@@ -23,17 +23,11 @@ export class Transition {
|
|
|
23
23
|
* @param transition which transition to do
|
|
24
24
|
*/
|
|
25
25
|
async cardTransition(cardKey, transition) {
|
|
26
|
-
|
|
27
|
-
const details = await this.project.cardDetailsById(cardKey, {
|
|
28
|
-
metadata: true,
|
|
29
|
-
});
|
|
30
|
-
if (!details || !details.metadata) {
|
|
31
|
-
throw new Error(`Card ${cardKey} does not exist in the project`);
|
|
32
|
-
}
|
|
26
|
+
const card = this.project.findCard(cardKey);
|
|
33
27
|
// Card type
|
|
34
|
-
const cardType =
|
|
28
|
+
const cardType = this.project.resource(card.metadata?.cardType || '');
|
|
35
29
|
if (cardType === undefined) {
|
|
36
|
-
throw new Error(`Card's card type '${
|
|
30
|
+
throw new Error(`Card's card type '${card.metadata?.cardType}' does not exist in the project`);
|
|
37
31
|
}
|
|
38
32
|
// Workflow
|
|
39
33
|
const workflow = await this.project.resource(cardType.workflow);
|
|
@@ -41,11 +35,11 @@ export class Transition {
|
|
|
41
35
|
throw new Error(`Card's workflow '${cardType.workflow}' does not exist in the project`);
|
|
42
36
|
}
|
|
43
37
|
// Check that the state transition can be made "from".
|
|
44
|
-
const foundFrom = workflow.transitions.find((item) => (
|
|
45
|
-
item.fromState.includes(
|
|
38
|
+
const foundFrom = workflow.transitions.find((item) => (card.metadata &&
|
|
39
|
+
item.fromState.includes(card.metadata?.workflowState)) ||
|
|
46
40
|
item.fromState.includes('*'));
|
|
47
41
|
if (!foundFrom) {
|
|
48
|
-
throw new Error(`Card's workflow '${cardType.workflow}' does not contain transition from card's current state '${
|
|
42
|
+
throw new Error(`Card's workflow '${cardType.workflow}' does not contain transition from card's current state '${card.metadata?.workflowState}'`);
|
|
49
43
|
}
|
|
50
44
|
// Check that the state transition can be made "to".
|
|
51
45
|
const found = workflow.transitions.find((item) => item.name === transition.name);
|
|
@@ -54,28 +48,31 @@ export class Transition {
|
|
|
54
48
|
throw new Error(`Card's workflow '${cardType.workflow}' does not contain state transition '${transition.name}'.
|
|
55
49
|
\nThe available transitions are: ${transitionNames.join(', ')}`);
|
|
56
50
|
}
|
|
57
|
-
if (!(
|
|
51
|
+
if (!((card.metadata?.workflowState &&
|
|
52
|
+
found.fromState.includes(card.metadata.workflowState)) ||
|
|
58
53
|
found.fromState.includes('*'))) {
|
|
59
|
-
throw new Error(`Card's workflow '${cardType.workflow}' does not contain state transition from state '${
|
|
54
|
+
throw new Error(`Card's workflow '${cardType.workflow}' does not contain state transition from state '${card.metadata?.workflowState}' for '${transition.name}`);
|
|
60
55
|
}
|
|
61
56
|
const actionGuard = new ActionGuard(this.project.calculationEngine);
|
|
62
57
|
await actionGuard.checkPermission('transition', cardKey, transition.name);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
queryResult
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
58
|
+
if (card.metadata) {
|
|
59
|
+
card.metadata.workflowState = found.toState;
|
|
60
|
+
card.metadata.lastUpdated = new Date().toISOString();
|
|
61
|
+
card.metadata.lastTransitioned = new Date().toISOString();
|
|
62
|
+
return this.project
|
|
63
|
+
.updateCardMetadata(card, card.metadata)
|
|
64
|
+
.then(async () => this.transitionChangesQuery(cardKey, transition.name))
|
|
65
|
+
.then(async (queryResult) => {
|
|
66
|
+
if (!queryResult ||
|
|
67
|
+
queryResult.at(0) === undefined ||
|
|
68
|
+
queryResult.at(0)?.updateFields === undefined) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const fieldsToUpdate = queryResult.at(0).updateFields;
|
|
72
|
+
return CardMetadataUpdater.apply(this.project, fieldsToUpdate);
|
|
73
|
+
})
|
|
74
|
+
.catch((error) => console.error(error));
|
|
75
|
+
}
|
|
79
76
|
}
|
|
80
77
|
// Wrapper to run onTransition query.
|
|
81
78
|
async transitionChangesQuery(cardKey, transition) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transition.js","sourceRoot":"","sources":["../../src/commands/transition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAM7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,OAAO,UAAU;IACD;IAApB,YAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAExC;;;;OAIG;IACI,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,UAAyB;QACpE,
|
|
1
|
+
{"version":3,"file":"transition.js","sourceRoot":"","sources":["../../src/commands/transition.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { OperationFor, UpdateOperations } from '../resources/resource-object.js';
|
|
13
13
|
import { Project } from '../containers/project.js';
|
|
14
|
+
import type { UpdateKey } from '../interfaces/resource-interfaces.js';
|
|
14
15
|
/**
|
|
15
16
|
* Class that handles 'update' commands.
|
|
16
17
|
*/
|
|
@@ -21,7 +22,7 @@ export declare class Update {
|
|
|
21
22
|
* Updates single resource property.
|
|
22
23
|
* @param name Name of the resource to operate on.
|
|
23
24
|
* @param operation Operation to perform ('add', 'remove', 'change', 'rank')
|
|
24
|
-
* @param key Property to change in resource JSON
|
|
25
|
+
* @param key Property to change in resource JSON. If content, content/<property>
|
|
25
26
|
* @param value Value for 'key'
|
|
26
27
|
* @param optionalDetail Additional detail needed for some operations. For example, 'update' needs a new value.
|
|
27
28
|
* @param mappingTable Optional mapping table for workflow state transitions (only used for workflow changes)
|
|
@@ -34,10 +35,11 @@ export declare class Update {
|
|
|
34
35
|
* Update single resource property
|
|
35
36
|
* This is similar to updateValue, but allows the operation to be fully specified
|
|
36
37
|
* @param name Name of the resource to operate on.
|
|
37
|
-
* @param
|
|
38
|
+
* @param updateKey Property to change in resource or in resource content.
|
|
38
39
|
* @param operation The full operation object
|
|
39
40
|
* @template Type Type of the target of the operation
|
|
40
41
|
* @template T Type of operation ('add', 'remove', 'change', 'rank')
|
|
42
|
+
* @template K Type of the key to change
|
|
41
43
|
*/
|
|
42
|
-
applyResourceOperation<Type, T extends UpdateOperations>(name: string,
|
|
44
|
+
applyResourceOperation<Type, T extends UpdateOperations, K extends string>(name: string, updateKey: UpdateKey<K>, operation: OperationFor<Type, T>): Promise<void>;
|
|
43
45
|
}
|
package/dist/commands/update.js
CHANGED
|
@@ -23,7 +23,7 @@ export class Update {
|
|
|
23
23
|
* Updates single resource property.
|
|
24
24
|
* @param name Name of the resource to operate on.
|
|
25
25
|
* @param operation Operation to perform ('add', 'remove', 'change', 'rank')
|
|
26
|
-
* @param key Property to change in resource JSON
|
|
26
|
+
* @param key Property to change in resource JSON. If content, content/<property>
|
|
27
27
|
* @param value Value for 'key'
|
|
28
28
|
* @param optionalDetail Additional detail needed for some operations. For example, 'update' needs a new value.
|
|
29
29
|
* @param mappingTable Optional mapping table for workflow state transitions (only used for workflow changes)
|
|
@@ -62,20 +62,34 @@ export class Update {
|
|
|
62
62
|
? optionalDetail
|
|
63
63
|
: undefined;
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
const splitKey = key.split('/');
|
|
66
|
+
if (splitKey.length !== 1 && splitKey.length !== 2) {
|
|
67
|
+
throw new Error(`Invalid key format: ${key}. Use 'property' or 'content/<property>'.`);
|
|
68
|
+
}
|
|
69
|
+
if (splitKey.length === 2 && splitKey[0] !== 'content') {
|
|
70
|
+
throw new Error(`Invalid key format: ${key}. When using 'content', always use as 'content/<property>'.`);
|
|
71
|
+
}
|
|
72
|
+
const [parsedKey, subKey] = splitKey;
|
|
73
|
+
if (parsedKey === 'content') {
|
|
74
|
+
await this.applyResourceOperation(name, { key: parsedKey, subKey }, op);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
await this.applyResourceOperation(name, { key: parsedKey }, op);
|
|
78
|
+
}
|
|
66
79
|
}
|
|
67
80
|
/**
|
|
68
81
|
* Update single resource property
|
|
69
82
|
* This is similar to updateValue, but allows the operation to be fully specified
|
|
70
83
|
* @param name Name of the resource to operate on.
|
|
71
|
-
* @param
|
|
84
|
+
* @param updateKey Property to change in resource or in resource content.
|
|
72
85
|
* @param operation The full operation object
|
|
73
86
|
* @template Type Type of the target of the operation
|
|
74
87
|
* @template T Type of operation ('add', 'remove', 'change', 'rank')
|
|
88
|
+
* @template K Type of the key to change
|
|
75
89
|
*/
|
|
76
|
-
async applyResourceOperation(name,
|
|
90
|
+
async applyResourceOperation(name, updateKey, operation) {
|
|
77
91
|
const resource = Project.resourceObject(this.project, resourceName(name));
|
|
78
|
-
await resource?.update(
|
|
92
|
+
await resource?.update(updateKey, operation);
|
|
79
93
|
this.project.collectLocalResources();
|
|
80
94
|
}
|
|
81
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAWF,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,7 +102,7 @@ export declare class Validate {
|
|
|
102
102
|
* @param prefixes currently used project prefixes
|
|
103
103
|
* @returns resource name as valid resource name; throws in error cases.
|
|
104
104
|
*/
|
|
105
|
-
validResourceName(resourceType: ResourceTypes, name: string, prefixes: string[]):
|
|
105
|
+
validResourceName(resourceType: ResourceTypes, name: string, prefixes: string[]): string;
|
|
106
106
|
/**
|
|
107
107
|
* Validates that 'prefix' is valid project prefix.
|
|
108
108
|
* @param prefix project prefix
|
|
@@ -120,7 +120,7 @@ export declare class Validate {
|
|
|
120
120
|
* Validates the labels of a card
|
|
121
121
|
* @param card card to validate. Card must have metadata.
|
|
122
122
|
*/
|
|
123
|
-
validateCardLabels(card: Card):
|
|
123
|
+
validateCardLabels(card: Card): string;
|
|
124
124
|
/**
|
|
125
125
|
* Checks if card's current workflow state matches workflow that card's card type is using.
|
|
126
126
|
* Template cards are expected to have empty workflow state.
|
|
@@ -128,7 +128,7 @@ export declare class Validate {
|
|
|
128
128
|
* @param card Card object to validate
|
|
129
129
|
* @returns string containing all validation errors
|
|
130
130
|
*/
|
|
131
|
-
validateWorkflowState(project: Project, card: Card):
|
|
131
|
+
validateWorkflowState(project: Project, card: Card): string;
|
|
132
132
|
/**
|
|
133
133
|
* Validates a single resource.
|
|
134
134
|
* @param resource Resource to validate
|
|
@@ -104,15 +104,12 @@ export class Validate {
|
|
|
104
104
|
}
|
|
105
105
|
// Puts resource to a local cache if found and returns the resource.
|
|
106
106
|
// If value is already cached, returns from cache.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
cachedValues.set(valueName, resource);
|
|
114
|
-
return resource;
|
|
115
|
-
}));
|
|
107
|
+
getAndCacheResource(project, cachedValues, valueName) {
|
|
108
|
+
const resource = project.resource(valueName);
|
|
109
|
+
if (resource) {
|
|
110
|
+
cachedValues.set(valueName, resource);
|
|
111
|
+
}
|
|
112
|
+
return resource;
|
|
116
113
|
}
|
|
117
114
|
parseValidatorMessage(errorObject) {
|
|
118
115
|
let parsedErrorMessage = '';
|
|
@@ -266,7 +263,7 @@ export class Validate {
|
|
|
266
263
|
const errors = [];
|
|
267
264
|
if (cardType && fieldArray) {
|
|
268
265
|
const validationPromises = fieldArray.map(async (field) => {
|
|
269
|
-
const fieldType =
|
|
266
|
+
const fieldType = this.getAndCacheResource(project, this.validatedFieldTypes, field);
|
|
270
267
|
if (!fieldType) {
|
|
271
268
|
return `Card type '${cardType.name}' has invalid reference to unknown ${nameOfArray} '${field}'`;
|
|
272
269
|
}
|
|
@@ -391,14 +388,15 @@ export class Validate {
|
|
|
391
388
|
else {
|
|
392
389
|
const errorMsg = [];
|
|
393
390
|
const project = projectFn();
|
|
391
|
+
await project.populateCaches();
|
|
394
392
|
// Then, validate that each 'contentSchema' children as well.
|
|
395
393
|
const result = await this.readAndValidateContentFiles(project, projectPath);
|
|
396
394
|
if (result.length > 0) {
|
|
397
395
|
errorMsg.push(...result);
|
|
398
396
|
}
|
|
399
397
|
// Finally, validate that each card is correct
|
|
400
|
-
const cards =
|
|
401
|
-
cards.push(...
|
|
398
|
+
const cards = project.cards();
|
|
399
|
+
cards.push(...project.allTemplateCards());
|
|
402
400
|
const cardIds = new Map();
|
|
403
401
|
for (const card of cards) {
|
|
404
402
|
if (cardIds.has(card.key)) {
|
|
@@ -408,9 +406,8 @@ export class Validate {
|
|
|
408
406
|
cardIds.set(card.key, 1);
|
|
409
407
|
}
|
|
410
408
|
if (card.metadata) {
|
|
411
|
-
// validate card's workflow
|
|
412
409
|
if (!isTemplateCard(card)) {
|
|
413
|
-
const validWorkflow =
|
|
410
|
+
const validWorkflow = this.validateWorkflowState(project, card);
|
|
414
411
|
if (validWorkflow.length !== 0) {
|
|
415
412
|
errorMsg.push(validWorkflow);
|
|
416
413
|
}
|
|
@@ -429,7 +426,7 @@ export class Validate {
|
|
|
429
426
|
await evaluateMacros(card.content, {
|
|
430
427
|
context: 'localApp',
|
|
431
428
|
mode: 'validate',
|
|
432
|
-
project,
|
|
429
|
+
project: project,
|
|
433
430
|
cardKey: card.key,
|
|
434
431
|
});
|
|
435
432
|
}
|
|
@@ -494,15 +491,11 @@ export class Validate {
|
|
|
494
491
|
* @param prefixes currently used project prefixes
|
|
495
492
|
* @returns resource name as valid resource name; throws in error cases.
|
|
496
493
|
*/
|
|
497
|
-
|
|
494
|
+
validResourceName(resourceType, name, prefixes) {
|
|
498
495
|
const resource = resourceName(name);
|
|
499
496
|
resource.type = resource.type ? resource.type : resourceType;
|
|
500
|
-
// a bit shaky way to ensure that prefix is set; first of the project prefixes should be the actual project prefix.
|
|
501
497
|
if (resource.prefix === '') {
|
|
502
|
-
|
|
503
|
-
if (resource.prefix === '') {
|
|
504
|
-
throw new Error(`Project prefix cannot be empty string`);
|
|
505
|
-
}
|
|
498
|
+
throw new Error(`Project prefix cannot be empty string`);
|
|
506
499
|
}
|
|
507
500
|
if (!prefixes.includes(resource.prefix)) {
|
|
508
501
|
throw new Error(`Resource name can only refer to project that it is part of. Prefix '${resource.prefix}' is not included in '[${prefixes.join(',')}]'`);
|
|
@@ -537,7 +530,7 @@ export class Validate {
|
|
|
537
530
|
if (!card.metadata) {
|
|
538
531
|
throw new Error(`Card '${card.key}' has no metadata. Card object needs to be instantiated with '{metadata: true}'`);
|
|
539
532
|
}
|
|
540
|
-
const cardType =
|
|
533
|
+
const cardType = this.getAndCacheResource(project, this.validatedCardTypes, card.metadata?.cardType);
|
|
541
534
|
if (!cardType) {
|
|
542
535
|
validationErrors.push(`Card '${card.key}' has invalid card type '${card.metadata?.cardType}'`);
|
|
543
536
|
return validationErrors.join('\n');
|
|
@@ -595,7 +588,7 @@ export class Validate {
|
|
|
595
588
|
* Validates the labels of a card
|
|
596
589
|
* @param card card to validate. Card must have metadata.
|
|
597
590
|
*/
|
|
598
|
-
|
|
591
|
+
validateCardLabels(card) {
|
|
599
592
|
const validationErrors = [];
|
|
600
593
|
if (!card.metadata) {
|
|
601
594
|
validationErrors.push(`Card '${card.key}' has no metadata. Card object needs to be instantiated with '{metadata: true}'`);
|
|
@@ -623,13 +616,13 @@ export class Validate {
|
|
|
623
616
|
* @param card Card object to validate
|
|
624
617
|
* @returns string containing all validation errors
|
|
625
618
|
*/
|
|
626
|
-
|
|
619
|
+
validateWorkflowState(project, card) {
|
|
627
620
|
const validationErrors = [];
|
|
628
621
|
if (!card.metadata) {
|
|
629
622
|
validationErrors.push(`Card '${card.key}' has no metadata. Card object needs to be instantiated with '{metadata: true}'`);
|
|
630
623
|
}
|
|
631
624
|
// Use caches for cardTypes and workflows, to avoid re-reading the same JSON files multiple times.
|
|
632
|
-
const cardType =
|
|
625
|
+
const cardType = this.getAndCacheResource(project, this.validatedCardTypes, card.metadata?.cardType || '');
|
|
633
626
|
if (!cardType) {
|
|
634
627
|
validationErrors.push(`Card '${card.key}' has invalid card type '${card.metadata?.cardType}'`);
|
|
635
628
|
return validationErrors.join('\n');
|
|
@@ -638,7 +631,7 @@ export class Validate {
|
|
|
638
631
|
validationErrors.push(`Card type '${card.metadata?.cardType}' does not have 'workflow'`);
|
|
639
632
|
return validationErrors.join('\n');
|
|
640
633
|
}
|
|
641
|
-
const workflow =
|
|
634
|
+
const workflow = this.getAndCacheResource(project, this.validatedWorkflows, cardType.workflow);
|
|
642
635
|
if (!workflow) {
|
|
643
636
|
validationErrors.push(`Workflow of '${cardType.workflow}' card type '${card.metadata?.cardType}' does not exist in the project`);
|
|
644
637
|
return validationErrors.join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,40 +11,103 @@
|
|
|
11
11
|
You should have received a copy of the GNU Affero General Public
|
|
12
12
|
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
14
|
+
import { CardCache } from './project/card-cache.js';
|
|
15
|
+
import type { CardAttachment, Card, FetchCardDetails } from '../interfaces/project-interfaces.js';
|
|
15
16
|
/**
|
|
16
17
|
* Card container base class. Used for both Project and Template.
|
|
17
18
|
* Contains common card-related functionality.
|
|
18
19
|
*/
|
|
19
20
|
export declare class CardContainer {
|
|
20
21
|
basePath: string;
|
|
22
|
+
protected cardCache: CardCache;
|
|
21
23
|
protected containerName: string;
|
|
22
|
-
|
|
23
|
-
static cardMetadataFile: string;
|
|
24
|
+
protected prefix: string;
|
|
24
25
|
static cardContentFile: string;
|
|
26
|
+
static cardMetadataFile: string;
|
|
27
|
+
static projectConfigFileName: string;
|
|
25
28
|
static schemaContentFile: string;
|
|
26
|
-
constructor(path: string, name: string);
|
|
27
|
-
private
|
|
28
|
-
private
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
protected
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
constructor(path: string, prefix: string, name: string);
|
|
30
|
+
private filterCardDetails;
|
|
31
|
+
private filterCardsDetails;
|
|
32
|
+
/**
|
|
33
|
+
* Determines the container from a given path.
|
|
34
|
+
* @param path The filesystem path to analyze
|
|
35
|
+
* @returns Location string: 'project' for project cards, template name for template cards
|
|
36
|
+
*/
|
|
37
|
+
protected determineContainer(path: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Populates the card cache with all cards from all locations.
|
|
40
|
+
*/
|
|
41
|
+
protected populateCardsCache(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Populates template cards into the cache.
|
|
44
|
+
*/
|
|
45
|
+
protected populateTemplateCards(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Lists all attachments from the container.
|
|
48
|
+
* @param path Path where attachments should be collected.
|
|
49
|
+
* @returns attachments from the container.
|
|
50
|
+
*/
|
|
51
|
+
protected attachments(path: string): CardAttachment[];
|
|
52
|
+
/**
|
|
53
|
+
* Shows all cards from the container with the given details (by default all of them).
|
|
54
|
+
* @param path Path where cards should be listed.
|
|
55
|
+
* @param details Which details of the card should be included
|
|
56
|
+
* @returns all cards from the container
|
|
57
|
+
*/
|
|
58
|
+
protected cards(path: string, details?: FetchCardDetails): Card[];
|
|
59
|
+
/**
|
|
60
|
+
* Finds a specific card.
|
|
61
|
+
* @param cardKey Card key to find
|
|
62
|
+
* @param details Card details to be included in the card
|
|
63
|
+
* @throws if card does not exist in the container
|
|
64
|
+
*/
|
|
65
|
+
protected findCard(cardKey: string, details?: FetchCardDetails): Card;
|
|
66
|
+
/**
|
|
67
|
+
* Removes a card. If card has children, they are removed as well.
|
|
68
|
+
* @param cardKey Card key to remove.
|
|
69
|
+
* @returns true, if card was removed; false otherwise
|
|
70
|
+
*/
|
|
71
|
+
protected removeCard(cardKey: string): Promise<boolean>;
|
|
72
|
+
/**
|
|
73
|
+
* Persists the whole card.
|
|
74
|
+
* @param card Card to persist
|
|
75
|
+
*/
|
|
41
76
|
protected saveCard(card: Card): Promise<void>;
|
|
42
|
-
protected saveCardContent(card: Card): Promise<void>;
|
|
43
|
-
protected saveCardMetadata(card: Card): Promise<void>;
|
|
44
77
|
/**
|
|
45
|
-
*
|
|
46
|
-
* @param
|
|
47
|
-
* @returns
|
|
78
|
+
* Persists card content.
|
|
79
|
+
* @param card Card to persist.
|
|
80
|
+
* @returns true if card was updated; false otherwise.
|
|
81
|
+
*/
|
|
82
|
+
protected saveCardContent(card: Card): Promise<boolean>;
|
|
83
|
+
/**
|
|
84
|
+
* Persists card metadata.
|
|
85
|
+
* @param card Card to persist
|
|
86
|
+
* @returns true if card was updated; false otherwise.
|
|
87
|
+
*/
|
|
88
|
+
protected saveCardMetadata(card: Card): Promise<boolean>;
|
|
89
|
+
/**
|
|
90
|
+
* Show root cards from a given path.
|
|
91
|
+
* @param path The path to get cards from
|
|
92
|
+
* @returns an array of root-level cards (each with their children populated).
|
|
93
|
+
*/
|
|
94
|
+
protected showCards(path: string): Card[];
|
|
95
|
+
/**
|
|
96
|
+
* Checks if container has the specified card.
|
|
97
|
+
* @param cardKey Card key to check
|
|
98
|
+
* @return true, if card is in the container
|
|
99
|
+
*/
|
|
100
|
+
hasCard(cardKey: string): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Checks if container has the specified project card.
|
|
103
|
+
* @param cardKey Card key to check
|
|
104
|
+
* @return true, if card is in the container
|
|
105
|
+
*/
|
|
106
|
+
hasProjectCard(cardKey: string): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Checks if container has the specified template card.
|
|
109
|
+
* @param cardKey Card key to check
|
|
110
|
+
* @return true, if card is in the container
|
|
48
111
|
*/
|
|
49
|
-
|
|
112
|
+
hasTemplateCard(cardKey: string): boolean;
|
|
50
113
|
}
|