@cyberismo/backend 0.0.20 → 0.0.22

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 (131) hide show
  1. package/dist/app.d.ts +5 -2
  2. package/dist/app.js +22 -9
  3. package/dist/app.js.map +1 -1
  4. package/dist/auth/index.d.ts +16 -0
  5. package/dist/auth/index.js +15 -0
  6. package/dist/auth/index.js.map +1 -0
  7. package/dist/auth/keycloak.d.ts +27 -0
  8. package/dist/auth/keycloak.js +81 -0
  9. package/dist/auth/keycloak.js.map +1 -0
  10. package/dist/auth/mock.d.ts +23 -0
  11. package/dist/auth/mock.js +28 -0
  12. package/dist/auth/mock.js.map +1 -0
  13. package/dist/auth/types.d.ts +16 -0
  14. package/dist/auth/types.js +14 -0
  15. package/dist/auth/types.js.map +1 -0
  16. package/dist/domain/auth/index.d.ts +14 -0
  17. package/dist/domain/auth/index.js +30 -0
  18. package/dist/domain/auth/index.js.map +1 -0
  19. package/dist/domain/calculations/index.js +3 -1
  20. package/dist/domain/calculations/index.js.map +1 -1
  21. package/dist/domain/calculations/service.js +13 -11
  22. package/dist/domain/calculations/service.js.map +1 -1
  23. package/dist/domain/cardTypes/index.js +5 -3
  24. package/dist/domain/cardTypes/index.js.map +1 -1
  25. package/dist/domain/cardTypes/service.js +24 -72
  26. package/dist/domain/cardTypes/service.js.map +1 -1
  27. package/dist/domain/cards/index.js +19 -15
  28. package/dist/domain/cards/index.js.map +1 -1
  29. package/dist/domain/cards/lib.js +95 -93
  30. package/dist/domain/cards/lib.js.map +1 -1
  31. package/dist/domain/cards/service.d.ts +2 -1
  32. package/dist/domain/cards/service.js +60 -87
  33. package/dist/domain/cards/service.js.map +1 -1
  34. package/dist/domain/fieldTypes/index.js +4 -2
  35. package/dist/domain/fieldTypes/index.js.map +1 -1
  36. package/dist/domain/graphModels/index.js +3 -1
  37. package/dist/domain/graphModels/index.js.map +1 -1
  38. package/dist/domain/graphViews/index.js +3 -1
  39. package/dist/domain/graphViews/index.js.map +1 -1
  40. package/dist/domain/labels/index.js +4 -2
  41. package/dist/domain/labels/index.js.map +1 -1
  42. package/dist/domain/labels/service.d.ts +1 -1
  43. package/dist/domain/labels/service.js +2 -2
  44. package/dist/domain/labels/service.js.map +1 -1
  45. package/dist/domain/linkTypes/index.js +4 -2
  46. package/dist/domain/linkTypes/index.js.map +1 -1
  47. package/dist/domain/logicPrograms/index.js +3 -1
  48. package/dist/domain/logicPrograms/index.js.map +1 -1
  49. package/dist/domain/mcp/index.d.ts +15 -0
  50. package/dist/domain/mcp/index.js +127 -0
  51. package/dist/domain/mcp/index.js.map +1 -0
  52. package/dist/domain/project/index.js +7 -5
  53. package/dist/domain/project/index.js.map +1 -1
  54. package/dist/domain/project/service.js +18 -14
  55. package/dist/domain/project/service.js.map +1 -1
  56. package/dist/domain/reports/index.js +3 -1
  57. package/dist/domain/reports/index.js.map +1 -1
  58. package/dist/domain/resources/index.js +6 -4
  59. package/dist/domain/resources/index.js.map +1 -1
  60. package/dist/domain/resources/schema.d.ts +1 -0
  61. package/dist/domain/resources/schema.js +1 -0
  62. package/dist/domain/resources/schema.js.map +1 -1
  63. package/dist/domain/resources/service.js +66 -64
  64. package/dist/domain/resources/service.js.map +1 -1
  65. package/dist/domain/templates/index.js +5 -3
  66. package/dist/domain/templates/index.js.map +1 -1
  67. package/dist/domain/tree/index.js +3 -1
  68. package/dist/domain/tree/index.js.map +1 -1
  69. package/dist/domain/workflows/index.js +3 -1
  70. package/dist/domain/workflows/index.js.map +1 -1
  71. package/dist/export.d.ts +6 -5
  72. package/dist/export.js +15 -11
  73. package/dist/export.js.map +1 -1
  74. package/dist/index.d.ts +8 -2
  75. package/dist/index.js +5 -3
  76. package/dist/index.js.map +1 -1
  77. package/dist/main.js +29 -2
  78. package/dist/main.js.map +1 -1
  79. package/dist/middleware/auth.d.ts +40 -0
  80. package/dist/middleware/auth.js +68 -0
  81. package/dist/middleware/auth.js.map +1 -0
  82. package/dist/middleware/commandManager.d.ts +2 -2
  83. package/dist/middleware/commandManager.js +9 -11
  84. package/dist/middleware/commandManager.js.map +1 -1
  85. package/dist/middleware/zvalidator.d.ts +1 -1
  86. package/dist/public/THIRD-PARTY.txt +147 -51
  87. package/dist/public/assets/index-B_lh6qtv.css +1 -0
  88. package/dist/public/assets/{index-DP0xZy_p.js → index-CEol8Bfi.js} +54255 -49274
  89. package/dist/public/config.json +1 -0
  90. package/dist/public/index.html +2 -2
  91. package/dist/types.d.ts +25 -0
  92. package/dist/types.js +13 -1
  93. package/dist/types.js.map +1 -1
  94. package/package.json +10 -7
  95. package/src/app.ts +34 -14
  96. package/src/auth/index.ts +17 -0
  97. package/src/auth/keycloak.ts +109 -0
  98. package/src/auth/mock.ts +38 -0
  99. package/src/auth/types.ts +18 -0
  100. package/src/domain/auth/index.ts +35 -0
  101. package/src/domain/calculations/index.ts +13 -6
  102. package/src/domain/calculations/service.ts +16 -14
  103. package/src/domain/cardTypes/index.ts +24 -16
  104. package/src/domain/cardTypes/service.ts +41 -95
  105. package/src/domain/cards/index.ts +62 -44
  106. package/src/domain/cards/lib.ts +105 -100
  107. package/src/domain/cards/service.ts +73 -89
  108. package/src/domain/fieldTypes/index.ts +23 -16
  109. package/src/domain/graphModels/index.ts +13 -6
  110. package/src/domain/graphViews/index.ts +13 -6
  111. package/src/domain/labels/index.ts +5 -2
  112. package/src/domain/labels/service.ts +2 -2
  113. package/src/domain/linkTypes/index.ts +14 -7
  114. package/src/domain/logicPrograms/index.ts +3 -0
  115. package/src/domain/mcp/index.ts +159 -0
  116. package/src/domain/project/index.ts +17 -8
  117. package/src/domain/project/service.ts +20 -16
  118. package/src/domain/reports/index.ts +13 -6
  119. package/src/domain/resources/index.ts +6 -1
  120. package/src/domain/resources/schema.ts +1 -0
  121. package/src/domain/resources/service.ts +102 -97
  122. package/src/domain/templates/index.ts +31 -19
  123. package/src/domain/tree/index.ts +3 -1
  124. package/src/domain/workflows/index.ts +13 -6
  125. package/src/export.ts +16 -13
  126. package/src/index.ts +10 -3
  127. package/src/main.ts +44 -2
  128. package/src/middleware/auth.ts +90 -0
  129. package/src/middleware/commandManager.ts +11 -14
  130. package/src/types.ts +27 -0
  131. package/dist/public/assets/index-CRSBseQM.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/cardTypes/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/domain/cardTypes/service.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ import { Hono } from 'hono';
