@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.
Files changed (306) hide show
  1. package/LICENSE +702 -0
  2. package/dist/card-metadata-updater.d.ts +33 -0
  3. package/dist/card-metadata-updater.js +121 -0
  4. package/dist/card-metadata-updater.js.map +1 -0
  5. package/dist/command-handler.d.ts +96 -0
  6. package/dist/command-handler.js +557 -0
  7. package/dist/command-handler.js.map +1 -0
  8. package/dist/command-manager.d.ts +43 -0
  9. package/dist/command-manager.js +73 -0
  10. package/dist/command-manager.js.map +1 -0
  11. package/dist/commands/calculate.d.ts +86 -0
  12. package/dist/commands/calculate.js +444 -0
  13. package/dist/commands/calculate.js.map +1 -0
  14. package/dist/commands/create.d.ts +114 -0
  15. package/dist/commands/create.js +389 -0
  16. package/dist/commands/create.js.map +1 -0
  17. package/dist/commands/edit.d.ts +37 -0
  18. package/dist/commands/edit.js +99 -0
  19. package/dist/commands/edit.js.map +1 -0
  20. package/dist/commands/export-site.d.ts +45 -0
  21. package/dist/commands/export-site.js +301 -0
  22. package/dist/commands/export-site.js.map +1 -0
  23. package/dist/commands/export.d.ts +53 -0
  24. package/dist/commands/export.js +251 -0
  25. package/dist/commands/export.js.map +1 -0
  26. package/dist/commands/import.d.ts +53 -0
  27. package/dist/commands/import.js +133 -0
  28. package/dist/commands/import.js.map +1 -0
  29. package/dist/commands/index.d.ts +26 -0
  30. package/dist/commands/index.js +27 -0
  31. package/dist/commands/index.js.map +1 -0
  32. package/dist/commands/move.d.ts +55 -0
  33. package/dist/commands/move.js +341 -0
  34. package/dist/commands/move.js.map +1 -0
  35. package/dist/commands/remove.d.ts +38 -0
  36. package/dist/commands/remove.js +192 -0
  37. package/dist/commands/remove.js.map +1 -0
  38. package/dist/commands/rename.d.ts +46 -0
  39. package/dist/commands/rename.js +289 -0
  40. package/dist/commands/rename.js.map +1 -0
  41. package/dist/commands/show.d.ts +124 -0
  42. package/dist/commands/show.js +345 -0
  43. package/dist/commands/show.js.map +1 -0
  44. package/dist/commands/transition.d.ts +27 -0
  45. package/dist/commands/transition.js +92 -0
  46. package/dist/commands/transition.js.map +1 -0
  47. package/dist/commands/update.d.ts +29 -0
  48. package/dist/commands/update.js +64 -0
  49. package/dist/commands/update.js.map +1 -0
  50. package/dist/commands/validate.d.ts +143 -0
  51. package/dist/commands/validate.js +689 -0
  52. package/dist/commands/validate.js.map +1 -0
  53. package/dist/containers/card-container.d.ts +44 -0
  54. package/dist/containers/card-container.js +282 -0
  55. package/dist/containers/card-container.js.map +1 -0
  56. package/dist/containers/project/project-paths.d.ts +46 -0
  57. package/dist/containers/project/project-paths.js +105 -0
  58. package/dist/containers/project/project-paths.js.map +1 -0
  59. package/dist/containers/project/resource-collector.d.ts +86 -0
  60. package/dist/containers/project/resource-collector.js +331 -0
  61. package/dist/containers/project/resource-collector.js.map +1 -0
  62. package/dist/containers/project.d.ts +351 -0
  63. package/dist/containers/project.js +896 -0
  64. package/dist/containers/project.js.map +1 -0
  65. package/dist/containers/template.d.ts +108 -0
  66. package/dist/containers/template.js +433 -0
  67. package/dist/containers/template.js.map +1 -0
  68. package/dist/exceptions/index.d.ts +19 -0
  69. package/dist/exceptions/index.js +26 -0
  70. package/dist/exceptions/index.js.map +1 -0
  71. package/dist/index.d.ts +16 -0
  72. package/dist/index.js +15 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/interfaces/adoc.d.ts +12 -0
  75. package/dist/interfaces/adoc.js +13 -0
  76. package/dist/interfaces/adoc.js.map +1 -0
  77. package/dist/interfaces/macros.d.ts +45 -0
  78. package/dist/interfaces/macros.js +13 -0
  79. package/dist/interfaces/macros.js.map +1 -0
  80. package/dist/interfaces/project-interfaces.d.ts +121 -0
  81. package/dist/interfaces/project-interfaces.js +21 -0
  82. package/dist/interfaces/project-interfaces.js.map +1 -0
  83. package/dist/interfaces/request-status-interfaces.d.ts +28 -0
  84. package/dist/interfaces/request-status-interfaces.js +20 -0
  85. package/dist/interfaces/request-status-interfaces.js.map +1 -0
  86. package/dist/interfaces/resource-interfaces.d.ts +117 -0
  87. package/dist/interfaces/resource-interfaces.js +20 -0
  88. package/dist/interfaces/resource-interfaces.js.map +1 -0
  89. package/dist/macros/base-macro.d.ts +31 -0
  90. package/dist/macros/base-macro.js +126 -0
  91. package/dist/macros/base-macro.js.map +1 -0
  92. package/dist/macros/common.d.ts +17 -0
  93. package/dist/macros/common.js +23 -0
  94. package/dist/macros/common.js.map +1 -0
  95. package/dist/macros/createCards/index.d.ts +36 -0
  96. package/dist/macros/createCards/index.js +35 -0
  97. package/dist/macros/createCards/index.js.map +1 -0
  98. package/dist/macros/createCards/metadata.d.ts +14 -0
  99. package/dist/macros/createCards/metadata.js +18 -0
  100. package/dist/macros/createCards/metadata.js.map +1 -0
  101. package/dist/macros/graph/index.d.ts +29 -0
  102. package/dist/macros/graph/index.js +91 -0
  103. package/dist/macros/graph/index.js.map +1 -0
  104. package/dist/macros/graph/metadata.d.ts +14 -0
  105. package/dist/macros/graph/metadata.js +18 -0
  106. package/dist/macros/graph/metadata.js.map +1 -0
  107. package/dist/macros/index.d.ts +93 -0
  108. package/dist/macros/index.js +237 -0
  109. package/dist/macros/index.js.map +1 -0
  110. package/dist/macros/report/index.d.ts +26 -0
  111. package/dist/macros/report/index.js +70 -0
  112. package/dist/macros/report/index.js.map +1 -0
  113. package/dist/macros/report/metadata.d.ts +14 -0
  114. package/dist/macros/report/metadata.js +18 -0
  115. package/dist/macros/report/metadata.js.map +1 -0
  116. package/dist/macros/scoreCard/index.d.ts +30 -0
  117. package/dist/macros/scoreCard/index.js +38 -0
  118. package/dist/macros/scoreCard/index.js.map +1 -0
  119. package/dist/macros/scoreCard/metadata.d.ts +14 -0
  120. package/dist/macros/scoreCard/metadata.js +18 -0
  121. package/dist/macros/scoreCard/metadata.js.map +1 -0
  122. package/dist/macros/task-queue.d.ts +46 -0
  123. package/dist/macros/task-queue.js +69 -0
  124. package/dist/macros/task-queue.js.map +1 -0
  125. package/dist/module-manager.d.ts +62 -0
  126. package/dist/module-manager.js +350 -0
  127. package/dist/module-manager.js.map +1 -0
  128. package/dist/permissions/action-guard.d.ts +28 -0
  129. package/dist/permissions/action-guard.js +61 -0
  130. package/dist/permissions/action-guard.js.map +1 -0
  131. package/dist/project-settings.d.ts +42 -0
  132. package/dist/project-settings.js +120 -0
  133. package/dist/project-settings.js.map +1 -0
  134. package/dist/resources/array-handler.d.ts +28 -0
  135. package/dist/resources/array-handler.js +116 -0
  136. package/dist/resources/array-handler.js.map +1 -0
  137. package/dist/resources/card-type-resource.d.ts +72 -0
  138. package/dist/resources/card-type-resource.js +334 -0
  139. package/dist/resources/card-type-resource.js.map +1 -0
  140. package/dist/resources/create-defaults.d.ts +81 -0
  141. package/dist/resources/create-defaults.js +184 -0
  142. package/dist/resources/create-defaults.js.map +1 -0
  143. package/dist/resources/field-type-resource.d.ts +88 -0
  144. package/dist/resources/field-type-resource.js +411 -0
  145. package/dist/resources/field-type-resource.js.map +1 -0
  146. package/dist/resources/file-resource.d.ts +50 -0
  147. package/dist/resources/file-resource.js +301 -0
  148. package/dist/resources/file-resource.js.map +1 -0
  149. package/dist/resources/folder-resource.d.ts +66 -0
  150. package/dist/resources/folder-resource.js +100 -0
  151. package/dist/resources/folder-resource.js.map +1 -0
  152. package/dist/resources/graph-model-resource.d.ts +78 -0
  153. package/dist/resources/graph-model-resource.js +164 -0
  154. package/dist/resources/graph-model-resource.js.map +1 -0
  155. package/dist/resources/graph-view-resource.d.ts +78 -0
  156. package/dist/resources/graph-view-resource.js +163 -0
  157. package/dist/resources/graph-view-resource.js.map +1 -0
  158. package/dist/resources/link-type-resource.d.ts +62 -0
  159. package/dist/resources/link-type-resource.js +150 -0
  160. package/dist/resources/link-type-resource.js.map +1 -0
  161. package/dist/resources/report-resource.d.ts +77 -0
  162. package/dist/resources/report-resource.js +171 -0
  163. package/dist/resources/report-resource.js.map +1 -0
  164. package/dist/resources/resource-object.d.ts +108 -0
  165. package/dist/resources/resource-object.js +147 -0
  166. package/dist/resources/resource-object.js.map +1 -0
  167. package/dist/resources/template-resource.d.ts +82 -0
  168. package/dist/resources/template-resource.js +173 -0
  169. package/dist/resources/template-resource.js.map +1 -0
  170. package/dist/resources/workflow-resource.d.ts +67 -0
  171. package/dist/resources/workflow-resource.js +156 -0
  172. package/dist/resources/workflow-resource.js.map +1 -0
  173. package/dist/types/queries.d.ts +142 -0
  174. package/dist/types/queries.js +16 -0
  175. package/dist/types/queries.js.map +1 -0
  176. package/dist/utils/card-utils.d.ts +34 -0
  177. package/dist/utils/card-utils.js +78 -0
  178. package/dist/utils/card-utils.js.map +1 -0
  179. package/dist/utils/clingo-fact-builder.d.ts +58 -0
  180. package/dist/utils/clingo-fact-builder.js +126 -0
  181. package/dist/utils/clingo-fact-builder.js.map +1 -0
  182. package/dist/utils/clingo-facts.d.ts +97 -0
  183. package/dist/utils/clingo-facts.js +352 -0
  184. package/dist/utils/clingo-facts.js.map +1 -0
  185. package/dist/utils/clingo-parser.d.ts +59 -0
  186. package/dist/utils/clingo-parser.js +403 -0
  187. package/dist/utils/clingo-parser.js.map +1 -0
  188. package/dist/utils/clingo-program-builder.d.ts +39 -0
  189. package/dist/utils/clingo-program-builder.js +57 -0
  190. package/dist/utils/clingo-program-builder.js.map +1 -0
  191. package/dist/utils/common-utils.d.ts +24 -0
  192. package/dist/utils/common-utils.js +47 -0
  193. package/dist/utils/common-utils.js.map +1 -0
  194. package/dist/utils/constants.d.ts +18 -0
  195. package/dist/utils/constants.js +27 -0
  196. package/dist/utils/constants.js.map +1 -0
  197. package/dist/utils/csv.d.ts +18 -0
  198. package/dist/utils/csv.js +45 -0
  199. package/dist/utils/csv.js.map +1 -0
  200. package/dist/utils/file-utils.d.ts +69 -0
  201. package/dist/utils/file-utils.js +158 -0
  202. package/dist/utils/file-utils.js.map +1 -0
  203. package/dist/utils/json.d.ts +61 -0
  204. package/dist/utils/json.js +108 -0
  205. package/dist/utils/json.js.map +1 -0
  206. package/dist/utils/lexorank.d.ts +59 -0
  207. package/dist/utils/lexorank.js +159 -0
  208. package/dist/utils/lexorank.js.map +1 -0
  209. package/dist/utils/log-utils.d.ts +40 -0
  210. package/dist/utils/log-utils.js +109 -0
  211. package/dist/utils/log-utils.js.map +1 -0
  212. package/dist/utils/random.d.ts +19 -0
  213. package/dist/utils/random.js +34 -0
  214. package/dist/utils/random.js.map +1 -0
  215. package/dist/utils/resource-utils.d.ts +45 -0
  216. package/dist/utils/resource-utils.js +137 -0
  217. package/dist/utils/resource-utils.js.map +1 -0
  218. package/dist/utils/sanitize-svg.d.ts +18 -0
  219. package/dist/utils/sanitize-svg.js +38 -0
  220. package/dist/utils/sanitize-svg.js.map +1 -0
  221. package/dist/utils/user-preferences.d.ts +64 -0
  222. package/dist/utils/user-preferences.js +106 -0
  223. package/dist/utils/user-preferences.js.map +1 -0
  224. package/dist/utils/validate.d.ts +26 -0
  225. package/dist/utils/validate.js +53 -0
  226. package/dist/utils/validate.js.map +1 -0
  227. package/dist/utils/value-utils.d.ts +58 -0
  228. package/dist/utils/value-utils.js +181 -0
  229. package/dist/utils/value-utils.js.map +1 -0
  230. package/package.json +67 -0
  231. package/src/card-metadata-updater.ts +182 -0
  232. package/src/command-handler.ts +686 -0
  233. package/src/command-manager.ts +99 -0
  234. package/src/commands/calculate.ts +591 -0
  235. package/src/commands/create.ts +559 -0
  236. package/src/commands/edit.ts +123 -0
  237. package/src/commands/export-site.ts +356 -0
  238. package/src/commands/export.ts +315 -0
  239. package/src/commands/import.ts +169 -0
  240. package/src/commands/index.ts +42 -0
  241. package/src/commands/move.ts +451 -0
  242. package/src/commands/remove.ts +244 -0
  243. package/src/commands/rename.ts +378 -0
  244. package/src/commands/show.ts +442 -0
  245. package/src/commands/transition.ts +127 -0
  246. package/src/commands/update.ts +76 -0
  247. package/src/commands/validate.ts +962 -0
  248. package/src/containers/card-container.ts +378 -0
  249. package/src/containers/project/project-paths.ts +127 -0
  250. package/src/containers/project/resource-collector.ts +379 -0
  251. package/src/containers/project.ts +1135 -0
  252. package/src/containers/template.ts +573 -0
  253. package/src/exceptions/index.ts +29 -0
  254. package/src/index.ts +33 -0
  255. package/src/interfaces/adoc.ts +18 -0
  256. package/src/interfaces/macros.ts +54 -0
  257. package/src/interfaces/project-interfaces.ts +208 -0
  258. package/src/interfaces/request-status-interfaces.ts +30 -0
  259. package/src/interfaces/resource-interfaces.ts +179 -0
  260. package/src/macros/base-macro.ts +176 -0
  261. package/src/macros/common.ts +24 -0
  262. package/src/macros/createCards/index.ts +57 -0
  263. package/src/macros/createCards/metadata.ts +21 -0
  264. package/src/macros/graph/index.ts +130 -0
  265. package/src/macros/graph/metadata.ts +21 -0
  266. package/src/macros/index.ts +321 -0
  267. package/src/macros/report/index.ts +88 -0
  268. package/src/macros/report/metadata.ts +21 -0
  269. package/src/macros/scoreCard/index.ts +55 -0
  270. package/src/macros/scoreCard/metadata.ts +21 -0
  271. package/src/macros/task-queue.ts +79 -0
  272. package/src/module-manager.ts +443 -0
  273. package/src/permissions/action-guard.ts +77 -0
  274. package/src/project-settings.ts +140 -0
  275. package/src/resources/array-handler.ts +141 -0
  276. package/src/resources/card-type-resource.ts +455 -0
  277. package/src/resources/create-defaults.ts +216 -0
  278. package/src/resources/field-type-resource.ts +533 -0
  279. package/src/resources/file-resource.ts +433 -0
  280. package/src/resources/folder-resource.ts +140 -0
  281. package/src/resources/graph-model-resource.ts +205 -0
  282. package/src/resources/graph-view-resource.ts +199 -0
  283. package/src/resources/link-type-resource.ts +191 -0
  284. package/src/resources/report-resource.ts +224 -0
  285. package/src/resources/resource-object.ts +246 -0
  286. package/src/resources/template-resource.ts +210 -0
  287. package/src/resources/workflow-resource.ts +205 -0
  288. package/src/types/queries.ts +149 -0
  289. package/src/utils/card-utils.ts +83 -0
  290. package/src/utils/clingo-fact-builder.ts +167 -0
  291. package/src/utils/clingo-facts.ts +550 -0
  292. package/src/utils/clingo-parser.ts +519 -0
  293. package/src/utils/clingo-program-builder.ts +71 -0
  294. package/src/utils/common-utils.ts +54 -0
  295. package/src/utils/constants.ts +32 -0
  296. package/src/utils/csv.ts +53 -0
  297. package/src/utils/file-utils.ts +182 -0
  298. package/src/utils/json.ts +118 -0
  299. package/src/utils/lexorank.ts +180 -0
  300. package/src/utils/log-utils.ts +127 -0
  301. package/src/utils/random.ts +37 -0
  302. package/src/utils/resource-utils.ts +180 -0
  303. package/src/utils/sanitize-svg.ts +46 -0
  304. package/src/utils/user-preferences.ts +126 -0
  305. package/src/utils/validate.ts +66 -0
  306. package/src/utils/value-utils.ts +189 -0
