github-issue-tower-defence-management 1.143.5 → 1.144.0
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/CHANGELOG.md +14 -0
- package/bin/adapter/entry-points/cli/index.js +2 -0
- package/bin/adapter/entry-points/cli/index.js.map +1 -1
- package/bin/adapter/entry-points/console/consoleItemUrlLookup.js +88 -0
- package/bin/adapter/entry-points/console/consoleItemUrlLookup.js.map +1 -0
- package/bin/adapter/entry-points/console/consoleOperationApi.js +44 -1
- package/bin/adapter/entry-points/console/consoleOperationApi.js.map +1 -1
- package/bin/adapter/entry-points/console/ui-dist/assets/index-y6LyqXlu.js +82 -0
- package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/bin/adapter/entry-points/console/webServer.js +3 -0
- package/bin/adapter/entry-points/console/webServer.js.map +1 -1
- package/bin/adapter/repositories/LocalCommandIssueAttachmentRepository.js +75 -0
- package/bin/adapter/repositories/LocalCommandIssueAttachmentRepository.js.map +1 -0
- package/bin/domain/usecases/adapter-interfaces/IssueAttachmentRepository.js +3 -0
- package/bin/domain/usecases/adapter-interfaces/IssueAttachmentRepository.js.map +1 -0
- package/package.json +1 -1
- package/src/adapter/entry-points/cli/index.ts +4 -0
- package/src/adapter/entry-points/console/consoleItemUrlLookup.test.ts +63 -0
- package/src/adapter/entry-points/console/consoleItemUrlLookup.ts +66 -0
- package/src/adapter/entry-points/console/consoleOperationApi.test.ts +155 -0
- package/src/adapter/entry-points/console/consoleOperationApi.ts +56 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommentComposer.stories.tsx +17 -0
- package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommentComposer.test.tsx +149 -1
- package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleCommentComposer.tsx +107 -1
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleOperations.ts +22 -0
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.test.ts +41 -2
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTabData.ts +44 -28
- package/src/adapter/entry-points/console/ui/src/features/console/lib/consoleApi.ts +35 -0
- package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.test.tsx +1 -0
- package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.tsx +1 -0
- package/src/adapter/entry-points/console/ui-dist/assets/index-y6LyqXlu.js +82 -0
- package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/src/adapter/entry-points/console/webServer.ts +6 -0
- package/src/adapter/repositories/LocalCommandIssueAttachmentRepository.test.ts +136 -0
- package/src/adapter/repositories/LocalCommandIssueAttachmentRepository.ts +96 -0
- package/src/domain/usecases/adapter-interfaces/IssueAttachmentRepository.ts +9 -0
- package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
- package/types/adapter/entry-points/console/consoleItemUrlLookup.d.ts +2 -0
- package/types/adapter/entry-points/console/consoleItemUrlLookup.d.ts.map +1 -0
- package/types/adapter/entry-points/console/consoleOperationApi.d.ts +3 -0
- package/types/adapter/entry-points/console/consoleOperationApi.d.ts.map +1 -1
- package/types/adapter/entry-points/console/webServer.d.ts +2 -0
- package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
- package/types/adapter/repositories/LocalCommandIssueAttachmentRepository.d.ts +15 -0
- package/types/adapter/repositories/LocalCommandIssueAttachmentRepository.d.ts.map +1 -0
- package/types/domain/usecases/adapter-interfaces/IssueAttachmentRepository.d.ts +9 -0
- package/types/domain/usecases/adapter-interfaces/IssueAttachmentRepository.d.ts.map +1 -0
- package/bin/adapter/entry-points/console/ui-dist/assets/index-fTEmrrJ-.js +0 -81
- package/src/adapter/entry-points/console/ui-dist/assets/index-fTEmrrJ-.js +0 -81
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>TDPM Console</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-y6LyqXlu.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-CKX2ny-z.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
@@ -376,6 +376,8 @@ const dispatchOperation = (context, requestPath, body) => {
|
|
|
376
376
|
return (0, consoleOperationApi_1.handleComment)(context, body);
|
|
377
377
|
case '/api/reviewcomment':
|
|
378
378
|
return (0, consoleOperationApi_1.handleReviewComment)(context, body);
|
|
379
|
+
case '/api/upload':
|
|
380
|
+
return (0, consoleOperationApi_1.handleAttachmentUpload)(context, body);
|
|
379
381
|
default:
|
|
380
382
|
return null;
|
|
381
383
|
}
|
|
@@ -394,6 +396,7 @@ const handleOperationApi = async (options, requestPath, body) => {
|
|
|
394
396
|
resolveProject,
|
|
395
397
|
isPjcodeConfigured,
|
|
396
398
|
consoleDataOutputDir: options.consoleDataOutputDir,
|
|
399
|
+
issueAttachmentRepository: options.issueAttachmentRepository ?? null,
|
|
397
400
|
};
|
|
398
401
|
const dispatched = dispatchOperation(context, requestPath, body);
|
|
399
402
|
if (dispatched === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webServer.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/webServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webServer.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/webServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalCommandIssueAttachmentRepository = exports.relabelAttachmentMarkdown = exports.resolveAttachmentExtension = exports.sanitizeAttachmentFileName = exports.UPLOAD_FILE_BASE_NAME = exports.ALLOWED_ATTACHMENT_EXTENSIONS = exports.UPLOAD_COMMAND = void 0;
|
|
4
|
+
const promises_1 = require("fs/promises");
|
|
5
|
+
const os_1 = require("os");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
exports.UPLOAD_COMMAND = 'upload-file-to-gh-issue';
|
|
8
|
+
exports.ALLOWED_ATTACHMENT_EXTENSIONS = [
|
|
9
|
+
'.png',
|
|
10
|
+
'.jpg',
|
|
11
|
+
'.jpeg',
|
|
12
|
+
'.gif',
|
|
13
|
+
'.webp',
|
|
14
|
+
'.svg',
|
|
15
|
+
'.pdf',
|
|
16
|
+
'.txt',
|
|
17
|
+
'.md',
|
|
18
|
+
'.log',
|
|
19
|
+
'.csv',
|
|
20
|
+
'.json',
|
|
21
|
+
'.zip',
|
|
22
|
+
'.mov',
|
|
23
|
+
'.mp4',
|
|
24
|
+
];
|
|
25
|
+
exports.UPLOAD_FILE_BASE_NAME = 'attachment';
|
|
26
|
+
const sanitizeAttachmentFileName = (fileName) => {
|
|
27
|
+
const base = fileName.split('/').pop() ?? '';
|
|
28
|
+
const sanitized = base.replace(/[^A-Za-z0-9._-]/g, '_');
|
|
29
|
+
return sanitized.length === 0 ? exports.UPLOAD_FILE_BASE_NAME : sanitized;
|
|
30
|
+
};
|
|
31
|
+
exports.sanitizeAttachmentFileName = sanitizeAttachmentFileName;
|
|
32
|
+
const resolveAttachmentExtension = (fileName) => {
|
|
33
|
+
const lower = (0, exports.sanitizeAttachmentFileName)(fileName).toLowerCase();
|
|
34
|
+
const matched = exports.ALLOWED_ATTACHMENT_EXTENSIONS.find((extension) => lower.endsWith(extension));
|
|
35
|
+
return matched === undefined ? '' : matched;
|
|
36
|
+
};
|
|
37
|
+
exports.resolveAttachmentExtension = resolveAttachmentExtension;
|
|
38
|
+
const relabelAttachmentMarkdown = (markdown, label) => {
|
|
39
|
+
const match = /^(!?)\[[^\]]*\]\((.*)\)$/.exec(markdown);
|
|
40
|
+
if (match === null) {
|
|
41
|
+
return markdown;
|
|
42
|
+
}
|
|
43
|
+
return `${match[1]}[${label}](${match[2]})`;
|
|
44
|
+
};
|
|
45
|
+
exports.relabelAttachmentMarkdown = relabelAttachmentMarkdown;
|
|
46
|
+
class LocalCommandIssueAttachmentRepository {
|
|
47
|
+
constructor(localCommandRunner, temporaryDirectoryRoot = (0, os_1.tmpdir)()) {
|
|
48
|
+
this.localCommandRunner = localCommandRunner;
|
|
49
|
+
this.temporaryDirectoryRoot = temporaryDirectoryRoot;
|
|
50
|
+
}
|
|
51
|
+
async uploadAttachment(request) {
|
|
52
|
+
const directory = await (0, promises_1.mkdtemp)((0, path_1.join)(this.temporaryDirectoryRoot, 'console-attachment-'));
|
|
53
|
+
const filePath = (0, path_1.join)(directory, `${exports.UPLOAD_FILE_BASE_NAME}${(0, exports.resolveAttachmentExtension)(request.fileName)}`);
|
|
54
|
+
try {
|
|
55
|
+
await (0, promises_1.writeFile)(filePath, request.content);
|
|
56
|
+
const result = await this.localCommandRunner.runCommand(exports.UPLOAD_COMMAND, [
|
|
57
|
+
filePath,
|
|
58
|
+
request.issueOrPullRequestUrl,
|
|
59
|
+
]);
|
|
60
|
+
if (result.exitCode !== 0) {
|
|
61
|
+
throw new Error(`${exports.UPLOAD_COMMAND} failed with exit code ${result.exitCode}: ${result.stderr.trim()}`);
|
|
62
|
+
}
|
|
63
|
+
const markdown = result.stdout.trim();
|
|
64
|
+
if (markdown.length === 0) {
|
|
65
|
+
throw new Error(`${exports.UPLOAD_COMMAND} returned no markdown`);
|
|
66
|
+
}
|
|
67
|
+
return (0, exports.relabelAttachmentMarkdown)(markdown, (0, exports.sanitizeAttachmentFileName)(request.fileName));
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
await (0, promises_1.rm)(directory, { recursive: true, force: true });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.LocalCommandIssueAttachmentRepository = LocalCommandIssueAttachmentRepository;
|
|
75
|
+
//# sourceMappingURL=LocalCommandIssueAttachmentRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalCommandIssueAttachmentRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/LocalCommandIssueAttachmentRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IssueAttachmentRepository.js","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/IssueAttachmentRepository.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -28,6 +28,7 @@ import { ApiV3CheerioRestIssueRepository } from '../../repositories/issue/ApiV3C
|
|
|
28
28
|
import { LocalStorageCacheRepository } from '../../repositories/LocalStorageCacheRepository';
|
|
29
29
|
import { SystemDateRepository } from '../../repositories/SystemDateRepository';
|
|
30
30
|
import { BaseGitHubRepository } from '../../repositories/BaseGitHubRepository';
|
|
31
|
+
import { LocalCommandIssueAttachmentRepository } from '../../repositories/LocalCommandIssueAttachmentRepository';
|
|
31
32
|
import { NodeLocalCommandRunner } from '../../repositories/NodeLocalCommandRunner';
|
|
32
33
|
import { NodeTmuxSessionRepository } from '../../repositories/NodeTmuxSessionRepository';
|
|
33
34
|
import { ProcTakeOwnershipSpawnRepository } from '../../repositories/ProcTakeOwnershipSpawnRepository';
|
|
@@ -808,6 +809,9 @@ const runServeWeb = async (options: ServeWebOptions): Promise<void> => {
|
|
|
808
809
|
issueRepository,
|
|
809
810
|
resolveProject,
|
|
810
811
|
isPjcodeConfigured,
|
|
812
|
+
issueAttachmentRepository: new LocalCommandIssueAttachmentRepository(
|
|
813
|
+
new NodeLocalCommandRunner(),
|
|
814
|
+
),
|
|
811
815
|
issueTitleStateCache: new IssueTitleStateCache(),
|
|
812
816
|
pullRequestStatusCache: new PullRequestStatusCache(),
|
|
813
817
|
port,
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as os from 'os';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import { findConsoleItemUrl } from './consoleItemUrlLookup';
|
|
5
|
+
|
|
6
|
+
describe('findConsoleItemUrl', () => {
|
|
7
|
+
let baseDir: string;
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
baseDir = fs.mkdtempSync(path.join(os.tmpdir(), 'console-lookup-'));
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
afterEach(() => {
|
|
14
|
+
fs.rmSync(baseDir, { recursive: true, force: true });
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const writeList = (tab: string, items: unknown): void => {
|
|
18
|
+
const dir = path.join(baseDir, 'umino', tab);
|
|
19
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
20
|
+
fs.writeFileSync(path.join(dir, 'list.json'), JSON.stringify({ items }));
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
it('returns the stored url when the requested url is listed in a tab', () => {
|
|
24
|
+
writeList('prs', [{ url: 'https://github.com/o/r/issues/1' }]);
|
|
25
|
+
expect(
|
|
26
|
+
findConsoleItemUrl(baseDir, 'umino', 'https://github.com/o/r/issues/1'),
|
|
27
|
+
).toBe('https://github.com/o/r/issues/1');
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('returns null when no tab lists the requested url', () => {
|
|
31
|
+
writeList('prs', [{ url: 'https://github.com/o/r/issues/1' }]);
|
|
32
|
+
expect(
|
|
33
|
+
findConsoleItemUrl(baseDir, 'umino', 'https://github.com/o/r/issues/2'),
|
|
34
|
+
).toBeNull();
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('returns null when the project directory does not exist', () => {
|
|
38
|
+
expect(
|
|
39
|
+
findConsoleItemUrl(baseDir, 'unknown', 'https://github.com/o/r/issues/1'),
|
|
40
|
+
).toBeNull();
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('ignores a tab file that is not valid json', () => {
|
|
44
|
+
const dir = path.join(baseDir, 'umino', 'triage');
|
|
45
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
46
|
+
fs.writeFileSync(path.join(dir, 'list.json'), 'not json');
|
|
47
|
+
writeList('prs', [{ url: 'https://github.com/o/r/issues/1' }]);
|
|
48
|
+
expect(
|
|
49
|
+
findConsoleItemUrl(baseDir, 'umino', 'https://github.com/o/r/issues/1'),
|
|
50
|
+
).toBe('https://github.com/o/r/issues/1');
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it('ignores entries without a url string', () => {
|
|
54
|
+
writeList('prs', [
|
|
55
|
+
{ url: 1 },
|
|
56
|
+
null,
|
|
57
|
+
{ url: 'https://github.com/o/r/pull/9' },
|
|
58
|
+
]);
|
|
59
|
+
expect(
|
|
60
|
+
findConsoleItemUrl(baseDir, 'umino', 'https://github.com/o/r/pull/9'),
|
|
61
|
+
).toBe('https://github.com/o/r/pull/9');
|
|
62
|
+
});
|
|
63
|
+
});
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { CONSOLE_DONE_TAB_NAMES } from './consoleDoneStore';
|
|
4
|
+
|
|
5
|
+
const CONSOLE_LIST_FILE_NAME = 'list.json';
|
|
6
|
+
|
|
7
|
+
const isRecord = (value: unknown): value is Record<string, unknown> =>
|
|
8
|
+
value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
9
|
+
|
|
10
|
+
const readListItemUrls = (
|
|
11
|
+
consoleDataOutputDir: string,
|
|
12
|
+
pjcode: string,
|
|
13
|
+
tab: string,
|
|
14
|
+
): string[] => {
|
|
15
|
+
const filePath = path.join(
|
|
16
|
+
consoleDataOutputDir,
|
|
17
|
+
pjcode,
|
|
18
|
+
tab,
|
|
19
|
+
CONSOLE_LIST_FILE_NAME,
|
|
20
|
+
);
|
|
21
|
+
let raw: string;
|
|
22
|
+
try {
|
|
23
|
+
raw = fs.readFileSync(filePath, 'utf-8');
|
|
24
|
+
} catch {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
let parsed: unknown;
|
|
28
|
+
try {
|
|
29
|
+
parsed = JSON.parse(raw);
|
|
30
|
+
} catch {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
if (!isRecord(parsed)) {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
const items = parsed.items;
|
|
37
|
+
if (!Array.isArray(items)) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
const urls: string[] = [];
|
|
41
|
+
for (const item of items) {
|
|
42
|
+
if (!isRecord(item)) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const url = item.url;
|
|
46
|
+
if (typeof url === 'string' && url.length > 0) {
|
|
47
|
+
urls.push(url);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return urls;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const findConsoleItemUrl = (
|
|
54
|
+
consoleDataOutputDir: string,
|
|
55
|
+
pjcode: string,
|
|
56
|
+
requestedUrl: string,
|
|
57
|
+
): string | null => {
|
|
58
|
+
for (const tab of CONSOLE_DONE_TAB_NAMES) {
|
|
59
|
+
for (const url of readListItemUrls(consoleDataOutputDir, pjcode, tab)) {
|
|
60
|
+
if (url === requestedUrl) {
|
|
61
|
+
return url;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
};
|
|
@@ -8,6 +8,7 @@ import { Issue } from '../../../domain/entities/Issue';
|
|
|
8
8
|
import {
|
|
9
9
|
ConsoleOperationContext,
|
|
10
10
|
ConsoleProjectBinding,
|
|
11
|
+
handleAttachmentUpload,
|
|
11
12
|
handleComment,
|
|
12
13
|
handleIntmux,
|
|
13
14
|
handleReview,
|
|
@@ -76,6 +77,7 @@ describe('consoleOperationApi', () => {
|
|
|
76
77
|
pjcode === 'umino' ? { pjcode, project } : null,
|
|
77
78
|
isPjcodeConfigured: (pjcode: string) => pjcode === 'umino',
|
|
78
79
|
consoleDataOutputDir: baseDir,
|
|
80
|
+
issueAttachmentRepository: null,
|
|
79
81
|
};
|
|
80
82
|
});
|
|
81
83
|
|
|
@@ -87,6 +89,7 @@ describe('consoleOperationApi', () => {
|
|
|
87
89
|
pjcode === 'umino' ? { pjcode, project: nextProject } : null,
|
|
88
90
|
isPjcodeConfigured: (pjcode: string) => pjcode === 'umino',
|
|
89
91
|
consoleDataOutputDir: baseDir,
|
|
92
|
+
issueAttachmentRepository: null,
|
|
90
93
|
});
|
|
91
94
|
|
|
92
95
|
afterEach(() => {
|
|
@@ -509,6 +512,7 @@ describe('consoleOperationApi', () => {
|
|
|
509
512
|
resolveProject: resolveProjectSpy,
|
|
510
513
|
isPjcodeConfigured: (pjcode: string) => pjcode === 'umino',
|
|
511
514
|
consoleDataOutputDir: baseDir,
|
|
515
|
+
issueAttachmentRepository: null,
|
|
512
516
|
};
|
|
513
517
|
});
|
|
514
518
|
|
|
@@ -753,6 +757,7 @@ describe('consoleOperationApi', () => {
|
|
|
753
757
|
isPjcodeConfigured: (pjcode: string) =>
|
|
754
758
|
pjcode === 'umino' || pjcode === 'xmile',
|
|
755
759
|
consoleDataOutputDir: baseDir,
|
|
760
|
+
issueAttachmentRepository: null,
|
|
756
761
|
};
|
|
757
762
|
const response = await handleTriage(multiContext, {
|
|
758
763
|
pjcode: 'xmile',
|
|
@@ -959,4 +964,154 @@ describe('consoleOperationApi', () => {
|
|
|
959
964
|
});
|
|
960
965
|
});
|
|
961
966
|
});
|
|
967
|
+
|
|
968
|
+
describe('handleAttachmentUpload', () => {
|
|
969
|
+
const listItemUrl = 'https://github.com/o/r/issues/1';
|
|
970
|
+
|
|
971
|
+
const writeListWithItem = (url: string): void => {
|
|
972
|
+
const dir = path.join(baseDir, 'umino', 'prs');
|
|
973
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
974
|
+
fs.writeFileSync(
|
|
975
|
+
path.join(dir, 'list.json'),
|
|
976
|
+
JSON.stringify({ items: [{ url }] }),
|
|
977
|
+
);
|
|
978
|
+
};
|
|
979
|
+
|
|
980
|
+
beforeEach(() => {
|
|
981
|
+
writeListWithItem(listItemUrl);
|
|
982
|
+
});
|
|
983
|
+
|
|
984
|
+
const uploadContext = (
|
|
985
|
+
uploadAttachment: (request: {
|
|
986
|
+
issueOrPullRequestUrl: string;
|
|
987
|
+
fileName: string;
|
|
988
|
+
content: Uint8Array;
|
|
989
|
+
}) => Promise<string>,
|
|
990
|
+
): ConsoleOperationContext => ({
|
|
991
|
+
...context,
|
|
992
|
+
issueAttachmentRepository: { uploadAttachment },
|
|
993
|
+
});
|
|
994
|
+
|
|
995
|
+
it('uploads the decoded file and returns the markdown', async () => {
|
|
996
|
+
const received: {
|
|
997
|
+
issueOrPullRequestUrl: string;
|
|
998
|
+
fileName: string;
|
|
999
|
+
content: Uint8Array;
|
|
1000
|
+
}[] = [];
|
|
1001
|
+
const response = await handleAttachmentUpload(
|
|
1002
|
+
uploadContext(async (request) => {
|
|
1003
|
+
received.push(request);
|
|
1004
|
+
return '';
|
|
1005
|
+
}),
|
|
1006
|
+
{
|
|
1007
|
+
pjcode: 'umino',
|
|
1008
|
+
url: 'https://github.com/o/r/issues/1',
|
|
1009
|
+
fileName: 'shot.png',
|
|
1010
|
+
contentBase64: Buffer.from([1, 2, 3]).toString('base64'),
|
|
1011
|
+
},
|
|
1012
|
+
);
|
|
1013
|
+
expect(response).toEqual({
|
|
1014
|
+
statusCode: 200,
|
|
1015
|
+
body: {
|
|
1016
|
+
ok: true,
|
|
1017
|
+
markdown: '',
|
|
1018
|
+
},
|
|
1019
|
+
});
|
|
1020
|
+
expect(received).toHaveLength(1);
|
|
1021
|
+
expect(received[0].issueOrPullRequestUrl).toBe(
|
|
1022
|
+
'https://github.com/o/r/issues/1',
|
|
1023
|
+
);
|
|
1024
|
+
expect(received[0].fileName).toBe('shot.png');
|
|
1025
|
+
expect(Array.from(received[0].content)).toEqual([1, 2, 3]);
|
|
1026
|
+
});
|
|
1027
|
+
|
|
1028
|
+
it('rejects a request without a url', async () => {
|
|
1029
|
+
const response = await handleAttachmentUpload(
|
|
1030
|
+
uploadContext(async () => 'unused'),
|
|
1031
|
+
{ pjcode: 'umino', fileName: 'shot.png', contentBase64: 'AAEC' },
|
|
1032
|
+
);
|
|
1033
|
+
expect(response).toEqual({
|
|
1034
|
+
statusCode: 400,
|
|
1035
|
+
body: { error: 'url is required' },
|
|
1036
|
+
});
|
|
1037
|
+
});
|
|
1038
|
+
|
|
1039
|
+
it('rejects a url that is not a github issue or pull request url', async () => {
|
|
1040
|
+
const response = await handleAttachmentUpload(
|
|
1041
|
+
uploadContext(async () => 'unused'),
|
|
1042
|
+
{
|
|
1043
|
+
pjcode: 'umino',
|
|
1044
|
+
url: 'https://example.com/o/r/issues/1; rm -rf /',
|
|
1045
|
+
fileName: 'shot.png',
|
|
1046
|
+
contentBase64: 'AAEC',
|
|
1047
|
+
},
|
|
1048
|
+
);
|
|
1049
|
+
expect(response).toEqual({
|
|
1050
|
+
statusCode: 400,
|
|
1051
|
+
body: { error: 'url must be a github issue or pull request url' },
|
|
1052
|
+
});
|
|
1053
|
+
});
|
|
1054
|
+
|
|
1055
|
+
it('rejects a request without a fileName', async () => {
|
|
1056
|
+
const response = await handleAttachmentUpload(
|
|
1057
|
+
uploadContext(async () => 'unused'),
|
|
1058
|
+
{
|
|
1059
|
+
pjcode: 'umino',
|
|
1060
|
+
url: 'https://github.com/o/r/issues/1',
|
|
1061
|
+
contentBase64: 'AAEC',
|
|
1062
|
+
},
|
|
1063
|
+
);
|
|
1064
|
+
expect(response).toEqual({
|
|
1065
|
+
statusCode: 400,
|
|
1066
|
+
body: { error: 'fileName is required' },
|
|
1067
|
+
});
|
|
1068
|
+
});
|
|
1069
|
+
|
|
1070
|
+
it('rejects a request without contentBase64', async () => {
|
|
1071
|
+
const response = await handleAttachmentUpload(
|
|
1072
|
+
uploadContext(async () => 'unused'),
|
|
1073
|
+
{
|
|
1074
|
+
pjcode: 'umino',
|
|
1075
|
+
url: 'https://github.com/o/r/issues/1',
|
|
1076
|
+
fileName: 'shot.png',
|
|
1077
|
+
},
|
|
1078
|
+
);
|
|
1079
|
+
expect(response).toEqual({
|
|
1080
|
+
statusCode: 400,
|
|
1081
|
+
body: { error: 'contentBase64 is required' },
|
|
1082
|
+
});
|
|
1083
|
+
});
|
|
1084
|
+
|
|
1085
|
+
it('reports that upload is not configured when no repository is wired', async () => {
|
|
1086
|
+
const response = await handleAttachmentUpload(
|
|
1087
|
+
{ ...context, issueAttachmentRepository: null },
|
|
1088
|
+
{
|
|
1089
|
+
pjcode: 'umino',
|
|
1090
|
+
url: 'https://github.com/o/r/issues/1',
|
|
1091
|
+
fileName: 'shot.png',
|
|
1092
|
+
contentBase64: 'AAEC',
|
|
1093
|
+
},
|
|
1094
|
+
);
|
|
1095
|
+
expect(response).toEqual({
|
|
1096
|
+
statusCode: 502,
|
|
1097
|
+
body: { error: 'attachment upload is not configured' },
|
|
1098
|
+
});
|
|
1099
|
+
});
|
|
1100
|
+
|
|
1101
|
+
it('rejects a url that is not listed as a console item of the project', async () => {
|
|
1102
|
+
const response = await handleAttachmentUpload(
|
|
1103
|
+
uploadContext(async () => 'unused'),
|
|
1104
|
+
{
|
|
1105
|
+
pjcode: 'umino',
|
|
1106
|
+
url: 'https://github.com/o/r/issues/9999',
|
|
1107
|
+
fileName: 'shot.png',
|
|
1108
|
+
contentBase64: 'AAEC',
|
|
1109
|
+
},
|
|
1110
|
+
);
|
|
1111
|
+
expect(response).toEqual({
|
|
1112
|
+
statusCode: 400,
|
|
1113
|
+
body: { error: 'url is not a console item of this project' },
|
|
1114
|
+
});
|
|
1115
|
+
});
|
|
1116
|
+
});
|
|
962
1117
|
});
|
|
@@ -2,9 +2,11 @@ import {
|
|
|
2
2
|
IssueRepository,
|
|
3
3
|
PullRequestReviewCommentSide,
|
|
4
4
|
} from '../../../domain/usecases/adapter-interfaces/IssueRepository';
|
|
5
|
+
import { IssueAttachmentRepository } from '../../../domain/usecases/adapter-interfaces/IssueAttachmentRepository';
|
|
5
6
|
import { Project } from '../../../domain/entities/Project';
|
|
6
7
|
import { Issue } from '../../../domain/entities/Issue';
|
|
7
8
|
import { recordDoneProjectItemIdAcrossTabs } from './consoleDoneStore';
|
|
9
|
+
import { findConsoleItemUrl } from './consoleItemUrlLookup';
|
|
8
10
|
|
|
9
11
|
export const AWAITING_WORKSPACE_STATUS_NAME = 'awaiting workspace';
|
|
10
12
|
export const IN_TMUX_BY_HUMAN_STATUS_NAME = 'in tmux by human';
|
|
@@ -25,6 +27,7 @@ export type ConsoleOperationContext = {
|
|
|
25
27
|
resolveProject: ConsoleProjectResolver;
|
|
26
28
|
isPjcodeConfigured: ConsolePjcodeValidator;
|
|
27
29
|
consoleDataOutputDir: string | null;
|
|
30
|
+
issueAttachmentRepository: IssueAttachmentRepository | null;
|
|
28
31
|
};
|
|
29
32
|
|
|
30
33
|
export type ConsoleOperationResponse = {
|
|
@@ -53,6 +56,11 @@ const isNonEmptyString = (value: unknown): value is string =>
|
|
|
53
56
|
const isPullRequestUrl = (url: string): boolean =>
|
|
54
57
|
/github\.com\/[^/]+\/[^/]+\/pull\/\d+/.test(url);
|
|
55
58
|
|
|
59
|
+
const isValidIssueOrPullRequestUrl = (url: string): boolean =>
|
|
60
|
+
/^https:\/\/github\.com\/[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+\/(issues|pull)\/\d+$/.test(
|
|
61
|
+
url,
|
|
62
|
+
);
|
|
63
|
+
|
|
56
64
|
const isReviewCommentSide = (
|
|
57
65
|
value: unknown,
|
|
58
66
|
): value is PullRequestReviewCommentSide =>
|
|
@@ -399,6 +407,54 @@ export const handleComment = async (
|
|
|
399
407
|
};
|
|
400
408
|
};
|
|
401
409
|
|
|
410
|
+
export const handleAttachmentUpload = async (
|
|
411
|
+
context: ConsoleOperationContext,
|
|
412
|
+
body: Record<string, unknown>,
|
|
413
|
+
): Promise<ConsoleOperationResponse> => {
|
|
414
|
+
const url = body.url;
|
|
415
|
+
const fileName = body.fileName;
|
|
416
|
+
const contentBase64 = body.contentBase64;
|
|
417
|
+
if (!isNonEmptyString(url)) {
|
|
418
|
+
return badRequest('url is required');
|
|
419
|
+
}
|
|
420
|
+
if (!isValidIssueOrPullRequestUrl(url)) {
|
|
421
|
+
return badRequest('url must be a github issue or pull request url');
|
|
422
|
+
}
|
|
423
|
+
if (!isNonEmptyString(fileName)) {
|
|
424
|
+
return badRequest('fileName is required');
|
|
425
|
+
}
|
|
426
|
+
if (!isNonEmptyString(contentBase64)) {
|
|
427
|
+
return badRequest('contentBase64 is required');
|
|
428
|
+
}
|
|
429
|
+
const pjcodeResult = resolveConfiguredPjcode(context, body);
|
|
430
|
+
if (typeof pjcodeResult !== 'string') {
|
|
431
|
+
return pjcodeResult;
|
|
432
|
+
}
|
|
433
|
+
if (context.consoleDataOutputDir === null) {
|
|
434
|
+
return badGateway('console data output dir is not configured');
|
|
435
|
+
}
|
|
436
|
+
const knownUrl = findConsoleItemUrl(
|
|
437
|
+
context.consoleDataOutputDir,
|
|
438
|
+
pjcodeResult,
|
|
439
|
+
url,
|
|
440
|
+
);
|
|
441
|
+
if (knownUrl === null) {
|
|
442
|
+
return badRequest('url is not a console item of this project');
|
|
443
|
+
}
|
|
444
|
+
if (context.issueAttachmentRepository === null) {
|
|
445
|
+
return badGateway('attachment upload is not configured');
|
|
446
|
+
}
|
|
447
|
+
const markdown = await context.issueAttachmentRepository.uploadAttachment({
|
|
448
|
+
issueOrPullRequestUrl: knownUrl,
|
|
449
|
+
fileName,
|
|
450
|
+
content: Buffer.from(contentBase64, 'base64'),
|
|
451
|
+
});
|
|
452
|
+
return {
|
|
453
|
+
statusCode: 200,
|
|
454
|
+
body: { ok: true, markdown },
|
|
455
|
+
};
|
|
456
|
+
};
|
|
457
|
+
|
|
402
458
|
export const handleReviewComment = async (
|
|
403
459
|
context: ConsoleOperationContext,
|
|
404
460
|
body: Record<string, unknown>,
|
|
@@ -28,3 +28,20 @@ export const IssueComposerOpen: Story = {
|
|
|
28
28
|
export const PullRequestComposerCollapsed: Story = {
|
|
29
29
|
args: { isPr: true },
|
|
30
30
|
};
|
|
31
|
+
|
|
32
|
+
export const IssueComposerWithFileUpload: Story = {
|
|
33
|
+
args: {
|
|
34
|
+
isPr: false,
|
|
35
|
+
onUploadFile: async (file: File) =>
|
|
36
|
+
``,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export const IssueComposerUploadFailure: Story = {
|
|
41
|
+
args: {
|
|
42
|
+
isPr: false,
|
|
43
|
+
onUploadFile: async () => {
|
|
44
|
+
throw new Error('No GitHub web session is available');
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
};
|