@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.
Files changed (191) hide show
  1. package/dist/card-metadata-updater.js +7 -1
  2. package/dist/card-metadata-updater.js.map +1 -1
  3. package/dist/command-handler.d.ts +4 -0
  4. package/dist/command-handler.js +22 -8
  5. package/dist/command-handler.js.map +1 -1
  6. package/dist/command-manager.d.ts +24 -1
  7. package/dist/command-manager.js +31 -7
  8. package/dist/command-manager.js.map +1 -1
  9. package/dist/commands/create.d.ts +1 -1
  10. package/dist/commands/create.js +34 -36
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/export.d.ts +11 -2
  13. package/dist/commands/export.js +54 -41
  14. package/dist/commands/export.js.map +1 -1
  15. package/dist/commands/fetch.d.ts +8 -0
  16. package/dist/commands/fetch.js +101 -23
  17. package/dist/commands/fetch.js.map +1 -1
  18. package/dist/commands/import.d.ts +14 -3
  19. package/dist/commands/import.js +27 -10
  20. package/dist/commands/import.js.map +1 -1
  21. package/dist/commands/move.js +0 -1
  22. package/dist/commands/move.js.map +1 -1
  23. package/dist/commands/remove.d.ts +11 -2
  24. package/dist/commands/remove.js +15 -5
  25. package/dist/commands/remove.js.map +1 -1
  26. package/dist/commands/rename.d.ts +4 -9
  27. package/dist/commands/rename.js +37 -101
  28. package/dist/commands/rename.js.map +1 -1
  29. package/dist/commands/show.d.ts +20 -12
  30. package/dist/commands/show.js +79 -57
  31. package/dist/commands/show.js.map +1 -1
  32. package/dist/commands/transition.d.ts +9 -2
  33. package/dist/commands/transition.js +25 -17
  34. package/dist/commands/transition.js.map +1 -1
  35. package/dist/commands/update.d.ts +16 -12
  36. package/dist/commands/update.js +19 -17
  37. package/dist/commands/update.js.map +1 -1
  38. package/dist/commands/validate.d.ts +17 -9
  39. package/dist/commands/validate.js +94 -35
  40. package/dist/commands/validate.js.map +1 -1
  41. package/dist/containers/card-container.d.ts +7 -5
  42. package/dist/containers/card-container.js +30 -5
  43. package/dist/containers/card-container.js.map +1 -1
  44. package/dist/containers/project/calculation-engine.d.ts +7 -4
  45. package/dist/containers/project/calculation-engine.js +61 -66
  46. package/dist/containers/project/calculation-engine.js.map +1 -1
  47. package/dist/containers/project/project-paths.d.ts +7 -4
  48. package/dist/containers/project/project-paths.js +22 -12
  49. package/dist/containers/project/project-paths.js.map +1 -1
  50. package/dist/containers/project/resource-cache.d.ts +169 -0
  51. package/dist/containers/project/resource-cache.js +509 -0
  52. package/dist/containers/project/resource-cache.js.map +1 -0
  53. package/dist/containers/project/resource-handler.d.ts +129 -0
  54. package/dist/containers/project/resource-handler.js +206 -0
  55. package/dist/containers/project/resource-handler.js.map +1 -0
  56. package/dist/containers/project.d.ts +46 -152
  57. package/dist/containers/project.js +179 -409
  58. package/dist/containers/project.js.map +1 -1
  59. package/dist/containers/template.d.ts +8 -2
  60. package/dist/containers/template.js +24 -19
  61. package/dist/containers/template.js.map +1 -1
  62. package/dist/interfaces/command-options.d.ts +3 -1
  63. package/dist/interfaces/folder-content-interfaces.d.ts +5 -3
  64. package/dist/interfaces/folder-content-interfaces.js +3 -3
  65. package/dist/interfaces/folder-content-interfaces.js.map +1 -1
  66. package/dist/interfaces/project-interfaces.d.ts +7 -9
  67. package/dist/interfaces/project-interfaces.js.map +1 -1
  68. package/dist/interfaces/resource-interfaces.d.ts +14 -1
  69. package/dist/interfaces/resource-interfaces.js.map +1 -1
  70. package/dist/macros/graph/index.js +12 -26
  71. package/dist/macros/graph/index.js.map +1 -1
  72. package/dist/macros/index.d.ts +1 -1
  73. package/dist/macros/index.js +2 -2
  74. package/dist/macros/index.js.map +1 -1
  75. package/dist/macros/report/index.js +3 -6
  76. package/dist/macros/report/index.js.map +1 -1
  77. package/dist/module-manager.d.ts +16 -3
  78. package/dist/module-manager.js +51 -19
  79. package/dist/module-manager.js.map +1 -1
  80. package/dist/project-settings.d.ts +21 -3
  81. package/dist/project-settings.js +91 -14
  82. package/dist/project-settings.js.map +1 -1
  83. package/dist/resources/calculation-resource.d.ts +4 -3
  84. package/dist/resources/calculation-resource.js +11 -5
  85. package/dist/resources/calculation-resource.js.map +1 -1
  86. package/dist/resources/card-type-resource.d.ts +6 -1
  87. package/dist/resources/card-type-resource.js +34 -23
  88. package/dist/resources/card-type-resource.js.map +1 -1
  89. package/dist/resources/create-defaults.d.ts +3 -2
  90. package/dist/resources/create-defaults.js +3 -2
  91. package/dist/resources/create-defaults.js.map +1 -1
  92. package/dist/resources/field-type-resource.d.ts +4 -1
  93. package/dist/resources/field-type-resource.js +22 -23
  94. package/dist/resources/field-type-resource.js.map +1 -1
  95. package/dist/resources/file-resource.d.ts +5 -9
  96. package/dist/resources/file-resource.js +6 -11
  97. package/dist/resources/file-resource.js.map +1 -1
  98. package/dist/resources/folder-resource.d.ts +29 -32
  99. package/dist/resources/folder-resource.js +59 -78
  100. package/dist/resources/folder-resource.js.map +1 -1
  101. package/dist/resources/graph-model-resource.d.ts +4 -1
  102. package/dist/resources/graph-model-resource.js +11 -4
  103. package/dist/resources/graph-model-resource.js.map +1 -1
  104. package/dist/resources/graph-view-resource.d.ts +5 -2
  105. package/dist/resources/graph-view-resource.js +7 -3
  106. package/dist/resources/graph-view-resource.js.map +1 -1
  107. package/dist/resources/link-type-resource.d.ts +5 -2
  108. package/dist/resources/link-type-resource.js +5 -2
  109. package/dist/resources/link-type-resource.js.map +1 -1
  110. package/dist/resources/report-resource.d.ts +6 -7
  111. package/dist/resources/report-resource.js +14 -23
  112. package/dist/resources/report-resource.js.map +1 -1
  113. package/dist/resources/resource-object.d.ts +94 -8
  114. package/dist/resources/resource-object.js +212 -109
  115. package/dist/resources/resource-object.js.map +1 -1
  116. package/dist/resources/template-resource.d.ts +7 -3
  117. package/dist/resources/template-resource.js +10 -3
  118. package/dist/resources/template-resource.js.map +1 -1
  119. package/dist/resources/workflow-resource.d.ts +5 -2
  120. package/dist/resources/workflow-resource.js +18 -22
  121. package/dist/resources/workflow-resource.js.map +1 -1
  122. package/dist/utils/card-utils.d.ts +2 -2
  123. package/dist/utils/card-utils.js +1 -1
  124. package/dist/utils/clingo-fact-builder.d.ts +25 -14
  125. package/dist/utils/clingo-fact-builder.js +27 -5
  126. package/dist/utils/clingo-fact-builder.js.map +1 -1
  127. package/dist/utils/clingo-facts.js +3 -4
  128. package/dist/utils/clingo-facts.js.map +1 -1
  129. package/dist/utils/configuration-logger.d.ts +91 -0
  130. package/dist/utils/configuration-logger.js +151 -0
  131. package/dist/utils/configuration-logger.js.map +1 -0
  132. package/dist/utils/constants.d.ts +1 -1
  133. package/dist/utils/constants.js +5 -3
  134. package/dist/utils/constants.js.map +1 -1
  135. package/dist/utils/resource-utils.d.ts +1 -0
  136. package/dist/utils/resource-utils.js +2 -1
  137. package/dist/utils/resource-utils.js.map +1 -1
  138. package/package.json +9 -9
  139. package/src/card-metadata-updater.ts +6 -2
  140. package/src/command-handler.ts +39 -12
  141. package/src/command-manager.ts +33 -21
  142. package/src/commands/create.ts +43 -78
  143. package/src/commands/export.ts +63 -52
  144. package/src/commands/fetch.ts +143 -34
  145. package/src/commands/import.ts +37 -15
  146. package/src/commands/move.ts +0 -1
  147. package/src/commands/remove.ts +20 -7
  148. package/src/commands/rename.ts +58 -149
  149. package/src/commands/show.ts +123 -80
  150. package/src/commands/transition.ts +26 -28
  151. package/src/commands/update.ts +25 -22
  152. package/src/commands/validate.ts +104 -67
  153. package/src/containers/card-container.ts +37 -5
  154. package/src/containers/project/calculation-engine.ts +61 -93
  155. package/src/containers/project/project-paths.ts +29 -13
  156. package/src/containers/project/resource-cache.ts +651 -0
  157. package/src/containers/project/resource-handler.ts +265 -0
  158. package/src/containers/project.ts +250 -527
  159. package/src/containers/template.ts +28 -23
  160. package/src/interfaces/command-options.ts +3 -1
  161. package/src/interfaces/folder-content-interfaces.ts +7 -6
  162. package/src/interfaces/project-interfaces.ts +12 -11
  163. package/src/interfaces/resource-interfaces.ts +18 -3
  164. package/src/macros/graph/index.ts +26 -47
  165. package/src/macros/index.ts +2 -2
  166. package/src/macros/report/index.ts +3 -9
  167. package/src/module-manager.ts +74 -17
  168. package/src/project-settings.ts +96 -14
  169. package/src/resources/calculation-resource.ts +18 -18
  170. package/src/resources/card-type-resource.ts +50 -50
  171. package/src/resources/create-defaults.ts +3 -2
  172. package/src/resources/field-type-resource.ts +41 -55
  173. package/src/resources/file-resource.ts +10 -36
  174. package/src/resources/folder-resource.ts +69 -120
  175. package/src/resources/graph-model-resource.ts +20 -22
  176. package/src/resources/graph-view-resource.ts +15 -17
  177. package/src/resources/link-type-resource.ts +10 -13
  178. package/src/resources/report-resource.ts +21 -43
  179. package/src/resources/resource-object.ts +263 -149
  180. package/src/resources/template-resource.ts +17 -16
  181. package/src/resources/workflow-resource.ts +25 -44
  182. package/src/utils/card-utils.ts +2 -2
  183. package/src/utils/clingo-fact-builder.ts +28 -16
  184. package/src/utils/clingo-facts.ts +3 -4
  185. package/src/utils/configuration-logger.ts +206 -0
  186. package/src/utils/constants.ts +5 -3
  187. package/src/utils/resource-utils.ts +2 -1
  188. package/dist/containers/project/resource-collector.d.ts +0 -110
  189. package/dist/containers/project/resource-collector.js +0 -344
  190. package/dist/containers/project/resource-collector.js.map +0 -1
  191. package/src/containers/project/resource-collector.ts +0 -404