14
14
  import { getCardDetails } from './lib.js';
15
15
  import * as cardService from './service.js';
16
16
  import { isSSGContext, ssgParams } from 'hono/ssg';
17
+ import { UserRole } from '../../types.js';
18
+ import { requireRole } from '../../middleware/auth.js';
17
19
  const router = new Hono();
18
20
  /**
19
21
  * @swagger
@@ -29,7 +31,7 @@ const router = new Hono();
29
31
  * 500:
30
32
  * description: project_path not set.
31
33
  */
32
- router.get('/', async (c) => {
34
+ router.get('/', requireRole(UserRole.Reader), async (c) => {
33
35
  const commands = c.get('commands');
34
36
  try {
35
37
  const response = await cardService.getProjectInfo(commands);
@@ -64,7 +66,7 @@ router.get('/', async (c) => {
64
66
  * 500:
65
67
  * description: project_path not set.
66
68
  */
67
- router.get('/:key', ssgParams(async (c) => {
69
+ router.get('/:key', requireRole(UserRole.Reader), ssgParams(async (c) => {
68
70
  const commands = c.get('commands');
69
71
  const opts = c.get('tree');
70
72
  const cards = await cardService.findAllCards(commands, opts);
@@ -121,7 +123,7 @@ router.get('/:key', ssgParams(async (c) => {
121
123
  * 500:
122
124
  * description: project_path not set.
123
125
  */
124
- router.patch('/:key', async (c) => {
126
+ router.patch('/:key', requireRole(UserRole.Editor), async (c) => {
125
127
  const commands = c.get('commands');
126
128
  const key = c.req.param('key');
127
129
  if (!key) {
@@ -165,7 +167,7 @@ router.patch('/:key', async (c) => {
165
167
  * 500:
166
168
  * description: project_path not set.
167
169
  */
168
- router.delete('/:key', async (c) => {
170
+ router.delete('/:key', requireRole(UserRole.Editor), async (c) => {
169
171
  const commands = c.get('commands');
170
172
  const key = c.req.param('key');
171
173
  if (!key) {
@@ -204,7 +206,7 @@ router.delete('/:key', async (c) => {
204
206
  * 500:
205
207
  * description: project_path not set
206
208
  */
207
- router.post('/:key', async (c) => {
209
+ router.post('/:key', requireRole(UserRole.Editor), async (c) => {
208
210
  const key = c.req.param('key');
209
211
  if (!key) {
210
212
  return c.text('No search key', 400);
@@ -254,7 +256,7 @@ router.post('/:key', async (c) => {
254
256
  * 500:
255
257
  * description: Server error
256
258
  */
257
- router.post('/:key/attachments', async (c) => {
259
+ router.post('/:key/attachments', requireRole(UserRole.Editor), async (c) => {
258
260
  const commands = c.get('commands');
259
261
  const key = c.req.param('key');
260
262
  try {
@@ -298,7 +300,7 @@ router.post('/:key/attachments', async (c) => {
298
300
  * 500:
299
301
  * description: Server error
300
302
  */
301
- router.delete('/:key/attachments/:filename', async (c) => {
303
+ router.delete('/:key/attachments/:filename', requireRole(UserRole.Editor), async (c) => {
302
304
  const commands = c.get('commands');
303
305
  const { key, filename } = c.req.param();
304
306
  try {
@@ -337,7 +339,7 @@ router.delete('/:key/attachments/:filename', async (c) => {
337
339
  * 500:
338
340
  * description: Server error
339
341
  */
340
- router.post('/:key/attachments/:filename/open', async (c) => {
342
+ router.post('/:key/attachments/:filename/open', requireRole(UserRole.Reader), async (c) => {
341
343
  const commands = c.get('commands');
342
344
  const { key, filename } = c.req.param();
343
345
  try {
@@ -346,7 +348,9 @@ router.post('/:key/attachments/:filename/open', async (c) => {
346
348
  }
347
349
  catch (error) {
348
350
  return c.json({
349
- error: error instanceof Error ? error.message : 'Failed to open attachment',
351
+ error: error instanceof Error
352
+ ? error.message
353
+ : 'Failed to open attachment',
350
354
  }, 500);
351
355
  }
352
356
  });
@@ -377,7 +381,7 @@ router.post('/:key/attachments/:filename/open', async (c) => {
377
381
  * 500:
378
382
  * description: Server error
379
383
  */
380
- router.post('/:key/parse', async (c) => {
384
+ router.post('/:key/parse', requireRole(UserRole.Reader), async (c) => {
381
385
  const commands = c.get('commands');
382
386
  const key = c.req.param('key');
383
387
  const { content } = await c.req.json();
@@ -425,7 +429,7 @@ router.post('/:key/parse', async (c) => {
425
429
  * 500:
426
430
  * description: Server error
427
431
  */
428
- router.post('/:key/links', async (c) => {
432
+ router.post('/:key/links', requireRole(UserRole.Editor), async (c) => {
429
433
  const commands = c.get('commands');
430
434
  const key = c.req.param('key');
431
435
  const { toCard, linkType, description } = await c.req.json();
@@ -473,7 +477,7 @@ router.post('/:key/links', async (c) => {
473
477
  * 500:
474
478
  * description: Server error
475
479
  */
476
- router.delete('/:key/links', async (c) => {
480
+ router.delete('/:key/links', requireRole(UserRole.Editor), async (c) => {
477
481
  const commands = c.get('commands');
478
482
  const key = c.req.param('key');
479
483
  const { toCard, linkType, description } = await c.req.json();
@@ -514,10 +518,10 @@ router.delete('/:key/links', async (c) => {
514
518
  * 500:
515
519
  * description: project_path not set.
516
520
  */
517
- router.get('/:key/a/:attachment', ssgParams(async (c) => {
521
+ router.get('/:key/a/:attachment', requireRole(UserRole.Reader), ssgParams(async (c) => {
518
522
  const commands = c.get('commands');
519
523
  return await cardService.findRelevantAttachments(commands, c.get('tree'));
520
- }), (c) => {
524
+ }), async (c) => {
521
525
  const commands = c.get('commands');
522
526
  const { key, attachment } = c.req.param();
523
527
  const filename = decodeURI(attachment);
@@ -525,7 +529,7 @@ router.get('/:key/a/:attachment', ssgParams(async (c) => {
525
529
  return c.text('Missing cardKey or filename', 400);
526
530
  }
527
531
  try {
528
- const attachmentResponse = cardService.getAttachment(commands, key, filename);
532
+ const attachmentResponse = await cardService.getAttachment(commands, key, filename);
529
533
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
530
534
  const payload = attachmentResponse;
531
535
  return new Response(payload.fileBuffer, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/cards/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/cards/index.ts"],"names":[],"mappings":"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"}
@@ -14,110 +14,112 @@ import Processor from '@asciidoctor/core';
14
14
  import { evaluateMacros } from '@cyberismo/data-handler';
15
15
  import { getCardQueryResult } from '../../export.js';
16
16
  export async function getCardDetails(commands, key, staticMode, raw) {
17
- let cardDetailsResponse;
18
- try {
19
- cardDetailsResponse = commands.showCmd.showCardDetails(key);
20
- }
21
- catch {
22
- return { status: 400, message: `Card ${key} not found from project` };
23
- }
24
- if (!cardDetailsResponse) {
25
- return { status: 400, message: `Card ${key} not found from project` };
26
- }
27
- // always parse for now if not in export mode
28
- if (!staticMode && !raw) {
29
- await commands.calculateCmd.generate();
30
- }
31
- let asciidocContent = '';
32
- try {
33
- asciidocContent = await evaluateMacros(cardDetailsResponse.content || '', {
34
- context: staticMode ? 'exportedSite' : 'localApp',
35
- mode: staticMode ? 'staticSite' : 'inject',
36
- project: commands.project,
37
- cardKey: key,
38
- });
39
- }
40
- catch (error) {
41
- asciidocContent = `Macro error: ${error instanceof Error ? error.message : 'Unknown error'}\n\n${asciidocContent}`;
42
- }
43
- const htmlContent = Processor()
44
- .convert(asciidocContent, {
45
- safe: 'safe',
46
- attributes: {
47
- imagesdir: `/api/cards/${key}/a`,
48
- icons: 'font',
49
- },
50
- })
51
- .toString();
52
- if (raw) {
53
- if (!cardDetailsResponse.metadata) {
54
- throw new Error('Card has no metadata');
17
+ return commands.consistent(async () => {
18
+ let cardDetailsResponse;
19
+ try {
20
+ cardDetailsResponse = await commands.showCmd.showCardDetails(key);
55
21
  }
56
- const cardType = await commands.showCmd.showResource(cardDetailsResponse.metadata.cardType, 'cardTypes');
57
- const fields = [];
58
- let i = 0;
59
- for (const customField of cardType.customFields) {
60
- const fieldType = await commands.showCmd.showResource(customField.name, 'fieldTypes');
61
- fields.push({
62
- key: customField.name,
63
- visibility: 'always',
64
- index: i++,
65
- fieldDisplayName: fieldType.displayName,
66
- fieldDescription: fieldType.description,
67
- dataType: fieldType.dataType,
68
- isCalculated: customField.isCalculated,
69
- value: cardDetailsResponse.metadata[customField.name],
70
- enumValues: fieldType.enumValues ?? [],
22
+ catch {
23
+ return { status: 400, message: `Card ${key} not found from project` };
24
+ }
25
+ if (!cardDetailsResponse) {
26
+ return { status: 400, message: `Card ${key} not found from project` };
27
+ }
28
+ // always parse for now if not in export mode
29
+ if (!staticMode && !raw) {
30
+ await commands.calculateCmd.generate();
31
+ }
32
+ let asciidocContent = '';
33
+ try {
34
+ asciidocContent = await evaluateMacros(cardDetailsResponse.content || '', {
35
+ context: staticMode ? 'exportedSite' : 'localApp',
36
+ mode: staticMode ? 'staticSite' : 'inject',
37
+ project: commands.project,
38
+ cardKey: key,
71
39
  });
72
40
  }
41
+ catch (error) {
42
+ asciidocContent = `Macro error: ${error instanceof Error ? error.message : 'Unknown error'}\n\n${asciidocContent}`;
43
+ }
44
+ const htmlContent = Processor()
45
+ .convert(asciidocContent, {
46
+ safe: 'safe',
47
+ attributes: {
48
+ imagesdir: `/api/cards/${key}/a`,
49
+ icons: 'font',
50
+ },
51
+ })
52
+ .toString();
53
+ if (raw) {
54
+ if (!cardDetailsResponse.metadata) {
55
+ throw new Error('Card has no metadata');
56
+ }
57
+ const cardType = await commands.showCmd.showResource(cardDetailsResponse.metadata.cardType, 'cardTypes');
58
+ const fields = [];
59
+ let i = 0;
60
+ for (const customField of cardType.customFields) {
61
+ const fieldType = await commands.showCmd.showResource(customField.name, 'fieldTypes');
62
+ fields.push({
63
+ key: customField.name,
64
+ visibility: 'always',
65
+ index: i++,
66
+ fieldDisplayName: fieldType.displayName,
67
+ fieldDescription: fieldType.description,
68
+ dataType: fieldType.dataType,
69
+ isCalculated: customField.isCalculated,
70
+ value: cardDetailsResponse.metadata[customField.name],
71
+ enumValues: fieldType.enumValues ?? [],
72
+ });
73
+ }
74
+ return {
75
+ status: 200,
76
+ data: {
77
+ key: cardDetailsResponse.key,
78
+ rank: cardDetailsResponse.metadata?.rank,
79
+ title: cardDetailsResponse.metadata?.title || '',
80
+ cardType: cardDetailsResponse.metadata?.cardType || '',
81
+ cardTypeDisplayName: cardDetailsResponse.metadata.cardType,
82
+ workflowState: '',
83
+ lastUpdated: cardDetailsResponse.metadata.lastUpdated,
84
+ fields,
85
+ labels: cardDetailsResponse.metadata?.labels || [],
86
+ links: [],
87
+ notifications: [],
88
+ policyChecks: {
89
+ successes: [],
90
+ failures: [],
91
+ },
92
+ deniedOperations: {
93
+ transition: [],
94
+ move: [],
95
+ delete: [],
96
+ editField: [],
97
+ editContent: [],
98
+ },
99
+ rawContent: cardDetailsResponse.content || '',
100
+ parsedContent: htmlContent,
101
+ attachments: cardDetailsResponse.attachments,
102
+ },
103
+ };
104
+ }
105
+ const card = staticMode
106
+ ? await getCardQueryResult(commands, key)
107
+ : await commands.calculateCmd.runQuery('card', 'localApp', {
108
+ cardKey: key,
109
+ });
110
+ if (card.length !== 1) {
111
+ throw new Error('Query failed. Check card-query syntax');
112
+ }
73
113
  return {
74
114
  status: 200,
75
115
  data: {
76
- key: cardDetailsResponse.key,
77
- rank: cardDetailsResponse.metadata?.rank,
78
- title: cardDetailsResponse.metadata?.title || '',
79
- cardType: cardDetailsResponse.metadata?.cardType || '',
80
- cardTypeDisplayName: cardDetailsResponse.metadata.cardType,
81
- workflowState: '',
82
- lastUpdated: cardDetailsResponse.metadata.lastUpdated,
83
- fields,
84
- labels: cardDetailsResponse.metadata?.labels || [],
85
- links: [],
86
- notifications: [],
87
- policyChecks: {
88
- successes: [],
89
- failures: [],
90
- },
91
- deniedOperations: {
92
- transition: [],
93
- move: [],
94
- delete: [],
95
- editField: [],
96
- editContent: [],
97
- },
116
+ ...card[0],
98
117
  rawContent: cardDetailsResponse.content || '',
99
118
  parsedContent: htmlContent,
100
119
  attachments: cardDetailsResponse.attachments,
101
120
  },
102
121
  };
103
- }
104
- const card = staticMode
105
- ? await getCardQueryResult(commands.project.basePath, key)
106
- : await commands.calculateCmd.runQuery('card', 'localApp', {
107
- cardKey: key,
108
- });
109
- if (card.length !== 1) {
110
- throw new Error('Query failed. Check card-query syntax');
111
- }
112
- return {
113
- status: 200,
114
- data: {
115
- ...card[0],
116
- rawContent: cardDetailsResponse.content || '',
117
- parsedContent: htmlContent,
118
- attachments: cardDetailsResponse.attachments,
119
- },
120
- };
122
+ });
121
123
  }
122
124
  /**
123
125
  * Returns all cards from a tree query, flattened.
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/domain/cards/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/domain/cards/lib.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@
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 { attachmentPayload } from '@cyberismo/data-handler/interfaces/request-status-interfaces';
13
14
  import { type CommandManager } from '@cyberismo/data-handler';
14
15
  import { allCards } from './lib.js';
15
16
  import type { TreeOptions } from '../../types.js';
@@ -41,7 +42,7 @@ export declare function createLink(commands: CommandManager, key: string, toCard
41
42
  export declare function removeLink(commands: CommandManager, key: string, toCard: string, linkType: string, description?: string): Promise<{
42
43
  message: string;
43
44
  }>;
44
- export declare function getAttachment(commands: CommandManager, key: string, filename: string): import("@cyberismo/data-handler/interfaces/request-status-interfaces").attachmentPayload;
45
+ export declare function getAttachment(commands: CommandManager, key: string, filename: string): Promise<attachmentPayload>;
45
46
  /**
46
47
  * Used for exporting cards, thus static mode is assumed
47
48
  * @param commandsthe command manager used for the query
@@ -14,77 +14,46 @@ import Processor from '@asciidoctor/core';
14
14
  import { evaluateMacros } from '@cyberismo/data-handler';
15
15
  import { allCards } from './lib.js';
16
16
  export async function getProjectInfo(commands) {
17
- const projectResponse = await commands.showCmd.showProject();
18
- const workflowsResponse = await commands.showCmd.showWorkflowsWithDetails();
19
- if (!workflowsResponse) {
20
- throw new Error('No workflows found');
21
- }
22
- const cardTypesResponse = await commands.showCmd.showCardTypesWithDetails();
23
- if (!cardTypesResponse) {
24
- throw new Error('No card types found');
25
- }
26
- return {
27
- name: projectResponse.name,
28
- prefix: projectResponse.prefix,
29
- workflows: workflowsResponse,
30
- cardTypes: cardTypesResponse,
31
- };
17
+ return commands.consistent(async () => {
18
+ const projectResponse = await commands.showCmd.showProject();
19
+ const workflowsResponse = await commands.showCmd.showWorkflowsWithDetails();
20
+ if (!workflowsResponse) {
21
+ throw new Error('No workflows found');
22
+ }
23
+ const cardTypesResponse = await commands.showCmd.showCardTypesWithDetails();
24
+ if (!cardTypesResponse) {
25
+ throw new Error('No card types found');
26
+ }
27
+ return {
28
+ name: projectResponse.name,
29
+ prefix: projectResponse.prefix,
30
+ workflows: workflowsResponse,
31
+ cardTypes: cardTypesResponse,
32
+ };
33
+ });
32
34
  }
33
35
  export async function updateCard(commands, key,
34
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
37
  body) {
36
- const errors = [];
37
- if (body.state) {
38
- try {
38
+ await commands.atomic(async () => {
39
+ if (body.state) {
39
40
  await commands.transitionCmd.cardTransition(key, body.state);
40
41
  }
41
- catch (error) {
42
- if (error instanceof Error)
43
- errors.push(error.message);
44
- }
45
- }
46
- if (body.content != null) {
47
- try {
42
+ if (body.content != null) {
48
43
  await commands.editCmd.editCardContent(key, body.content);
49
44
  }
50
- catch (error) {
51
- if (error instanceof Error)
52
- errors.push(error.message);
53
- }
54
- }
55
- if (body.metadata) {
56
- for (const [metadataKey, metadataValue] of Object.entries(body.metadata)) {
57
- const value = metadataValue;
58
- try {
59
- await commands.editCmd.editCardMetadata(key, metadataKey, value);
60
- }
61
- catch (error) {
62
- if (error instanceof Error)
63
- errors.push(error.message);
45
+ if (body.metadata) {
46
+ for (const [metadataKey, metadataValue] of Object.entries(body.metadata)) {
47
+ await commands.editCmd.editCardMetadata(key, metadataKey, metadataValue);
64
48
  }
65
49
  }
66
- }
67
- if (body.parent) {
68
- try {
50
+ if (body.parent) {
69
51
  await commands.moveCmd.moveCard(key, body.parent);
70
52
  }
71
- catch (error) {
72
- if (error instanceof Error)
73
- errors.push(error.message);
74
- }
75
- }
76
- if (body.index != null) {
77
- try {
53
+ if (body.index != null) {
78
54
  await commands.moveCmd.rankByIndex(key, body.index);
79
55
  }
80
- catch (error) {
81
- if (error instanceof Error)
82
- errors.push(error.message);
83
- }
84
- }
85
- if (errors.length > 0) {
86
- throw new Error(errors.join('\n'));
87
- }
56
+ }, `Update card ${key}`);
88
57
  }
89
58
  export async function deleteCard(commands, key) {
90
59
  await commands.removeCmd.remove('card', key);
@@ -98,13 +67,15 @@ export async function createCard(commands, template, parentKey) {
98
67
  }
99
68
  export async function uploadAttachments(commands, key, files) {
100
69
  const succeeded = [];
101
- for (const file of files) {
102
- if (file instanceof File) {
103
- const buffer = await file.arrayBuffer();
104
- await commands.createCmd.createAttachment(key, file.name, Buffer.from(buffer));
105
- succeeded.push(file.name);
70
+ await commands.atomic(async () => {
71
+ for (const file of files) {
72
+ if (file instanceof File) {
73
+ const buffer = await file.arrayBuffer();
74
+ await commands.createCmd.createAttachment(key, file.name, Buffer.from(buffer));
75
+ succeeded.push(file.name);
76
+ }
106
77
  }
107
- }
78
+ }, `Add attachments to ${key}`);
108
79
  return {
109
80
  message: 'Attachments uploaded successfully',
110
81
  files: succeeded,
@@ -119,29 +90,31 @@ export async function openAttachment(commands, key, filename) {
119
90
  return { message: 'Attachment opened successfully' };
120
91
  }
121
92
  export async function parseContent(commands, key, content) {
122
- let asciidocContent = '';
123
- try {
124
- asciidocContent = await evaluateMacros(content, {
125
- context: 'localApp',
126
- mode: 'inject',
127
- project: commands.project,
128
- cardKey: key,
129
- });
130
- }
131
- catch (error) {
132
- asciidocContent = `Macro error: ${error instanceof Error ? error.message : 'Unknown error'}\n\n${content}`;
133
- }
134
- const processor = Processor();
135
- const parsedContent = processor
136
- .convert(asciidocContent, {
137
- safe: 'safe',
138
- attributes: {
139
- imagesdir: `/api/cards/${key}/a`,
140
- icons: 'font',
141
- },
142
- })
143
- .toString();
144
- return { parsedContent };
93
+ return commands.consistent(async () => {
94
+ let asciidocContent;
95
+ try {
96
+ asciidocContent = await evaluateMacros(content, {
97
+ context: 'localApp',
98
+ mode: 'inject',
99
+ project: commands.project,
100
+ cardKey: key,
101
+ });
102
+ }
103
+ catch (error) {
104
+ asciidocContent = `Macro error: ${error instanceof Error ? error.message : 'Unknown error'}\n\n${content}`;
105
+ }
106
+ const processor = Processor();
107
+ const parsedContent = processor
108
+ .convert(asciidocContent, {
109
+ safe: 'safe',
110
+ attributes: {
111
+ imagesdir: `/api/cards/${key}/a`,
112
+ icons: 'font',
113
+ },
114
+ })
115
+ .toString();
116
+ return { parsedContent };
117
+ });
145
118
  }
146
119
  export async function createLink(commands, key, toCard, linkType, description) {
147
120
  await commands.createCmd.createLink(key, toCard, linkType, description);
@@ -151,7 +124,7 @@ export async function removeLink(commands, key, toCard, linkType, description) {
151
124
  await commands.removeCmd.remove('link', key, toCard, linkType, description);
152
125
  return { message: 'Link removed successfully' };
153
126
  }
154
- export function getAttachment(commands, key, filename) {
127
+ export async function getAttachment(commands, key, filename) {
155
128
  return commands.showCmd.showAttachment(key, filename);
156
129
  }
157
130
  /**