@cyberismo/data-handler 0.0.15 → 0.0.17
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 +7 -1
- package/dist/card-metadata-updater.js.map +1 -1
- package/dist/command-handler.d.ts +4 -0
- package/dist/command-handler.js +22 -8
- package/dist/command-handler.js.map +1 -1
- package/dist/command-manager.d.ts +24 -1
- package/dist/command-manager.js +31 -7
- package/dist/command-manager.js.map +1 -1
- package/dist/commands/create.d.ts +1 -1
- package/dist/commands/create.js +34 -36
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/export.d.ts +11 -2
- package/dist/commands/export.js +54 -41
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/fetch.d.ts +8 -0
- package/dist/commands/fetch.js +101 -23
- package/dist/commands/fetch.js.map +1 -1
- package/dist/commands/import.d.ts +14 -3
- package/dist/commands/import.js +27 -10
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/move.js +0 -1
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/remove.d.ts +11 -2
- package/dist/commands/remove.js +15 -5
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/rename.d.ts +4 -9
- package/dist/commands/rename.js +37 -101
- package/dist/commands/rename.js.map +1 -1
- package/dist/commands/show.d.ts +20 -12
- package/dist/commands/show.js +79 -57
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/transition.d.ts +9 -2
- package/dist/commands/transition.js +25 -17
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts +16 -12
- package/dist/commands/update.js +19 -17
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts +17 -9
- package/dist/commands/validate.js +94 -35
- package/dist/commands/validate.js.map +1 -1
- package/dist/containers/card-container.d.ts +7 -5
- package/dist/containers/card-container.js +30 -5
- package/dist/containers/card-container.js.map +1 -1
- package/dist/containers/project/calculation-engine.d.ts +7 -4
- package/dist/containers/project/calculation-engine.js +61 -66
- package/dist/containers/project/calculation-engine.js.map +1 -1
- package/dist/containers/project/project-paths.d.ts +7 -4
- package/dist/containers/project/project-paths.js +22 -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 +509 -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 +46 -152
- package/dist/containers/project.js +179 -409
- package/dist/containers/project.js.map +1 -1
- package/dist/containers/template.d.ts +8 -2
- package/dist/containers/template.js +24 -19
- package/dist/containers/template.js.map +1 -1
- package/dist/interfaces/command-options.d.ts +3 -1
- package/dist/interfaces/folder-content-interfaces.d.ts +5 -3
- package/dist/interfaces/folder-content-interfaces.js +3 -3
- package/dist/interfaces/folder-content-interfaces.js.map +1 -1
- package/dist/interfaces/project-interfaces.d.ts +7 -9
- package/dist/interfaces/project-interfaces.js.map +1 -1
- package/dist/interfaces/resource-interfaces.d.ts +14 -1
- package/dist/interfaces/resource-interfaces.js.map +1 -1
- package/dist/macros/graph/index.js +12 -26
- package/dist/macros/graph/index.js.map +1 -1
- 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/report/index.js +3 -6
- package/dist/macros/report/index.js.map +1 -1
- package/dist/module-manager.d.ts +16 -3
- package/dist/module-manager.js +51 -19
- package/dist/module-manager.js.map +1 -1
- package/dist/project-settings.d.ts +21 -3
- package/dist/project-settings.js +91 -14
- package/dist/project-settings.js.map +1 -1
- package/dist/resources/calculation-resource.d.ts +4 -3
- package/dist/resources/calculation-resource.js +11 -5
- package/dist/resources/calculation-resource.js.map +1 -1
- package/dist/resources/card-type-resource.d.ts +6 -1
- package/dist/resources/card-type-resource.js +34 -23
- 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 +4 -1
- package/dist/resources/field-type-resource.js +22 -23
- package/dist/resources/field-type-resource.js.map +1 -1
- package/dist/resources/file-resource.d.ts +5 -9
- package/dist/resources/file-resource.js +6 -11
- package/dist/resources/file-resource.js.map +1 -1
- package/dist/resources/folder-resource.d.ts +29 -32
- package/dist/resources/folder-resource.js +59 -78
- package/dist/resources/folder-resource.js.map +1 -1
- package/dist/resources/graph-model-resource.d.ts +4 -1
- package/dist/resources/graph-model-resource.js +11 -4
- package/dist/resources/graph-model-resource.js.map +1 -1
- package/dist/resources/graph-view-resource.d.ts +5 -2
- package/dist/resources/graph-view-resource.js +7 -3
- package/dist/resources/graph-view-resource.js.map +1 -1
- package/dist/resources/link-type-resource.d.ts +5 -2
- package/dist/resources/link-type-resource.js +5 -2
- package/dist/resources/link-type-resource.js.map +1 -1
- package/dist/resources/report-resource.d.ts +6 -7
- package/dist/resources/report-resource.js +14 -23
- package/dist/resources/report-resource.js.map +1 -1
- package/dist/resources/resource-object.d.ts +94 -8
- package/dist/resources/resource-object.js +212 -109
- package/dist/resources/resource-object.js.map +1 -1
- package/dist/resources/template-resource.d.ts +7 -3
- package/dist/resources/template-resource.js +10 -3
- package/dist/resources/template-resource.js.map +1 -1
- package/dist/resources/workflow-resource.d.ts +5 -2
- package/dist/resources/workflow-resource.js +18 -22
- package/dist/resources/workflow-resource.js.map +1 -1
- package/dist/utils/card-utils.d.ts +2 -2
- package/dist/utils/card-utils.js +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 +3 -4
- package/dist/utils/clingo-facts.js.map +1 -1
- package/dist/utils/configuration-logger.d.ts +91 -0
- package/dist/utils/configuration-logger.js +151 -0
- package/dist/utils/configuration-logger.js.map +1 -0
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.js +5 -3
- package/dist/utils/constants.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 +9 -9
- package/src/card-metadata-updater.ts +6 -2
- package/src/command-handler.ts +39 -12
- package/src/command-manager.ts +33 -21
- package/src/commands/create.ts +43 -78
- package/src/commands/export.ts +63 -52
- package/src/commands/fetch.ts +143 -34
- package/src/commands/import.ts +37 -15
- package/src/commands/move.ts +0 -1
- package/src/commands/remove.ts +20 -7
- package/src/commands/rename.ts +58 -149
- package/src/commands/show.ts +123 -80
- package/src/commands/transition.ts +26 -28
- package/src/commands/update.ts +25 -22
- package/src/commands/validate.ts +104 -67
- package/src/containers/card-container.ts +37 -5
- package/src/containers/project/calculation-engine.ts +61 -93
- package/src/containers/project/project-paths.ts +29 -13
- package/src/containers/project/resource-cache.ts +651 -0
- package/src/containers/project/resource-handler.ts +265 -0
- package/src/containers/project.ts +250 -527
- package/src/containers/template.ts +28 -23
- package/src/interfaces/command-options.ts +3 -1
- package/src/interfaces/folder-content-interfaces.ts +7 -6
- package/src/interfaces/project-interfaces.ts +12 -11
- package/src/interfaces/resource-interfaces.ts +18 -3
- package/src/macros/graph/index.ts +26 -47
- package/src/macros/index.ts +2 -2
- package/src/macros/report/index.ts +3 -9
- package/src/module-manager.ts +74 -17
- package/src/project-settings.ts +96 -14
- package/src/resources/calculation-resource.ts +18 -18
- package/src/resources/card-type-resource.ts +50 -50
- package/src/resources/create-defaults.ts +3 -2
- package/src/resources/field-type-resource.ts +41 -55
- package/src/resources/file-resource.ts +10 -36
- package/src/resources/folder-resource.ts +69 -120
- package/src/resources/graph-model-resource.ts +20 -22
- package/src/resources/graph-view-resource.ts +15 -17
- package/src/resources/link-type-resource.ts +10 -13
- package/src/resources/report-resource.ts +21 -43
- package/src/resources/resource-object.ts +263 -149
- package/src/resources/template-resource.ts +17 -16
- package/src/resources/workflow-resource.ts +25 -44
- package/src/utils/card-utils.ts +2 -2
- package/src/utils/clingo-fact-builder.ts +28 -16
- package/src/utils/clingo-facts.ts +3 -4
- package/src/utils/configuration-logger.ts +206 -0
- package/src/utils/constants.ts +5 -3
- package/src/utils/resource-utils.ts +2 -1
- package/dist/containers/project/resource-collector.d.ts +0 -110
- package/dist/containers/project/resource-collector.js +0 -344
- package/dist/containers/project/resource-collector.js.map +0 -1
- package/src/containers/project/resource-collector.ts +0 -404
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
13
13
|
// node
|
|
14
14
|
import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
|
|
15
|
-
import { basename, join
|
|
16
|
-
import { hasCode } from '../utils/error-utils.js';
|
|
15
|
+
import { basename, join } from 'node:path';
|
|
17
16
|
import { ArrayHandler } from './array-handler.js';
|
|
18
|
-
import { ResourcesFrom } from '../containers/project/resource-collector.js';
|
|
19
|
-
import { resourceName, resourceNameToPath, resourceNameToString, } from '../utils/resource-utils.js';
|
|
20
|
-
import { getChildLogger } from '../utils/log-utils.js';
|
|
21
17
|
import { deleteFile, pathExists } from '../utils/file-utils.js';
|
|
18
|
+
import { getChildLogger } from '../utils/log-utils.js';
|
|
22
19
|
import { readJsonFile, readJsonFileSync, writeJsonFile, } from '../utils/json.js';
|
|
20
|
+
import { resourceName, resourceNameToPath, resourceNameToString, } from '../utils/resource-utils.js';
|
|
21
|
+
import { ResourcesFrom } from '../containers/project.js';
|
|
22
|
+
import { ConfigurationLogger, ConfigurationOperation, } from '../utils/configuration-logger.js';
|
|
23
23
|
/**
|
|
24
24
|
* Abstract class for resources.
|
|
25
25
|
*/
|
|
@@ -28,8 +28,6 @@ export class AbstractResource {
|
|
|
28
28
|
export class ResourceObject extends AbstractResource {
|
|
29
29
|
project;
|
|
30
30
|
resourceName;
|
|
31
|
-
// TODO: Remove when INTDEV-1048 is implemented, since caching is done at object level
|
|
32
|
-
cache;
|
|
33
31
|
static validateInstancePromise;
|
|
34
32
|
content;
|
|
35
33
|
moduleResource;
|
|
@@ -42,17 +40,29 @@ export class ResourceObject extends AbstractResource {
|
|
|
42
40
|
* Path to the resource metadata file (the .json file).
|
|
43
41
|
*/
|
|
44
42
|
fileName = '';
|
|
43
|
+
/**
|
|
44
|
+
* Constructs a ResourceObject instance
|
|
45
|
+
* @param project Project where this resource is
|
|
46
|
+
* @param resourceName Name for the resource
|
|
47
|
+
* @param type Type of resource
|
|
48
|
+
*/
|
|
45
49
|
constructor(project, resourceName, type) {
|
|
46
50
|
super();
|
|
47
51
|
this.project = project;
|
|
48
52
|
this.resourceName = resourceName;
|
|
49
53
|
this.moduleResource =
|
|
50
54
|
this.resourceName.prefix !== this.project.projectPrefix;
|
|
51
|
-
this.cache = this.project.resourceCache;
|
|
52
55
|
this.type = type;
|
|
53
56
|
this.logger = this.getLogger(this.getType);
|
|
54
57
|
this.content = { name: '' }; // not found if name is empty
|
|
55
58
|
}
|
|
59
|
+
// Check if resource already exists. First checks the cache, then filesystem.
|
|
60
|
+
exists() {
|
|
61
|
+
const name = resourceNameToString(this.resourceName);
|
|
62
|
+
const existsInCache = this.project.resources.exists(name);
|
|
63
|
+
return existsInCache || pathExists(this.fileName);
|
|
64
|
+
}
|
|
65
|
+
// Gets Validate command instance.
|
|
56
66
|
static async getValidate() {
|
|
57
67
|
// a bit hacky solution to avoid circular dependencies
|
|
58
68
|
if (!this.validateInstancePromise) {
|
|
@@ -60,58 +70,53 @@ export class ResourceObject extends AbstractResource {
|
|
|
60
70
|
}
|
|
61
71
|
return this.validateInstancePromise;
|
|
62
72
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
73
|
+
// Gets handlebar files.
|
|
74
|
+
async reportHandlerBarFiles(from = ResourcesFrom.all) {
|
|
75
|
+
const reports = this.project.resources.reports(from);
|
|
76
|
+
const handleBarFiles = [];
|
|
77
|
+
for (const report of reports) {
|
|
78
|
+
handleBarFiles.push(...(await report.handleBarFiles()));
|
|
79
|
+
}
|
|
80
|
+
return handleBarFiles;
|
|
68
81
|
}
|
|
69
82
|
// Type of resource.
|
|
70
83
|
resourceType() {
|
|
71
84
|
return this.type;
|
|
72
85
|
}
|
|
73
|
-
toCache() {
|
|
74
|
-
this.cache.set(resourceNameToString(this.resourceName), this.content);
|
|
75
|
-
}
|
|
76
86
|
/**
|
|
77
|
-
* Checks if resource exists
|
|
87
|
+
* Checks if resource exists.
|
|
88
|
+
* This should only throw, if someone creates resources directly; ie. not through the cache
|
|
78
89
|
* @throws if resource does not exist
|
|
79
90
|
*/
|
|
80
91
|
assertResourceExists() {
|
|
81
|
-
if (!
|
|
92
|
+
if (!this.exists()) {
|
|
82
93
|
const resourceType = `${this.type[0].toUpperCase()}${this.type.slice(1, this.type.length - 1)}`;
|
|
83
94
|
const name = resourceNameToString(this.resourceName);
|
|
84
95
|
throw new Error(`${resourceType} '${name}' does not exist in the project`);
|
|
85
96
|
}
|
|
86
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Calculate; empty implementation.
|
|
100
|
+
*/
|
|
87
101
|
async calculate() { }
|
|
88
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Calculations that use this resource.
|
|
104
|
+
* @throws if accessing calculations files failed
|
|
105
|
+
*/
|
|
89
106
|
async calculations() {
|
|
90
107
|
const references = [];
|
|
91
108
|
const resourceName = resourceNameToString(this.resourceName);
|
|
92
|
-
for (const calculation of
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const filename = join(calculation.path, basename(fileNameWithExtension));
|
|
97
|
-
try {
|
|
98
|
-
const content = await readFile(filename, 'utf-8');
|
|
99
|
-
if (content.includes(resourceName)) {
|
|
100
|
-
references.push(calculation.name);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
// Skip files that don't exist (they may have been renamed or deleted)
|
|
105
|
-
if (hasCode(error) && error.code === 'ENOENT') {
|
|
106
|
-
this.logger.warn(`Skipping non-existent file: ${filename}`);
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
throw new Error(`Failed to process file ${filename}: ${error.message}`);
|
|
109
|
+
for (const calculation of this.project.resources.calculations()) {
|
|
110
|
+
const content = calculation.contentData();
|
|
111
|
+
if (content.calculation && content.calculation.includes(resourceName)) {
|
|
112
|
+
references.push(calculation.data.name);
|
|
110
113
|
}
|
|
111
114
|
}
|
|
112
115
|
return references;
|
|
113
116
|
}
|
|
114
|
-
|
|
117
|
+
/**
|
|
118
|
+
* Cards from project.
|
|
119
|
+
*/
|
|
115
120
|
cards() {
|
|
116
121
|
return [
|
|
117
122
|
...this.project.cards(undefined),
|
|
@@ -131,17 +136,23 @@ export class ResourceObject extends AbstractResource {
|
|
|
131
136
|
},
|
|
132
137
|
];
|
|
133
138
|
}
|
|
134
|
-
|
|
139
|
+
/**
|
|
140
|
+
* Creates resource.
|
|
141
|
+
* @param newContent Content for resource.
|
|
142
|
+
* @throws when resource already exists in the project.
|
|
143
|
+
*/
|
|
135
144
|
async create(newContent) {
|
|
136
|
-
|
|
145
|
+
this.validateResourceIdentifier();
|
|
146
|
+
if (this.exists()) {
|
|
137
147
|
throw new Error(`Resource '${this.resourceName.identifier}' already exists in the project`);
|
|
138
148
|
}
|
|
139
149
|
if (this.resourceFolder === '') {
|
|
140
150
|
this.resourceName = resourceName(`${this.project.projectPrefix}/${this.type}/${this.resourceName.identifier}`);
|
|
141
151
|
this.resourceFolder = this.project.paths.resourcePath(this.resourceName.type);
|
|
152
|
+
this.fileName = join(this.resourceFolder, this.resourceName.identifier + '.json');
|
|
142
153
|
}
|
|
143
154
|
const validator = await ResourceObject.getValidate();
|
|
144
|
-
const validName = validator.validResourceName(this.resourceType(), resourceNameToString(this.resourceName),
|
|
155
|
+
const validName = validator.validResourceName(this.resourceType(), resourceNameToString(this.resourceName), this.project.projectPrefixes());
|
|
145
156
|
let validContent = {};
|
|
146
157
|
if (newContent) {
|
|
147
158
|
validContent = newContent;
|
|
@@ -153,14 +164,24 @@ export class ResourceObject extends AbstractResource {
|
|
|
153
164
|
}
|
|
154
165
|
this.content = validContent;
|
|
155
166
|
await this.write();
|
|
156
|
-
|
|
157
|
-
this.project.
|
|
167
|
+
const resourceString = resourceNameToString(this.resourceName);
|
|
168
|
+
this.project.resources.add(resourceString, this);
|
|
169
|
+
// Log resource creation to migration log
|
|
170
|
+
await this.logResourceOperation('create');
|
|
158
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Gets a logger instance.
|
|
174
|
+
* @param loggerName
|
|
175
|
+
* @returns logger instance
|
|
176
|
+
*/
|
|
159
177
|
getLogger(loggerName) {
|
|
160
178
|
return getChildLogger({
|
|
161
179
|
module: loggerName,
|
|
162
180
|
});
|
|
163
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Returns type of this resource.
|
|
184
|
+
*/
|
|
164
185
|
get getType() {
|
|
165
186
|
return this.type;
|
|
166
187
|
}
|
|
@@ -170,6 +191,7 @@ export class ResourceObject extends AbstractResource {
|
|
|
170
191
|
* @param arrayName Name of the array, for error messages.
|
|
171
192
|
* @param array Array to be updated.
|
|
172
193
|
* @returns Changed array after the operation.
|
|
194
|
+
* @throws when operation cannot be done.
|
|
173
195
|
*/
|
|
174
196
|
handleArray(operation, arrayName, array) {
|
|
175
197
|
const handler = new ArrayHandler();
|
|
@@ -188,6 +210,7 @@ export class ResourceObject extends AbstractResource {
|
|
|
188
210
|
* Updates scalar value. The only accepted operation is 'change'
|
|
189
211
|
* @param operation Operation to perform on scalar.
|
|
190
212
|
* @returns What the scalar should be changed to.
|
|
213
|
+
* @throws when operation cannot be done
|
|
191
214
|
*/
|
|
192
215
|
handleScalar(operation) {
|
|
193
216
|
if (operation.name === 'add' ||
|
|
@@ -197,7 +220,9 @@ export class ResourceObject extends AbstractResource {
|
|
|
197
220
|
}
|
|
198
221
|
return operation.to;
|
|
199
222
|
}
|
|
200
|
-
|
|
223
|
+
/**
|
|
224
|
+
* Initialize the resource.
|
|
225
|
+
*/
|
|
201
226
|
initialize() {
|
|
202
227
|
if (this.resourceName.type === '') {
|
|
203
228
|
this.resourceName.type = this.type;
|
|
@@ -213,22 +238,60 @@ export class ResourceObject extends AbstractResource {
|
|
|
213
238
|
: this.project.paths.resourcePath(this.type);
|
|
214
239
|
this.fileName = resourceNameToPath(this.project, this.resourceName);
|
|
215
240
|
}
|
|
216
|
-
//
|
|
217
|
-
if (this.
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
this.toCache();
|
|
241
|
+
// Only load content from disk if resource exists in the cache registry
|
|
242
|
+
if (this.project.resources.exists(resourceNameToString(this.resourceName))) {
|
|
243
|
+
try {
|
|
244
|
+
this.content = readJsonFileSync(this.fileName);
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
this.logger.debug(`Initializing resource '${resourceNameToString(this.resourceName)}' failed: failed to read file '${this.fileName}'`);
|
|
248
|
+
}
|
|
225
249
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
250
|
+
}
|
|
251
|
+
// Log details
|
|
252
|
+
async logResourceOperation(operationType, op, key) {
|
|
253
|
+
let configOperation;
|
|
254
|
+
const target = resourceNameToString(this.resourceName);
|
|
255
|
+
const parameters = { type: this.type };
|
|
256
|
+
switch (operationType) {
|
|
257
|
+
case 'create':
|
|
258
|
+
configOperation = ConfigurationOperation.RESOURCE_CREATE;
|
|
259
|
+
break;
|
|
260
|
+
case 'delete':
|
|
261
|
+
configOperation = ConfigurationOperation.RESOURCE_DELETE;
|
|
262
|
+
break;
|
|
263
|
+
case 'update':
|
|
264
|
+
configOperation = ConfigurationOperation.RESOURCE_UPDATE;
|
|
265
|
+
if (op) {
|
|
266
|
+
parameters.operation = op.name;
|
|
267
|
+
}
|
|
268
|
+
if (key) {
|
|
269
|
+
parameters.key = key;
|
|
270
|
+
}
|
|
271
|
+
break;
|
|
272
|
+
case 'rename':
|
|
273
|
+
configOperation = ConfigurationOperation.RESOURCE_RENAME;
|
|
274
|
+
if (op && op.name === 'change') {
|
|
275
|
+
const changeOp = op;
|
|
276
|
+
parameters.oldName = changeOp.target;
|
|
277
|
+
parameters.newName = changeOp.to;
|
|
278
|
+
}
|
|
279
|
+
break;
|
|
280
|
+
default:
|
|
281
|
+
throw new Error(`Unknown operation type: ${operationType}`);
|
|
229
282
|
}
|
|
283
|
+
await ConfigurationLogger.log(this.project.basePath, configOperation, target, {
|
|
284
|
+
parameters,
|
|
285
|
+
});
|
|
286
|
+
this.logger.info(`Configuration: ${configOperation} - ${target}`);
|
|
230
287
|
}
|
|
231
|
-
|
|
288
|
+
/**
|
|
289
|
+
* Called after inherited class has finished 'update' operation.
|
|
290
|
+
* @param content New content for resource
|
|
291
|
+
* @param updateKey Which property to change
|
|
292
|
+
* @param op What kind of operation is performed to updateKey
|
|
293
|
+
* @throws if validation fails after the update
|
|
294
|
+
*/
|
|
232
295
|
async postUpdate(content, updateKey, op) {
|
|
233
296
|
function toValue(op) {
|
|
234
297
|
if (op.name === 'rank')
|
|
@@ -257,30 +320,27 @@ export class ResourceObject extends AbstractResource {
|
|
|
257
320
|
}
|
|
258
321
|
this.content = content;
|
|
259
322
|
await this.write();
|
|
323
|
+
// Log resource update to migration log
|
|
324
|
+
await this.logResourceOperation('update', op, updateKey.key);
|
|
260
325
|
}
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
if (!content) {
|
|
265
|
-
throw new Error(`Resource '${resourceNameToString(this.resourceName)}' does not exist`);
|
|
266
|
-
}
|
|
267
|
-
if (this.moduleResource) {
|
|
268
|
-
throw new Error(`Cannot update module resources`);
|
|
269
|
-
}
|
|
270
|
-
if (key.key === '' || key === undefined) {
|
|
271
|
-
throw new Error(`Cannot update empty key`);
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
// Reads content from file to memory.
|
|
326
|
+
/**
|
|
327
|
+
* Reads content from file to memory.
|
|
328
|
+
*/
|
|
275
329
|
async read() {
|
|
276
330
|
this.content = await readJsonFile(this.fileName);
|
|
277
331
|
}
|
|
278
|
-
|
|
332
|
+
/**
|
|
333
|
+
* Renames resource.
|
|
334
|
+
* @param newName New name for the resource.
|
|
335
|
+
* @throws if trying to rename module resource, or
|
|
336
|
+
* if resource does not exist,
|
|
337
|
+
* if trying to rename so that type changes
|
|
338
|
+
*/
|
|
279
339
|
async rename(newName) {
|
|
280
340
|
if (this.moduleResource) {
|
|
281
341
|
throw new Error(`Cannot rename module resources`);
|
|
282
342
|
}
|
|
283
|
-
if (!
|
|
343
|
+
if (!this.exists()) {
|
|
284
344
|
throw new Error(`Resource '${this.resourceName.identifier}' does not exist`);
|
|
285
345
|
}
|
|
286
346
|
if (newName.prefix !== this.project.projectPrefix) {
|
|
@@ -290,48 +350,71 @@ export class ResourceObject extends AbstractResource {
|
|
|
290
350
|
throw new Error('Cannot change resource type');
|
|
291
351
|
}
|
|
292
352
|
const validator = await ResourceObject.getValidate();
|
|
293
|
-
validator.validResourceName(this.resourceType(), resourceNameToString(newName),
|
|
353
|
+
validator.validResourceName(this.resourceType(), resourceNameToString(newName), this.project.projectPrefixes());
|
|
294
354
|
const newFilename = join(this.project.paths.resourcePath(newName.type), newName.identifier + '.json');
|
|
355
|
+
const oldName = resourceNameToString(this.resourceName);
|
|
295
356
|
await rename(this.fileName, newFilename);
|
|
296
|
-
this.cache.delete(resourceNameToString(this.resourceName));
|
|
297
357
|
this.fileName = newFilename;
|
|
298
358
|
this.content.name = resourceNameToString(newName);
|
|
359
|
+
const newNameString = this.content.name;
|
|
299
360
|
this.resourceName = newName;
|
|
300
|
-
this.
|
|
361
|
+
this.project.resources.rename(oldName, newNameString);
|
|
362
|
+
// Log resource rename to migration log
|
|
363
|
+
await this.logResourceOperation('rename', {
|
|
364
|
+
name: 'change',
|
|
365
|
+
target: oldName,
|
|
366
|
+
to: newNameString,
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Update resource; the base class makes some checks only.
|
|
371
|
+
* @template type Resource type
|
|
372
|
+
* @template K Resource key
|
|
373
|
+
* @throws if resource does not exist, or
|
|
374
|
+
* if trying to update module content, or
|
|
375
|
+
* if key is empty
|
|
376
|
+
*/
|
|
377
|
+
async update(key, _op) {
|
|
378
|
+
const content = this.data;
|
|
379
|
+
if (!content) {
|
|
380
|
+
throw new Error(`Resource '${resourceNameToString(this.resourceName)}' does not exist`);
|
|
381
|
+
}
|
|
382
|
+
if (this.moduleResource) {
|
|
383
|
+
throw new Error(`Cannot update module resources`);
|
|
384
|
+
}
|
|
385
|
+
if (key.key === '' || key === undefined) {
|
|
386
|
+
throw new Error(`Cannot update empty key`);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Validates resource identifier to prevent filesystem operations with invalid names
|
|
391
|
+
* todo: To Validate?
|
|
392
|
+
*/
|
|
393
|
+
validateResourceIdentifier() {
|
|
394
|
+
if (!this.moduleResource && this.resourceName.identifier) {
|
|
395
|
+
const identifier = this.resourceName.identifier;
|
|
396
|
+
if (!/^[a-zA-Z0-9._-]+$/.test(identifier)) {
|
|
397
|
+
throw new Error(`Resource identifier must follow naming rules. Identifier '${identifier}' is invalid`);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
301
400
|
}
|
|
302
401
|
/**
|
|
303
402
|
* Update calculation files.
|
|
304
403
|
* @param from Resource name to update
|
|
305
404
|
* @param to New name for resource
|
|
405
|
+
* @throws if 'from' or 'to' is empty string, or
|
|
406
|
+
* if there was error accessing calculation files.
|
|
306
407
|
*/
|
|
307
408
|
async updateCalculations(from, to) {
|
|
308
409
|
if (!from.trim() || !to.trim()) {
|
|
309
410
|
throw new Error('updateCalculations: "from" and "to" parameters must not be empty');
|
|
310
411
|
}
|
|
311
|
-
const calculations =
|
|
412
|
+
const calculations = this.project.resources.calculations(ResourcesFrom.localOnly);
|
|
312
413
|
await Promise.all(calculations.map(async (calculation) => {
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
const fileNameWithExtension = base.endsWith('.lp')
|
|
318
|
-
? base
|
|
319
|
-
: base + '.lp';
|
|
320
|
-
const filename = join(calculation.path, fileNameWithExtension);
|
|
321
|
-
try {
|
|
322
|
-
const content = await readFile(filename, 'utf-8');
|
|
323
|
-
const updatedContent = content.replaceAll(from, to);
|
|
324
|
-
await writeFile(filename, updatedContent);
|
|
325
|
-
}
|
|
326
|
-
catch (error) {
|
|
327
|
-
if (hasCode(error) && error.code === 'ENOENT') {
|
|
328
|
-
// Skip files that don't exist (they may have been renamed or deleted)
|
|
329
|
-
this.getLogger(this.getType).warn(`Skipping non-existent file: ${filename}`);
|
|
330
|
-
return;
|
|
331
|
-
}
|
|
332
|
-
if (error instanceof Error) {
|
|
333
|
-
throw new Error(`Failed to process file while updating calculation ${filename}: ${error.message}`);
|
|
334
|
-
}
|
|
414
|
+
const content = calculation.contentData();
|
|
415
|
+
if (content.calculation) {
|
|
416
|
+
const updatedContent = content.calculation.replaceAll(from, to);
|
|
417
|
+
await calculation.updateFile('calculation.lp', updatedContent);
|
|
335
418
|
}
|
|
336
419
|
}));
|
|
337
420
|
}
|
|
@@ -340,13 +423,14 @@ export class ResourceObject extends AbstractResource {
|
|
|
340
423
|
* @param from Resource name to update
|
|
341
424
|
* @param to New name for resource
|
|
342
425
|
* @param handleBarFiles Optional. List of handlebar files. If omitted, affects all handlebar files in the project.
|
|
426
|
+
* @throws if 'from' or 'to' is empty string
|
|
343
427
|
*/
|
|
344
428
|
async updateHandleBars(from, to, handleBarFiles) {
|
|
345
429
|
if (!from.trim() || !to.trim()) {
|
|
346
430
|
throw new Error('updateHandleBars: "from" and "to" parameters must not be empty');
|
|
347
431
|
}
|
|
348
432
|
if (!handleBarFiles) {
|
|
349
|
-
handleBarFiles = await this.
|
|
433
|
+
handleBarFiles = await this.reportHandlerBarFiles(ResourcesFrom.localOnly);
|
|
350
434
|
}
|
|
351
435
|
// Process all files in parallel.
|
|
352
436
|
await Promise.all(handleBarFiles.map(async (handleBarFile) => {
|
|
@@ -355,10 +439,14 @@ export class ResourceObject extends AbstractResource {
|
|
|
355
439
|
await writeFile(handleBarFile, Buffer.from(updatedContent));
|
|
356
440
|
}));
|
|
357
441
|
}
|
|
358
|
-
|
|
359
|
-
|
|
442
|
+
/**
|
|
443
|
+
* Check if there are references to the resource in the card content.
|
|
444
|
+
* @note that this needs to be async, since inherited classes need to async operations
|
|
445
|
+
* @param cards cards to check
|
|
446
|
+
* @throws if resource does not exist
|
|
447
|
+
*/
|
|
360
448
|
async usage(cards) {
|
|
361
|
-
if (!
|
|
449
|
+
if (!this.exists()) {
|
|
362
450
|
throw new Error(`Resource '${this.resourceName.identifier}' does not exist in the project`);
|
|
363
451
|
}
|
|
364
452
|
const cardArray = cards?.length ? cards : this.project.cards(undefined);
|
|
@@ -366,12 +454,20 @@ export class ResourceObject extends AbstractResource {
|
|
|
366
454
|
.filter((card) => card.content?.includes(resourceNameToString(this.resourceName)))
|
|
367
455
|
.map((card) => card.key);
|
|
368
456
|
}
|
|
457
|
+
/**
|
|
458
|
+
* Checks if resource name is valid.
|
|
459
|
+
* @param newName New name for resource.
|
|
460
|
+
* @returns valid name
|
|
461
|
+
*/
|
|
369
462
|
async validName(newName) {
|
|
370
463
|
const validator = await ResourceObject.getValidate();
|
|
371
|
-
const validName = validator.validResourceName(this.resourceType(), resourceNameToString(newName),
|
|
464
|
+
const validName = validator.validResourceName(this.resourceType(), resourceNameToString(newName), this.project.projectPrefixes());
|
|
372
465
|
return validName;
|
|
373
466
|
}
|
|
374
|
-
|
|
467
|
+
/**
|
|
468
|
+
* Write the content from memory to disk.
|
|
469
|
+
* @throws if trying to write a module resource.
|
|
470
|
+
*/
|
|
375
471
|
async write() {
|
|
376
472
|
if (this.moduleResource) {
|
|
377
473
|
throw new Error(`Cannot change module resources`);
|
|
@@ -384,13 +480,15 @@ export class ResourceObject extends AbstractResource {
|
|
|
384
480
|
// Check if "name" has changed. Changing "name" means renaming the file.
|
|
385
481
|
const nameInContent = resourceName(this.content.name).identifier + '.json';
|
|
386
482
|
const currentFileName = basename(this.fileName);
|
|
483
|
+
const resourceString = resourceNameToString(this.resourceName);
|
|
387
484
|
if (nameInContent !== currentFileName) {
|
|
388
485
|
const newFileName = join(this.resourceFolder, nameInContent);
|
|
389
486
|
await rename(this.fileName, newFileName);
|
|
390
487
|
this.fileName = newFileName;
|
|
488
|
+
this.resourceName = resourceName(this.content.name);
|
|
489
|
+
this.project.resources.rename(resourceString, this.content.name);
|
|
391
490
|
}
|
|
392
491
|
await writeJsonFile(this.fileName, this.content);
|
|
393
|
-
this.toCache();
|
|
394
492
|
}
|
|
395
493
|
/**
|
|
396
494
|
* Returns memory resident data as JSON.
|
|
@@ -402,7 +500,9 @@ export class ResourceObject extends AbstractResource {
|
|
|
402
500
|
}
|
|
403
501
|
/**
|
|
404
502
|
* Deletes the file and removes the resource from project.
|
|
405
|
-
* @throws if resource is a module resource or
|
|
503
|
+
* @throws if resource is a module resource, or
|
|
504
|
+
* if resource does not exist, or
|
|
505
|
+
* if resource is used by other resources.
|
|
406
506
|
*/
|
|
407
507
|
async delete() {
|
|
408
508
|
if (this.moduleResource) {
|
|
@@ -411,7 +511,7 @@ export class ResourceObject extends AbstractResource {
|
|
|
411
511
|
if (!this.fileName.endsWith('.json')) {
|
|
412
512
|
this.fileName += '.json';
|
|
413
513
|
}
|
|
414
|
-
if (!
|
|
514
|
+
if (!this.exists()) {
|
|
415
515
|
throw new Error(`Resource '${this.resourceName.identifier}' does not exist in the project`);
|
|
416
516
|
}
|
|
417
517
|
const usedIn = await this.usage();
|
|
@@ -419,12 +519,15 @@ export class ResourceObject extends AbstractResource {
|
|
|
419
519
|
throw new Error(`Cannot delete resource ${resourceNameToString(this.resourceName)}. It is used by: ${usedIn.join(', ')}`);
|
|
420
520
|
}
|
|
421
521
|
await deleteFile(this.fileName);
|
|
422
|
-
this.project.
|
|
522
|
+
this.project.resources.remove(resourceNameToString(this.resourceName));
|
|
423
523
|
this.fileName = '';
|
|
524
|
+
// Log resource deletion to migration log
|
|
525
|
+
await this.logResourceOperation('delete');
|
|
424
526
|
}
|
|
425
527
|
/**
|
|
426
528
|
* Validates the content of the resource.
|
|
427
529
|
* @param content Content to be validated.
|
|
530
|
+
* @throws if content is invalid.
|
|
428
531
|
*/
|
|
429
532
|
async validate(content) {
|
|
430
533
|
const validator = await ResourceObject.getValidate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-object.js","sourceRoot":"","sources":["../../src/resources/resource-object.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-object.js","sourceRoot":"","sources":["../../src/resources/resource-object.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +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
|
-
import type { Card, Operation, Project, ResourceName } from './folder-resource.js';
|
|
14
13
|
import { FolderResource } from './folder-resource.js';
|
|
15
|
-
import type { TemplateConfiguration, TemplateMetadata, UpdateKey } from '../interfaces/resource-interfaces.js';
|
|
16
14
|
import { Template } from '../containers/template.js';
|
|
15
|
+
import type { Card } from '../interfaces/project-interfaces.js';
|
|
16
|
+
import type { Operation } from './resource-object.js';
|
|
17
|
+
import type { Project } from '../containers/project.js';
|
|
18
|
+
import type { ResourceName } from '../utils/resource-utils.js';
|
|
19
|
+
import type { TemplateConfiguration, TemplateMetadata, UpdateKey } from '../interfaces/resource-interfaces.js';
|
|
17
20
|
/**
|
|
18
21
|
* Template resource class.
|
|
19
22
|
*/
|
|
@@ -35,6 +38,7 @@ export declare class TemplateResource extends FolderResource<TemplateMetadata, n
|
|
|
35
38
|
create(newContent?: TemplateMetadata): Promise<void>;
|
|
36
39
|
/**
|
|
37
40
|
* Deletes file and folder that this resource is based on.
|
|
41
|
+
* Also removes template cards from the project's card cache.
|
|
38
42
|
*/
|
|
39
43
|
delete(): Promise<void>;
|
|
40
44
|
/**
|
|
@@ -46,7 +50,7 @@ export declare class TemplateResource extends FolderResource<TemplateMetadata, n
|
|
|
46
50
|
* Shows metadata of the resource.
|
|
47
51
|
* @returns template metadata.
|
|
48
52
|
*/
|
|
49
|
-
show():
|
|
53
|
+
show(): TemplateConfiguration;
|
|
50
54
|
/**
|
|
51
55
|
* Returns template card container object.
|
|
52
56
|
* @returns template container object
|