@cyberismo/data-handler 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +702 -0
- package/dist/card-metadata-updater.d.ts +33 -0
- package/dist/card-metadata-updater.js +121 -0
- package/dist/card-metadata-updater.js.map +1 -0
- package/dist/command-handler.d.ts +96 -0
- package/dist/command-handler.js +557 -0
- package/dist/command-handler.js.map +1 -0
- package/dist/command-manager.d.ts +43 -0
- package/dist/command-manager.js +73 -0
- package/dist/command-manager.js.map +1 -0
- package/dist/commands/calculate.d.ts +86 -0
- package/dist/commands/calculate.js +444 -0
- package/dist/commands/calculate.js.map +1 -0
- package/dist/commands/create.d.ts +114 -0
- package/dist/commands/create.js +389 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/edit.d.ts +37 -0
- package/dist/commands/edit.js +99 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/export-site.d.ts +45 -0
- package/dist/commands/export-site.js +301 -0
- package/dist/commands/export-site.js.map +1 -0
- package/dist/commands/export.d.ts +53 -0
- package/dist/commands/export.js +251 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/import.d.ts +53 -0
- package/dist/commands/import.js +133 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/index.d.ts +26 -0
- package/dist/commands/index.js +27 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/move.d.ts +55 -0
- package/dist/commands/move.js +341 -0
- package/dist/commands/move.js.map +1 -0
- package/dist/commands/remove.d.ts +38 -0
- package/dist/commands/remove.js +192 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/rename.d.ts +46 -0
- package/dist/commands/rename.js +289 -0
- package/dist/commands/rename.js.map +1 -0
- package/dist/commands/show.d.ts +124 -0
- package/dist/commands/show.js +345 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/commands/transition.d.ts +27 -0
- package/dist/commands/transition.js +92 -0
- package/dist/commands/transition.js.map +1 -0
- package/dist/commands/update.d.ts +29 -0
- package/dist/commands/update.js +64 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/validate.d.ts +143 -0
- package/dist/commands/validate.js +689 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/containers/card-container.d.ts +44 -0
- package/dist/containers/card-container.js +282 -0
- package/dist/containers/card-container.js.map +1 -0
- package/dist/containers/project/project-paths.d.ts +46 -0
- package/dist/containers/project/project-paths.js +105 -0
- package/dist/containers/project/project-paths.js.map +1 -0
- package/dist/containers/project/resource-collector.d.ts +86 -0
- package/dist/containers/project/resource-collector.js +331 -0
- package/dist/containers/project/resource-collector.js.map +1 -0
- package/dist/containers/project.d.ts +351 -0
- package/dist/containers/project.js +896 -0
- package/dist/containers/project.js.map +1 -0
- package/dist/containers/template.d.ts +108 -0
- package/dist/containers/template.js +433 -0
- package/dist/containers/template.js.map +1 -0
- package/dist/exceptions/index.d.ts +19 -0
- package/dist/exceptions/index.js +26 -0
- package/dist/exceptions/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/adoc.d.ts +12 -0
- package/dist/interfaces/adoc.js +13 -0
- package/dist/interfaces/adoc.js.map +1 -0
- package/dist/interfaces/macros.d.ts +45 -0
- package/dist/interfaces/macros.js +13 -0
- package/dist/interfaces/macros.js.map +1 -0
- package/dist/interfaces/project-interfaces.d.ts +121 -0
- package/dist/interfaces/project-interfaces.js +21 -0
- package/dist/interfaces/project-interfaces.js.map +1 -0
- package/dist/interfaces/request-status-interfaces.d.ts +28 -0
- package/dist/interfaces/request-status-interfaces.js +20 -0
- package/dist/interfaces/request-status-interfaces.js.map +1 -0
- package/dist/interfaces/resource-interfaces.d.ts +117 -0
- package/dist/interfaces/resource-interfaces.js +20 -0
- package/dist/interfaces/resource-interfaces.js.map +1 -0
- package/dist/macros/base-macro.d.ts +31 -0
- package/dist/macros/base-macro.js +126 -0
- package/dist/macros/base-macro.js.map +1 -0
- package/dist/macros/common.d.ts +17 -0
- package/dist/macros/common.js +23 -0
- package/dist/macros/common.js.map +1 -0
- package/dist/macros/createCards/index.d.ts +36 -0
- package/dist/macros/createCards/index.js +35 -0
- package/dist/macros/createCards/index.js.map +1 -0
- package/dist/macros/createCards/metadata.d.ts +14 -0
- package/dist/macros/createCards/metadata.js +18 -0
- package/dist/macros/createCards/metadata.js.map +1 -0
- package/dist/macros/graph/index.d.ts +29 -0
- package/dist/macros/graph/index.js +91 -0
- package/dist/macros/graph/index.js.map +1 -0
- package/dist/macros/graph/metadata.d.ts +14 -0
- package/dist/macros/graph/metadata.js +18 -0
- package/dist/macros/graph/metadata.js.map +1 -0
- package/dist/macros/index.d.ts +93 -0
- package/dist/macros/index.js +237 -0
- package/dist/macros/index.js.map +1 -0
- package/dist/macros/report/index.d.ts +26 -0
- package/dist/macros/report/index.js +70 -0
- package/dist/macros/report/index.js.map +1 -0
- package/dist/macros/report/metadata.d.ts +14 -0
- package/dist/macros/report/metadata.js +18 -0
- package/dist/macros/report/metadata.js.map +1 -0
- package/dist/macros/scoreCard/index.d.ts +30 -0
- package/dist/macros/scoreCard/index.js +38 -0
- package/dist/macros/scoreCard/index.js.map +1 -0
- package/dist/macros/scoreCard/metadata.d.ts +14 -0
- package/dist/macros/scoreCard/metadata.js +18 -0
- package/dist/macros/scoreCard/metadata.js.map +1 -0
- package/dist/macros/task-queue.d.ts +46 -0
- package/dist/macros/task-queue.js +69 -0
- package/dist/macros/task-queue.js.map +1 -0
- package/dist/module-manager.d.ts +62 -0
- package/dist/module-manager.js +350 -0
- package/dist/module-manager.js.map +1 -0
- package/dist/permissions/action-guard.d.ts +28 -0
- package/dist/permissions/action-guard.js +61 -0
- package/dist/permissions/action-guard.js.map +1 -0
- package/dist/project-settings.d.ts +42 -0
- package/dist/project-settings.js +120 -0
- package/dist/project-settings.js.map +1 -0
- package/dist/resources/array-handler.d.ts +28 -0
- package/dist/resources/array-handler.js +116 -0
- package/dist/resources/array-handler.js.map +1 -0
- package/dist/resources/card-type-resource.d.ts +72 -0
- package/dist/resources/card-type-resource.js +334 -0
- package/dist/resources/card-type-resource.js.map +1 -0
- package/dist/resources/create-defaults.d.ts +81 -0
- package/dist/resources/create-defaults.js +184 -0
- package/dist/resources/create-defaults.js.map +1 -0
- package/dist/resources/field-type-resource.d.ts +88 -0
- package/dist/resources/field-type-resource.js +411 -0
- package/dist/resources/field-type-resource.js.map +1 -0
- package/dist/resources/file-resource.d.ts +50 -0
- package/dist/resources/file-resource.js +301 -0
- package/dist/resources/file-resource.js.map +1 -0
- package/dist/resources/folder-resource.d.ts +66 -0
- package/dist/resources/folder-resource.js +100 -0
- package/dist/resources/folder-resource.js.map +1 -0
- package/dist/resources/graph-model-resource.d.ts +78 -0
- package/dist/resources/graph-model-resource.js +164 -0
- package/dist/resources/graph-model-resource.js.map +1 -0
- package/dist/resources/graph-view-resource.d.ts +78 -0
- package/dist/resources/graph-view-resource.js +163 -0
- package/dist/resources/graph-view-resource.js.map +1 -0
- package/dist/resources/link-type-resource.d.ts +62 -0
- package/dist/resources/link-type-resource.js +150 -0
- package/dist/resources/link-type-resource.js.map +1 -0
- package/dist/resources/report-resource.d.ts +77 -0
- package/dist/resources/report-resource.js +171 -0
- package/dist/resources/report-resource.js.map +1 -0
- package/dist/resources/resource-object.d.ts +108 -0
- package/dist/resources/resource-object.js +147 -0
- package/dist/resources/resource-object.js.map +1 -0
- package/dist/resources/template-resource.d.ts +82 -0
- package/dist/resources/template-resource.js +173 -0
- package/dist/resources/template-resource.js.map +1 -0
- package/dist/resources/workflow-resource.d.ts +67 -0
- package/dist/resources/workflow-resource.js +156 -0
- package/dist/resources/workflow-resource.js.map +1 -0
- package/dist/types/queries.d.ts +142 -0
- package/dist/types/queries.js +16 -0
- package/dist/types/queries.js.map +1 -0
- package/dist/utils/card-utils.d.ts +34 -0
- package/dist/utils/card-utils.js +78 -0
- package/dist/utils/card-utils.js.map +1 -0
- package/dist/utils/clingo-fact-builder.d.ts +58 -0
- package/dist/utils/clingo-fact-builder.js +126 -0
- package/dist/utils/clingo-fact-builder.js.map +1 -0
- package/dist/utils/clingo-facts.d.ts +97 -0
- package/dist/utils/clingo-facts.js +352 -0
- package/dist/utils/clingo-facts.js.map +1 -0
- package/dist/utils/clingo-parser.d.ts +59 -0
- package/dist/utils/clingo-parser.js +403 -0
- package/dist/utils/clingo-parser.js.map +1 -0
- package/dist/utils/clingo-program-builder.d.ts +39 -0
- package/dist/utils/clingo-program-builder.js +57 -0
- package/dist/utils/clingo-program-builder.js.map +1 -0
- package/dist/utils/common-utils.d.ts +24 -0
- package/dist/utils/common-utils.js +47 -0
- package/dist/utils/common-utils.js.map +1 -0
- package/dist/utils/constants.d.ts +18 -0
- package/dist/utils/constants.js +27 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/csv.d.ts +18 -0
- package/dist/utils/csv.js +45 -0
- package/dist/utils/csv.js.map +1 -0
- package/dist/utils/file-utils.d.ts +69 -0
- package/dist/utils/file-utils.js +158 -0
- package/dist/utils/file-utils.js.map +1 -0
- package/dist/utils/json.d.ts +61 -0
- package/dist/utils/json.js +108 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/lexorank.d.ts +59 -0
- package/dist/utils/lexorank.js +159 -0
- package/dist/utils/lexorank.js.map +1 -0
- package/dist/utils/log-utils.d.ts +40 -0
- package/dist/utils/log-utils.js +109 -0
- package/dist/utils/log-utils.js.map +1 -0
- package/dist/utils/random.d.ts +19 -0
- package/dist/utils/random.js +34 -0
- package/dist/utils/random.js.map +1 -0
- package/dist/utils/resource-utils.d.ts +45 -0
- package/dist/utils/resource-utils.js +137 -0
- package/dist/utils/resource-utils.js.map +1 -0
- package/dist/utils/sanitize-svg.d.ts +18 -0
- package/dist/utils/sanitize-svg.js +38 -0
- package/dist/utils/sanitize-svg.js.map +1 -0
- package/dist/utils/user-preferences.d.ts +64 -0
- package/dist/utils/user-preferences.js +106 -0
- package/dist/utils/user-preferences.js.map +1 -0
- package/dist/utils/validate.d.ts +26 -0
- package/dist/utils/validate.js +53 -0
- package/dist/utils/validate.js.map +1 -0
- package/dist/utils/value-utils.d.ts +58 -0
- package/dist/utils/value-utils.js +181 -0
- package/dist/utils/value-utils.js.map +1 -0
- package/package.json +67 -0
- package/src/card-metadata-updater.ts +182 -0
- package/src/command-handler.ts +686 -0
- package/src/command-manager.ts +99 -0
- package/src/commands/calculate.ts +591 -0
- package/src/commands/create.ts +559 -0
- package/src/commands/edit.ts +123 -0
- package/src/commands/export-site.ts +356 -0
- package/src/commands/export.ts +315 -0
- package/src/commands/import.ts +169 -0
- package/src/commands/index.ts +42 -0
- package/src/commands/move.ts +451 -0
- package/src/commands/remove.ts +244 -0
- package/src/commands/rename.ts +378 -0
- package/src/commands/show.ts +442 -0
- package/src/commands/transition.ts +127 -0
- package/src/commands/update.ts +76 -0
- package/src/commands/validate.ts +962 -0
- package/src/containers/card-container.ts +378 -0
- package/src/containers/project/project-paths.ts +127 -0
- package/src/containers/project/resource-collector.ts +379 -0
- package/src/containers/project.ts +1135 -0
- package/src/containers/template.ts +573 -0
- package/src/exceptions/index.ts +29 -0
- package/src/index.ts +33 -0
- package/src/interfaces/adoc.ts +18 -0
- package/src/interfaces/macros.ts +54 -0
- package/src/interfaces/project-interfaces.ts +208 -0
- package/src/interfaces/request-status-interfaces.ts +30 -0
- package/src/interfaces/resource-interfaces.ts +179 -0
- package/src/macros/base-macro.ts +176 -0
- package/src/macros/common.ts +24 -0
- package/src/macros/createCards/index.ts +57 -0
- package/src/macros/createCards/metadata.ts +21 -0
- package/src/macros/graph/index.ts +130 -0
- package/src/macros/graph/metadata.ts +21 -0
- package/src/macros/index.ts +321 -0
- package/src/macros/report/index.ts +88 -0
- package/src/macros/report/metadata.ts +21 -0
- package/src/macros/scoreCard/index.ts +55 -0
- package/src/macros/scoreCard/metadata.ts +21 -0
- package/src/macros/task-queue.ts +79 -0
- package/src/module-manager.ts +443 -0
- package/src/permissions/action-guard.ts +77 -0
- package/src/project-settings.ts +140 -0
- package/src/resources/array-handler.ts +141 -0
- package/src/resources/card-type-resource.ts +455 -0
- package/src/resources/create-defaults.ts +216 -0
- package/src/resources/field-type-resource.ts +533 -0
- package/src/resources/file-resource.ts +433 -0
- package/src/resources/folder-resource.ts +140 -0
- package/src/resources/graph-model-resource.ts +205 -0
- package/src/resources/graph-view-resource.ts +199 -0
- package/src/resources/link-type-resource.ts +191 -0
- package/src/resources/report-resource.ts +224 -0
- package/src/resources/resource-object.ts +246 -0
- package/src/resources/template-resource.ts +210 -0
- package/src/resources/workflow-resource.ts +205 -0
- package/src/types/queries.ts +149 -0
- package/src/utils/card-utils.ts +83 -0
- package/src/utils/clingo-fact-builder.ts +167 -0
- package/src/utils/clingo-facts.ts +550 -0
- package/src/utils/clingo-parser.ts +519 -0
- package/src/utils/clingo-program-builder.ts +71 -0
- package/src/utils/common-utils.ts +54 -0
- package/src/utils/constants.ts +32 -0
- package/src/utils/csv.ts +53 -0
- package/src/utils/file-utils.ts +182 -0
- package/src/utils/json.ts +118 -0
- package/src/utils/lexorank.ts +180 -0
- package/src/utils/log-utils.ts +127 -0
- package/src/utils/random.ts +37 -0
- package/src/utils/resource-utils.ts +180 -0
- package/src/utils/sanitize-svg.ts +46 -0
- package/src/utils/user-preferences.ts +126 -0
- package/src/utils/validate.ts +66 -0
- package/src/utils/value-utils.ts +189 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2024
|
|
4
|
+
|
|
5
|
+
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
|
|
6
|
+
|
|
7
|
+
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
|
8
|
+
|
|
9
|
+
You should have received a copy of the GNU Affero General Public
|
|
10
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
11
|
+
*/
|
|
12
|
+
import { Project } from '../containers/project.js';
|
|
13
|
+
import { resourceName } from '../utils/resource-utils.js';
|
|
14
|
+
/**
|
|
15
|
+
* Class that handles 'update' commands.
|
|
16
|
+
*/
|
|
17
|
+
export class Update {
|
|
18
|
+
project;
|
|
19
|
+
constructor(project) {
|
|
20
|
+
this.project = project;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Updates single resource property.
|
|
24
|
+
* @param name Name of the resource to operate on.
|
|
25
|
+
* @param operation Operation to perform ('add', 'remove', 'change', 'rank')
|
|
26
|
+
* @param key Property to change in resource JSON
|
|
27
|
+
* @param value Value for 'key'
|
|
28
|
+
* @param optionalDetail Additional detail needed for some operations. For example, 'update' needs a new value.
|
|
29
|
+
*/
|
|
30
|
+
async updateValue(name, operation, key, value, optionalDetail) {
|
|
31
|
+
const resource = Project.resourceObject(this.project, resourceName(name));
|
|
32
|
+
const op = {
|
|
33
|
+
name: operation,
|
|
34
|
+
target: '',
|
|
35
|
+
to: '',
|
|
36
|
+
newIndex: 0,
|
|
37
|
+
};
|
|
38
|
+
// Set operation specific properties.
|
|
39
|
+
if (operation === 'add') {
|
|
40
|
+
op.target = value;
|
|
41
|
+
}
|
|
42
|
+
else if (operation === 'change') {
|
|
43
|
+
op.target = optionalDetail
|
|
44
|
+
? value
|
|
45
|
+
: optionalDetail;
|
|
46
|
+
op.to = optionalDetail
|
|
47
|
+
? optionalDetail
|
|
48
|
+
: value;
|
|
49
|
+
}
|
|
50
|
+
else if (operation === 'rank') {
|
|
51
|
+
op.newIndex = optionalDetail;
|
|
52
|
+
op.target = value;
|
|
53
|
+
}
|
|
54
|
+
else if (operation === 'remove') {
|
|
55
|
+
op.target = value;
|
|
56
|
+
op.replacementValue = optionalDetail
|
|
57
|
+
? optionalDetail
|
|
58
|
+
: undefined;
|
|
59
|
+
}
|
|
60
|
+
await resource?.update(key, op);
|
|
61
|
+
this.project.collectLocalResources();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAUF,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,MAAM;IACG;IAApB,YAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAExC;;;;;;;OAOG;IACI,KAAK,CAAC,WAAW,CACtB,IAAY,EACZ,SAA2B,EAC3B,GAAW,EACX,KAAW,EACX,cAAqB;QAErB,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,EAAE,GAAoB;YAC1B,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAU;YAClB,EAAE,EAAE,EAAU;YACd,QAAQ,EAAE,CAAW;SACtB,CAAC;QAEF,qCAAqC;QACrC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACvB,EAAyB,CAAC,MAAM,GAAG,KAAK,CAAC;QAC5C,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YACjC,EAA4B,CAAC,MAAM,GAAG,cAAc;gBACnD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAE,cAAuB,CAAC;YAC5B,EAA4B,CAAC,EAAE,GAAG,cAAc;gBAC/C,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAE,KAAc,CAAC;QACtB,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAC/B,EAA0B,CAAC,QAAQ,GAAG,cAAwB,CAAC;YAC/D,EAA0B,CAAC,MAAM,GAAG,KAAK,CAAC;QAC7C,CAAC;aAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YACjC,EAA4B,CAAC,MAAM,GAAG,KAAK,CAAC;YAC5C,EAA4B,CAAC,gBAAgB,GAAG,cAAc;gBAC7D,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2024
|
|
4
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
5
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
6
|
+
the Free Software Foundation.
|
|
7
|
+
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
8
|
+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
9
|
+
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
10
|
+
details. You should have received a copy of the GNU Affero General Public
|
|
11
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
|
+
*/
|
|
13
|
+
import { Validator as JSONValidator } from 'jsonschema';
|
|
14
|
+
import { Validator as DirectoryValidator } from 'directory-schema-validator';
|
|
15
|
+
import type { Card, ResourceTypes } from '../interfaces/project-interfaces.js';
|
|
16
|
+
import { Project } from '../containers/project.js';
|
|
17
|
+
export interface LengthProvider {
|
|
18
|
+
length: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Validates content.
|
|
22
|
+
*/
|
|
23
|
+
export declare class Validate {
|
|
24
|
+
private static instance;
|
|
25
|
+
validator: JSONValidator;
|
|
26
|
+
directoryValidator: DirectoryValidator;
|
|
27
|
+
private parentSchema;
|
|
28
|
+
private validatedCardTypes;
|
|
29
|
+
private validatedWorkflows;
|
|
30
|
+
private validatedFieldTypes;
|
|
31
|
+
static baseFolder: string;
|
|
32
|
+
static jsonFileExtension: string;
|
|
33
|
+
static parentSchemaFile: string;
|
|
34
|
+
static schemaConfigurationFile: string;
|
|
35
|
+
static projectConfigurationFile: string;
|
|
36
|
+
static cardMetadataFile: string;
|
|
37
|
+
static dotSchemaSchemaId: string;
|
|
38
|
+
static parameterSchemaFile: string;
|
|
39
|
+
constructor();
|
|
40
|
+
private length;
|
|
41
|
+
private addChildSchemas;
|
|
42
|
+
private checkResourceName;
|
|
43
|
+
private fullPath;
|
|
44
|
+
private getAndCacheResource;
|
|
45
|
+
private parseValidatorMessage;
|
|
46
|
+
private readAndValidateContentFiles;
|
|
47
|
+
private removeDuplicateEntries;
|
|
48
|
+
private validateFolder;
|
|
49
|
+
private validateSchemaFiles;
|
|
50
|
+
private validateArrayOfFields;
|
|
51
|
+
private validateListValues;
|
|
52
|
+
private validType;
|
|
53
|
+
/**
|
|
54
|
+
* Validates that new identifier of a resource is according to naming convention.
|
|
55
|
+
* @param identifier: resource identifier
|
|
56
|
+
* returns true if identifier is valid, and false otherwise.
|
|
57
|
+
*/
|
|
58
|
+
static isValidIdentifierName(identifier: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Validates that 'name' can be used as a project name.
|
|
61
|
+
* @param name project name
|
|
62
|
+
* @returns true if name is valid, and false otherwise.
|
|
63
|
+
* @note that on Windows, if path + filename is longer than 256 characters, some file operations
|
|
64
|
+
* are not possible. Thus, setting the maximum length of project name to 64 characters.
|
|
65
|
+
* The 192 characters usually should be enough for the path.
|
|
66
|
+
*/
|
|
67
|
+
static isValidProjectName(name: string): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Validates that 'name' can be used as label name.
|
|
70
|
+
* Labels are less restricted than other names, as they are never file names.
|
|
71
|
+
* @param name label name
|
|
72
|
+
* @returns true if name is valid, and false otherwise.
|
|
73
|
+
*/
|
|
74
|
+
static isValidLabelName(name: string): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Validates that a given directory path (and its children) conform to a JSON schema.
|
|
77
|
+
* @note Validates also content in the directory tree, if .schema file is found.
|
|
78
|
+
* @param projectPath path to validate.
|
|
79
|
+
* @returns string containing all validation errors
|
|
80
|
+
*/
|
|
81
|
+
validate(projectPath: string): Promise<string>;
|
|
82
|
+
/**
|
|
83
|
+
* Validates folder name.
|
|
84
|
+
* @todo: This should check that the path is resolvable and can be used as a folder name in various operating systems.
|
|
85
|
+
* @param path path to a folder
|
|
86
|
+
* @returns true, if the path is valid and can be used; false otherwise.
|
|
87
|
+
*/
|
|
88
|
+
static validateFolder(path: string): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Validates that 'object' conforms to JSON schema 'schemaId'.
|
|
91
|
+
* @param content Object to validate.
|
|
92
|
+
* @param schemaId Schema ID to identify a JSON schema.
|
|
93
|
+
* @returns string containing all validation errors
|
|
94
|
+
*/
|
|
95
|
+
validateJson(content: object, schemaId: string): string;
|
|
96
|
+
/**
|
|
97
|
+
* Validate that resource names and identifiers are valid.
|
|
98
|
+
* @param resourceType Type of resource
|
|
99
|
+
* @param name Name of resource
|
|
100
|
+
* @param prefixes currently used project prefixes
|
|
101
|
+
* @returns resource name as valid resource name; throws in error cases.
|
|
102
|
+
*/
|
|
103
|
+
validResourceName(resourceType: ResourceTypes, name: string, prefixes: string[]): Promise<string>;
|
|
104
|
+
/**
|
|
105
|
+
* Validates that 'prefix' is valid project prefix.
|
|
106
|
+
* @param prefix project prefix
|
|
107
|
+
* @returns true, if prefix can be used as project prefix, false otherwise.
|
|
108
|
+
*/
|
|
109
|
+
static validatePrefix(prefix: string): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Validate schema that matches schemaId from path.
|
|
112
|
+
* @param projectPath path to schema
|
|
113
|
+
* @param schemaId schema's id
|
|
114
|
+
* @returns string containing all validation errors
|
|
115
|
+
* @todo - unused; remove?
|
|
116
|
+
*/
|
|
117
|
+
validateSchema(projectPath: string, schemaId: string): Promise<string>;
|
|
118
|
+
/**
|
|
119
|
+
* Validates that card's custom fields are according to schema and have correct data in them.
|
|
120
|
+
* @param project currently used Project
|
|
121
|
+
* @param card specific card
|
|
122
|
+
* @returns string containing all validation errors
|
|
123
|
+
*/
|
|
124
|
+
validateCustomFields(project: Project, card: Card): Promise<string>;
|
|
125
|
+
/**
|
|
126
|
+
* Validates the labels of a card
|
|
127
|
+
* @param card card to validate. Card must have metadata.
|
|
128
|
+
*/
|
|
129
|
+
validateCardLabels(card: Card): Promise<string>;
|
|
130
|
+
/**
|
|
131
|
+
* Checks if card's current workflow state matches workflow that card's card type is using.
|
|
132
|
+
* Template cards are expected to have empty workflow state.
|
|
133
|
+
* @param project Project object.
|
|
134
|
+
* @param card Card object to validate
|
|
135
|
+
* @returns string containing all validation errors
|
|
136
|
+
*/
|
|
137
|
+
validateWorkflowState(project: Project, card: Card): Promise<string>;
|
|
138
|
+
/**
|
|
139
|
+
* Possibly creates (if no instance exists) and returns an instance of Validate command.
|
|
140
|
+
* @returns instance of Validate command.
|
|
141
|
+
*/
|
|
142
|
+
static getInstance(): Validate;
|
|
143
|
+
}
|