@@ -18,15 +18,15 @@ import { Validator as DirectoryValidator } from 'directory-schema-validator';
18
18
  import { parentSchema, schemas } from '@cyberismo/assets';
19
19
  import { errorFunction } from '../utils/error-utils.js';
20
20
  import { isTemplateCard } from '../utils/card-utils.js';
21
+ import { isPredefinedField } from '../utils/constants.js';
21
22
  import { pathExists } from '../utils/file-utils.js';
22
- import { Project } from '../containers/project.js';
23
23
  import { readJsonFile } from '../utils/json.js';
24
24
  import { resourceName } from '../utils/resource-utils.js';
25
25
  const invalidNames = new RegExp('[<>:"/\\|?*\x00-\x1F]|^(?:aux|con|clock$|nul|prn|com[1-9]|lpt[1-9])$');
26
26
  const SHORT_TEXT_MAX_LENGTH = 80;
27
27
  import * as EmailValidator from 'email-validator';
28
28
  import { evaluateMacros } from '../macros/index.js';
29
- const baseDir = import.meta.dirname;
29
+ const baseDir = import.meta.dirname ?? new URL('.', import.meta.url).pathname;
30
30
  const subFoldersToValidate = ['.cards', 'cardRoot'];
31
31
  /**
32
32
  * Validates content.
@@ -47,6 +47,9 @@ export class Validate {
47
47
  static cardMetadataFile = 'index.json';
48
48
  static dotSchemaSchemaId = '/dotSchema';
49
49
  static parameterSchemaFile = 'parameterSchema.json';
50
+ /**
51
+ * Creates an instance of Validate command.
52
+ */
50
53
  constructor() {
51
54
  Validate.baseFolder = pathExists(join(process.cwd(), '../../schema', 'cardTreeDirectorySchema.json'))
52
55
  ? join(process.cwd(), '../../schema')
@@ -102,15 +105,7 @@ export class Validate {
102
105
  fullPath(file) {
103
106
  return join(file.parentPath, file.name);
104
107
  }
105
- // Puts resource to a local cache if found and returns the resource.
106
- // If value is already cached, returns from cache.
107
- getAndCacheResource(project, cachedValues, valueName) {
108
- const resource = project.resource(valueName);
109
- if (resource) {
110
- cachedValues.set(valueName, resource);
111
- }
112
- return resource;
113
- }
108
+ // Parses validator messages
114
109
  parseValidatorMessage(errorObject) {
115
110
  let parsedErrorMessage = '';
116
111
  // todo: get schema name here?
@@ -152,7 +147,7 @@ export class Validate {
152
147
  async readAndValidateContentFiles(project, path) {
153
148
  const message = [];
154
149
  try {
155
- const prefixes = await project.projectPrefixes();
150
+ const prefixes = project.allModulePrefixes();
156
151
  const files = await readdir(path, {
157
152
  withFileTypes: true,
158
153
  });
@@ -263,7 +258,13 @@ export class Validate {
263
258
  const errors = [];
264
259
  if (cardType && fieldArray) {
265
260
  const validationPromises = fieldArray.map(async (field) => {
266
- const fieldType = this.getAndCacheResource(project, this.validatedFieldTypes, field);
261
+ let fieldType;
262
+ try {
263
+ fieldType = project.resources.byType(field, 'fieldTypes').show();
264
+ }
265
+ catch {
266
+ fieldType = undefined;
267
+ }
267
268
  if (!fieldType) {
268
269
  return `Card type '${cardType.name}' has invalid reference to unknown ${nameOfArray} '${field}'`;
269
270
  }
@@ -326,7 +327,7 @@ export class Validate {
326
327
  }
327
328
  /**
328
329
  * Validates that new identifier of a resource is according to naming convention.
329
- * @param identifier: resource identifier
330
+ * @param identifier Resource identifier
330
331
  * returns true if identifier is valid, and false otherwise.
331
332
  */
332
333
  static isValidIdentifierName(identifier) {
@@ -398,6 +399,7 @@ export class Validate {
398
399
  const cards = project.cards();
399
400
  cards.push(...project.allTemplateCards());
400
401
  const cardIds = new Map();
402
+ const allPrefixes = project.allModulePrefixes();
401
403
  for (const card of cards) {
402
404
  if (cardIds.has(card.key)) {
403
405
  cardIds.set(card.key, (cardIds.get(card.key) || 0) + 1);
@@ -407,13 +409,13 @@ export class Validate {
407
409
  }
408
410
  if (card.metadata) {
409
411
  if (!isTemplateCard(card)) {
410
- const validWorkflow = this.validateWorkflowState(project, card);
412
+ const validWorkflow = await this.validateWorkflowState(project, card);
411
413
  if (validWorkflow.length !== 0) {
412
414
  errorMsg.push(validWorkflow);
413
415
  }
414
416
  }
415
417
  }
416
- const validCustomFields = await this.validateCustomFields(project, card);
418
+ const validCustomFields = await this.validateCustomFields(project, card, allPrefixes);
417
419
  if (validCustomFields.length !== 0) {
418
420
  errorMsg.push(validCustomFields);
419
421
  }
@@ -489,6 +491,9 @@ export class Validate {
489
491
  * @param resourceType Type of resource
490
492
  * @param name Name of resource
491
493
  * @param prefixes currently used project prefixes
494
+ * @throws when resource is not from given prefixes,
495
+ * or when actual resource does not match the type,
496
+ * or when identifier name is not valid
492
497
  * @returns resource name as valid resource name; throws in error cases.
493
498
  */
494
499
  validResourceName(resourceType, name, prefixes) {
@@ -523,14 +528,23 @@ export class Validate {
523
528
  * Validates that card's custom fields are according to schema and have correct data in them.
524
529
  * @param project currently used Project
525
530
  * @param card specific card
526
- * @returns string containing all validation errors
531
+ * @throws when card does not have metadata
532
+ * @returns validation errors, if any.
527
533
  */
528
- async validateCustomFields(project, card) {
534
+ async validateCustomFields(project, card, prefixes) {
529
535
  const validationErrors = [];
530
536
  if (!card.metadata) {
531
537
  throw new Error(`Card '${card.key}' has no metadata. Card object needs to be instantiated with '{metadata: true}'`);
532
538
  }
533
- const cardType = this.getAndCacheResource(project, this.validatedCardTypes, card.metadata?.cardType);
539
+ let cardType;
540
+ try {
541
+ cardType = project.resources
542
+ .byType(card.metadata?.cardType, 'cardTypes')
543
+ .show();
544
+ }
545
+ catch {
546
+ cardType = undefined;
547
+ }
534
548
  if (!cardType) {
535
549
  validationErrors.push(`Card '${card.key}' has invalid card type '${card.metadata?.cardType}'`);
536
550
  return validationErrors.join('\n');
@@ -541,9 +555,18 @@ export class Validate {
541
555
  fieldErrors = await this.validateArrayOfFields(project, cardType, cardType.alwaysVisibleFields, 'always visible fields');
542
556
  validationErrors.push(...fieldErrors);
543
557
  for (const field of cardType.customFields) {
544
- const found = await project.resourceExists('fieldTypes', field.name);
545
- if (!found) {
546
- validationErrors.push(`Custom field '${field.name}' from card type '${cardType.name}' not found from project`);
558
+ let fieldType;
559
+ try {
560
+ fieldType = await project.resources
561
+ .byType(field.name, 'fieldTypes')
562
+ .show();
563
+ }
564
+ catch {
565
+ fieldType = undefined;
566
+ }
567
+ if (!fieldType) {
568
+ validationErrors.push(`In card '${card.key}' field '${field.name}' is missing from project\n`);
569
+ continue;
547
570
  }
548
571
  if (field.isCalculated) {
549
572
  if (card.metadata[field.name] !== undefined) {
@@ -557,11 +580,6 @@ export class Validate {
557
580
  continue;
558
581
  }
559
582
  }
560
- const fieldType = await this.getAndCacheResource(project, this.validatedFieldTypes, field.name);
561
- if (!fieldType) {
562
- validationErrors.push(`In card '${card.key}' field '${field.name}' is missing from project\n`);
563
- continue;
564
- }
565
583
  if (!this.validType(card.metadata[field.name], fieldType)) {
566
584
  const typeOfValue = typeof card.metadata[field.name];
567
585
  let fieldValue = card.metadata[field.name];
@@ -582,11 +600,36 @@ export class Validate {
582
600
  validationErrors.push(`In card '${card.key}' field '${field.name}' is defined as '${fieldType.dataType}', but it is '${typeOfValue}' with value of ${fieldValue}\n`);
583
601
  }
584
602
  }
603
+ // Validate that all metadata keys are either predefined fields or valid field type names
604
+ for (const key of Object.keys(card.metadata)) {
605
+ if (isPredefinedField(key)) {
606
+ continue;
607
+ }
608
+ try {
609
+ this.validResourceName('fieldTypes', key, prefixes);
610
+ }
611
+ catch {
612
+ validationErrors.push(`Card '${card.key}' has invalid metadata key '${key}'`);
613
+ continue;
614
+ }
615
+ // Check that the card's fieldType exists in the project
616
+ let fieldType;
617
+ try {
618
+ fieldType = await project.resources.byType(key, 'fieldTypes').show();
619
+ }
620
+ catch {
621
+ fieldType = undefined;
622
+ }
623
+ if (!fieldType) {
624
+ validationErrors.push(`Card '${card.key}' has field '${key}' that does not exist in the project`);
625
+ }
626
+ }
585
627
  return validationErrors.join('\n');
586
628
  }
587
629
  /**
588
630
  * Validates the labels of a card
589
631
  * @param card card to validate. Card must have metadata.
632
+ * @returns validation errors, if any.
590
633
  */
591
634
  validateCardLabels(card) {
592
635
  const validationErrors = [];
@@ -614,15 +657,22 @@ export class Validate {
614
657
  * Template cards are expected to have empty workflow state.
615
658
  * @param project Project object.
616
659
  * @param card Card object to validate
617
- * @returns string containing all validation errors
660
+ * @returns validation errors, if any.
618
661
  */
619
- validateWorkflowState(project, card) {
662
+ async validateWorkflowState(project, card) {
620
663
  const validationErrors = [];
621
664
  if (!card.metadata) {
622
665
  validationErrors.push(`Card '${card.key}' has no metadata. Card object needs to be instantiated with '{metadata: true}'`);
623
666
  }
624
- // Use caches for cardTypes and workflows, to avoid re-reading the same JSON files multiple times.
625
- const cardType = this.getAndCacheResource(project, this.validatedCardTypes, card.metadata?.cardType || '');
667
+ let cardType;
668
+ try {
669
+ cardType = card.metadata?.cardType
670
+ ? project.resources.byType(card.metadata?.cardType, 'cardTypes').show()
671
+ : undefined;
672
+ }
673
+ catch {
674
+ cardType = undefined;
675
+ }
626
676
  if (!cardType) {
627
677
  validationErrors.push(`Card '${card.key}' has invalid card type '${card.metadata?.cardType}'`);
628
678
  return validationErrors.join('\n');
@@ -631,7 +681,15 @@ export class Validate {
631
681
  validationErrors.push(`Card type '${card.metadata?.cardType}' does not have 'workflow'`);
632
682
  return validationErrors.join('\n');
633
683
  }
634
- const workflow = this.getAndCacheResource(project, this.validatedWorkflows, cardType.workflow);
684
+ let workflow;
685
+ try {
686
+ workflow = project.resources
687
+ .byType(cardType.workflow, 'workflows')
688
+ .show();
689
+ }
690
+ catch {
691
+ workflow = undefined;
692
+ }
635
693
  if (!workflow) {
636
694
  validationErrors.push(`Workflow of '${cardType.workflow}' card type '${card.metadata?.cardType}' does not exist in the project`);
637
695
  return validationErrors.join('\n');
@@ -652,12 +710,13 @@ export class Validate {
652
710
  }
653
711
  /**
654
712
  * Validates a single resource.
655
- * @param resource Resource to validate
656
- * @returns string containing all validation errors
713
+ * @param resourceName Resource to validate
714
+ * @param project Project instance to use.
715
+ * @returns validation errors, if any.
657
716
  */
658
717
  async validateResource(resourceName, project) {
659
718
  try {
660
- const resource = Project.resourceObject(project, resourceName);
719
+ const resource = project.resources.byType(resourceName);
661
720
  await resource.validate();
662
721
  return '';
663
722
  }
@@ -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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"}
@@ -20,13 +20,13 @@ import type { CardAttachment, Card, FetchCardDetails } from '../interfaces/proje
20
20
  export declare class CardContainer {
21
21
  basePath: string;
22
22
  protected cardCache: CardCache;
23
- protected containerName: string;
24
23
  protected prefix: string;
24
+ protected static get logger(): import("pino").Logger;
25
25
  static cardContentFile: string;
26
26
  static cardMetadataFile: string;
27
27
  static projectConfigFileName: string;
28
28
  static schemaContentFile: string;
29
- constructor(path: string, prefix: string, name: string);
29
+ constructor(path: string, prefix: string);
30
30
  private filterCardDetails;
31
31
  private filterCardsDetails;
32
32
  /**
@@ -87,10 +87,12 @@ export declare class CardContainer {
87
87
  */
88
88
  protected saveCardMetadata(card: Card): Promise<boolean>;
89
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).
90
+ * Removes non-metadata fields that should not be persisted.
91
+ *
92
+ * @param metadata The metadata object to sanitize
93
+ * @returns Clean metadata object with only valid metadata fields
93
94
  */
95
+ private static sanitizeMetadata;
94
96
  protected showCards(path: string): Card[];
95
97
  /**
96
98
  * Checks if container has the specified card.
@@ -17,9 +17,10 @@ import { writeFile } from 'node:fs/promises';
17
17
  import { CardCache } from './project/card-cache.js';
18
18
  import { cardPathParts } from '../utils/card-utils.js';
19
19
  import { deleteDir } from '../utils/file-utils.js';
20
+ import { getChildLogger } from '../utils/log-utils.js';
20
21
  import { writeJsonFile } from '../utils/json.js';
21
22
  import asciidoctor from '@asciidoctor/core';
22
- import { ROOT } from '../utils/constants.js';
23
+ import { isPredefinedField, ROOT } from '../utils/constants.js';
23
24
  /**
24
25
  * Card container base class. Used for both Project and Template.
25
26
  * Contains common card-related functionality.
@@ -27,15 +28,16 @@ import { ROOT } from '../utils/constants.js';
27
28
  export class CardContainer {
28
29
  basePath;
29
30
  cardCache;
30
- containerName;
31
31
  prefix;
32
+ static get logger() {
33
+ return getChildLogger({ module: 'CardContainer' });
34
+ }
32
35
  static cardContentFile = 'index.adoc';
33
36
  static cardMetadataFile = 'index.json';
34
37
  static projectConfigFileName = 'cardsConfig.json';
35
38
  static schemaContentFile = '.schema';
36
- constructor(path, prefix, name) {
39
+ constructor(path, prefix) {
37
40
  this.basePath = path;
38
- this.containerName = name;
39
41
  this.prefix = prefix;
40
42
  this.cardCache = new CardCache(this.prefix);
41
43
  }
@@ -190,12 +192,35 @@ export class CardContainer {
190
192
  if (card.metadata != null) {
191
193
  const metadataFile = join(card.path, CardContainer.cardMetadataFile);
192
194
  card.metadata.lastUpdated = new Date().toISOString();
193
- await writeJsonFile(metadataFile, card.metadata);
195
+ const sanitizedMetadata = CardContainer.sanitizeMetadata(card);
196
+ await writeJsonFile(metadataFile, sanitizedMetadata);
194
197
  return this.cardCache.updateCardMetadata(card.key, card.metadata);
195
198
  }
196
199
  return false;
197
200
  }
198
201
  /**
202
+ * Removes non-metadata fields that should not be persisted.
203
+ *
204
+ * @param metadata The metadata object to sanitize
205
+ * @returns Clean metadata object with only valid metadata fields
206
+ */
207
+ static sanitizeMetadata(card) {
208
+ const sanitized = {};
209
+ if (card.metadata) {
210
+ for (const [key, value] of Object.entries(card.metadata)) {
211
+ // Keys are not filtered out if they are: predefined, or field types
212
+ if (isPredefinedField(key) || key.includes('/')) {
213
+ sanitized[key] = value;
214
+ }
215
+ else {
216
+ this.logger.warn(`Card ${card.key} had extra metadata key ${key} with value ${value}. Key was removed`);
217
+ }
218
+ // Everything else is filtered out
219
+ }
220
+ }
221
+ return sanitized;
222
+ }
223
+ /*
199
224
  * Show root cards from a given path.
200
225
  * @param path The path to get cards from
201
226
  * @returns an array of root-level cards (each with their children populated).
@@ -1 +1 @@
1
- {"version":3,"file":"card-container.js","sourceRoot":"","sources":["../../src/containers/card-container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-container.js","sourceRoot":"","sources":["../../src/containers/card-container.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  */
13
13
  import type { BaseResult, ParseResult, QueryName, QueryResult } from '../../types/queries.js';
14
14
  import type { Card, Context } from '../../interfaces/project-interfaces.js';
15
- import { type Project } from '../../containers/project.js';
15
+ import type { Project } from '../../containers/project.js';
16
16
  import { type ResourceName } from '../../utils/resource-utils.js';
17
17
  export declare class CalculationEngine {
18
18
  private project;
@@ -48,6 +48,7 @@ export declare class CalculationEngine {
48
48
  private setCalculationsPrograms;
49
49
  private getCards;
50
50
  private parseClingoResult;
51
+ private queryContent;
51
52
  private run;
52
53
  /**
53
54
  * Generates a logic program.
@@ -82,21 +83,23 @@ export declare class CalculationEngine {
82
83
  resourceLogicProgram(resourceName: ResourceName): Promise<string>;
83
84
  /**
84
85
  * Runs given logic program and creates a graph using clingraph
85
- * @param data Provide a query or/and a file which can be given to clingraph
86
- * @param timeout Maximum amount of milliseconds clingraph is allowed to run
86
+ * @param model Graph model to use.
87
+ * @param view Graph view to use.
88
+ * @param context In which type of context the query is run.
87
89
  * @returns a base64 encoded image as a string
88
90
  */
89
91
  runGraph(model: string, view: string, context: Context): Promise<string>;
90
92
  /**
91
93
  * Runs a logic program using clingo.
92
94
  * @param query Logic program to be run
95
+ * @param context In which type of context the query is run.
93
96
  * @returns parsed program output
94
97
  */
95
98
  runLogicProgram(query: string, context?: Context): Promise<ParseResult<BaseResult>>;
96
- private queryContent;
97
99
  /**
98
100
  * Runs a pre-defined query.
99
101
  * @param queryName Name of the query file without extension
102
+ * @param context In which type of context the query is run.
100
103
  * @param options Any object that contains state for handlebars
101
104
  * @returns parsed program output
102
105
  */