@@ -0,0 +1,351 @@
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
6
+ the terms of the GNU Affero General Public License version 3 as published by
7
+ the Free Software Foundation. This program is distributed in the hope that it
8
+ will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
9
+ of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
+ See the GNU Affero General Public License for more details.
11
+ You should have received a copy of the GNU Affero General Public
12
+ License along with this program. If not, see <https://www.gnu.org/licenses/>.
13
+ */
14
+ import { CardContainer } from './card-container.js';
15
+ import { type Card, type CardAttachment, CardLocation, type CardListContainer, type CardMetadata, type FetchCardDetails, type MetadataContent, type ModuleContent, type ModuleSetting, type ProjectFetchCardDetails, type ProjectMetadata, type Resource, type ResourceFolderType } from '../interfaces/project-interfaces.js';
16
+ import { ProjectConfiguration } from '../project-settings.js';
17
+ import { ProjectPaths } from './project/project-paths.js';
18
+ import { type ResourceName } from '../utils/resource-utils.js';
19
+ import { ResourcesFrom } from './project/resource-collector.js';
20
+ import type { Template } from './template.js';
21
+ import { CardTypeResource } from '../resources/card-type-resource.js';
22
+ import { FieldTypeResource } from '../resources/field-type-resource.js';
23
+ import { GraphModelResource } from '../resources/graph-model-resource.js';
24
+ import { GraphViewResource } from '../resources/graph-view-resource.js';
25
+ import { LinkTypeResource } from '../resources/link-type-resource.js';
26
+ import { ReportResource } from '../resources/report-resource.js';
27
+ import { TemplateResource } from '../resources/template-resource.js';
28
+ import { WorkflowResource } from '../resources/workflow-resource.js';
29
+ export { ResourcesFrom };
30
+ /**
31
+ * Represents project folder.
32
+ */
33
+ export declare class Project extends CardContainer {
34
+ private resources;
35
+ private projectPaths;
36
+ private settings;
37
+ private validator;
38
+ private createdResources;
39
+ constructor(path: string);
40
+ private findModule;
41
+ private resourcesOfType;
42
+ /**
43
+ * Add a given 'resource' to the local resource arrays.
44
+ * @param resource Resource to add.
45
+ */
46
+ addResource(resource: Resource, data: JSON): void;
47
+ /**
48
+ * Returns an array of all the attachments in the project card's (excluding ones in templates).
49
+ * @returns all attachments in the project.
50
+ */
51
+ attachments(): Promise<CardAttachment[]>;
52
+ /**
53
+ * Returns an array of all the calculation files (*.lp) in the project.
54
+ * @param from Defines where resources are collected from.
55
+ * @returns array of all calculation files in the project.
56
+ */
57
+ calculations(from?: ResourcesFrom): Promise<Resource[]>;
58
+ /**
59
+ * Returns path to card's attachment folder.
60
+ * @param cardKey card key
61
+ * @returns path to card's attachment folder.
62
+ */
63
+ cardAttachmentFolder(cardKey: string): Promise<string>;
64
+ /**
65
+ * Returns details (as defined by cardDetails) of a card.
66
+ * @param cardKey card key (project prefix and a number, e.g. test_1)
67
+ * @param cardDetails which card details are returned.
68
+ * @returns Card details, or undefined if the card cannot be found.
69
+ */
70
+ cardDetailsById(cardKey: string, cardDetails: ProjectFetchCardDetails): Promise<Card | undefined>;
71
+ /**
72
+ * Returns path to card's folder.
73
+ * @param cardKey card key
74
+ * @returns path to card's folder.
75
+ */
76
+ cardFolder(cardKey: string): Promise<string>;
77
+ /**
78
+ * Splits card path to parts. Returns the parts.
79
+ * Returned parts are: prefix, card key, array of parents and template name. Template name is returned only for template cards.
80
+ * @param cardPath path to a card
81
+ * @returns card path logical parts
82
+ * todo: if prefix would be parameter; this could be static, or util method
83
+ */
84
+ cardPathParts(cardPath: string): {
85
+ cardKey: string | undefined;
86
+ parents: (string | undefined)[];
87
+ prefix: string;
88
+ template: string;
89
+ };
90
+ /**
91
+ * Returns an array of all the cards in the project. Cards have content and metadata
92
+ * @param path Optional path from which to fetch the cards. Generally it is best to fetch from Project root, e.g. Project.cardRootFolder
93
+ * @param details Which details to include in the cards; by default only "content" and "metadata" are included.
94
+ * @returns all cards from the given path in the project.
95
+ */
96
+ cards(path?: string, details?: FetchCardDetails): Promise<Card[]>;
97
+ /**
98
+ * Returns an array of all the card types in the project.
99
+ * @param from Defines where resources are collected from.
100
+ * @returns array of all card types in the project.
101
+ */
102
+ cardTypes(from?: ResourcesFrom): Promise<Resource[]>;
103
+ /**
104
+ * Updates all local resources.
105
+ */
106
+ collectLocalResources(): void;
107
+ /**
108
+ * Updates all imported module resources.
109
+ */
110
+ collectModuleResources(): Promise<void>;
111
+ /**
112
+ * Returns project configuration.
113
+ * @returns project configuration.
114
+ */
115
+ get configuration(): ProjectConfiguration;
116
+ /**
117
+ * Creates a Template object from template Card. It is ensured that the template is part of project.
118
+ * @param card Card that is part of some template.
119
+ * @returns Template object, or undefined if card is not part of template.
120
+ */
121
+ createTemplateObjectFromCard(card: Card): Template | undefined;
122
+ /**
123
+ * Returns an array of all the field types in the project.
124
+ * @param from Defines where resources are collected from.
125
+ * @returns array of all field types in the project.
126
+ */
127
+ fieldTypes(from?: ResourcesFrom): Promise<Resource[]>;
128
+ /**
129
+ * Finds root of a project
130
+ * @param path Path where to start looking for the project root.
131
+ * @returns path to a project root, or empty string.
132
+ */
133
+ static findProjectRoot(path: string): Promise<string>;
134
+ /**
135
+ * Returns specific card.
136
+ * @param cardToFind Card key to find
137
+ * @param details Defines which card details are included in the return values.
138
+ * @returns specific card details, or undefined if card is not part of the project.
139
+ */
140
+ findSpecificCard(cardToFind: string, details?: ProjectFetchCardDetails): Promise<Card | undefined>;
141
+ /**
142
+ * Returns an array of all the graph models in the project.
143
+ * @param from Defines where resources are collected from.
144
+ * @returns array of all the graph models in the project.
145
+ */
146
+ graphModels(from?: ResourcesFrom): Promise<Resource[]>;
147
+ /**
148
+ * Returns an array of all the graph views in the project.
149
+ * @param from Defines where resources are collected from.
150
+ * @returns array of all the graph views in the project.
151
+ */
152
+ graphViews(from?: ResourcesFrom): Promise<Resource[]>;
153
+ /**
154
+ * Checks if a given card is part of this project.
155
+ * @param cardKey card to check.
156
+ * @returns true if a given card is found from project, false otherwise.
157
+ */
158
+ hasCard(cardKey: string): boolean;
159
+ /**
160
+ * Adds a module from project.
161
+ * @param moduleName Name of the module
162
+ */
163
+ importModule(module: ModuleSetting): Promise<void>;
164
+ /**
165
+ * Checks if given path is a project.
166
+ * @param path Path to a project
167
+ * @returns true, if in the given path there is a project; false otherwise
168
+ */
169
+ static isCreated(path: string): boolean;
170
+ /**
171
+ * Returns whether card is a template card or not
172
+ * @param cardKey card to check.
173
+ * @todo: This is only used from 'remove'. Could it use the static checker?
174
+ */
175
+ isTemplateCard(cardKey: string): Promise<boolean>;
176
+ /**
177
+ * Returns an array of all the link types in the project.
178
+ * @param from Defines where resources are collected from.
179
+ * @returns array of all link types in the project.
180
+ */
181
+ linkTypes(from?: ResourcesFrom): Promise<Resource[]>;
182
+ /**
183
+ * Returns an array of cards in the project, in the templates or both.
184
+ * Cards don't have content and nor metadata.
185
+ * @param includeCardsFrom Where to return cards from (project, templates, or both)
186
+ * @returns all cards in the project.
187
+ */
188
+ listCards(cardsFrom?: CardLocation): Promise<CardListContainer[]>;
189
+ /**
190
+ * Return cardIDs of the cards in the project or from templates, or both.
191
+ * @param includeCardsFrom Where to return cards from (project, templates, or both)
192
+ * @returns Array of cardIDs.
193
+ * @note that cardIDs are not sorted.
194
+ */
195
+ listCardIds(cardsFrom?: CardLocation): Promise<Set<string>>;
196
+ /**
197
+ * Returns details of a certain module.
198
+ * @param moduleName Name of the module.
199
+ * @returns module details, or undefined if workflow cannot be found.
200
+ */
201
+ module(moduleName: string): Promise<ModuleContent | undefined>;
202
+ /**
203
+ * Returns list of modules in the project.
204
+ * @returns list of modules in the project.
205
+ */
206
+ modules(): Promise<Resource[]>;
207
+ /**
208
+ * Returns a new unique card key with project prefix (e.g. test_x649it4x).
209
+ * Random part of string will be always 8 characters in base-36 (0-9a-z)
210
+ * @returns a new card key string
211
+ * @throws if a unique key could not be created within set number of attempts
212
+ */
213
+ newCardKey(cardIds: Set<string>): string;
214
+ /**
215
+ * Returns an array of new unique card keys with project prefix (e.g. test_x649it4x).
216
+ * Random part of string will be always 8 characters in base-36 (0-9a-z)
217
+ * @returns an array of new card key strings
218
+ * @throws if a unique key could not be created within set number of attempts
219
+ */
220
+ newCardKeys(keysToCreate: number, cardIds: Set<string>): string[];
221
+ /**
222
+ * Getter. Returns a class that handles the project's paths.
223
+ */
224
+ get paths(): ProjectPaths;
225
+ /**
226
+ * Returns full path to a given card.
227
+ * @param cardKey card to check path for.
228
+ * @returns path to a given card.
229
+ */
230
+ pathToCard(cardKey: string): string;
231
+ /**
232
+ * Getter. Returns project name.
233
+ */
234
+ get projectName(): string;
235
+ /**
236
+ * Getter. Returns project prefix.
237
+ */
238
+ get projectPrefix(): string;
239
+ /**
240
+ * Collects all prefixes used in the project (project's own plus all from modules).
241
+ * @returns all prefixes used in the project.
242
+ * @todo - move the module prefix fetch to resource-collector.
243
+ * Make it use cached value that is only changed when module is removed/imported.
244
+ */
245
+ projectPrefixes(): Promise<string[]>;
246
+ /**
247
+ * Removes a module from project.
248
+ * @param moduleName Name of the module
249
+ */
250
+ removeModule(moduleName: string): Promise<void>;
251
+ /**
252
+ * Array of reports in the project.
253
+ * @param from Defines where resources are collected from.
254
+ * @returns array of all reports in the project.
255
+ */
256
+ reports(from?: ResourcesFrom): Promise<Resource[]>;
257
+ /**
258
+ * Returns handlebar files from reports.
259
+ * @param from Defines where report handlebar files are collected from.
260
+ * @returns handlebar files from reports.
261
+ */
262
+ reportHandlerBarFiles(from?: ResourcesFrom): Promise<string[]>;
263
+ /**
264
+ * Removes a resource from Project.
265
+ * @param resource Resource to remove.
266
+ */
267
+ removeResource(resource: Resource): void;
268
+ /**
269
+ * Returns metadata from a given resource
270
+ * @param name Name of a resource
271
+ * @returns Metadata from the resource.
272
+ */
273
+ resource<Type>(name: string): Promise<Type | undefined>;
274
+ get resourceCache(): Map<string, JSON>;
275
+ /**
276
+ * Checks if a given resource exists in the project already.
277
+ * @param resourceType Type of resource as a string.
278
+ * @param name Valid name of resource.
279
+ * @returns boolean, true if resource exists; false otherwise.
280
+ */
281
+ resourceExists(resourceType: ResourceFolderType, name: string): Promise<boolean>;
282
+ /**
283
+ * Instantiates resource object from project with a resource name.
284
+ * @note that this is memory based object only.
285
+ * To manipulate the resource (create files, delete files etc), use the resource object's API.
286
+ * @param project Project from which resources are created from.
287
+ * @param name Resource name
288
+ * @throws if called with unsupported resource type.
289
+ * @returns Created resource.
290
+ */
291
+ static resourceObject(project: Project, name: ResourceName): LinkTypeResource | CardTypeResource | FieldTypeResource | GraphModelResource | GraphViewResource | ReportResource | TemplateResource | WorkflowResource;
292
+ /**
293
+ * Shows details of a project.
294
+ * @returns details of a project.
295
+ */
296
+ show(): Promise<ProjectMetadata>;
297
+ /**
298
+ * Show cards of a project.
299
+ * @returns an array of all project cards in the project.
300
+ */
301
+ showProjectCards(): Promise<Card[]>;
302
+ /**
303
+ * Returns all template cards from the project. This includes all module templates' cards.
304
+ * @param cardDetails which details to fetch. Optional.
305
+ * @returns all the template cards from the project
306
+ */
307
+ allTemplateCards(cardDetails?: FetchCardDetails): Promise<Card[]>;
308
+ /**
309
+ * Returns cards from single template.
310
+ * @param templateName Name of the template
311
+ * @param cardDetails Card information
312
+ * @returns List of cards from template.
313
+ */
314
+ templateCards(templateName: string, cardDetails?: FetchCardDetails): Promise<Card[]>;
315
+ /**
316
+ * Array of templates in the project.
317
+ * @param from Defines where resources are collected from.
318
+ * @returns array of all templates in the project.
319
+ */
320
+ templates(from?: ResourcesFrom): Promise<Resource[]>;
321
+ /**
322
+ * Update card content.
323
+ * @param cardKey card's ID that is updated.
324
+ * @param content changed content
325
+ */
326
+ updateCardContent(cardKey: string, content: string): Promise<void>;
327
+ /**
328
+ * Updates card metadata's single key.
329
+ * @param cardKey card that is updated.
330
+ * @param changedKey changed metadata key
331
+ * @param newValue changed value for the key
332
+ */
333
+ updateCardMetadataKey(cardKey: string, changedKey: string, newValue: MetadataContent): Promise<void>;
334
+ /**
335
+ * Updates card metadata.
336
+ * @param card affected card
337
+ * @param changedMetadata changed content for the card
338
+ */
339
+ updateCardMetadata(card: Card, changedMetadata: CardMetadata): Promise<void>;
340
+ /**
341
+ * Validates that card's data is valid.
342
+ * @param card Card to validate.
343
+ */
344
+ validateCard(card: Card): Promise<string>;
345
+ /**
346
+ * Array of workflows in the project.
347
+ * @param from Defines where resources are collected from.
348
+ * @returns array of all workflows in the project.
349
+ */
350
+ workflows(from?: ResourcesFrom): Promise<Resource[]>;
351
+ }