github-issue-tower-defence-management 1.153.6 → 1.154.1
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/README.md +6 -3
- package/bin/adapter/repositories/GraphqlProjectRepository.js +102 -114
- package/bin/adapter/repositories/GraphqlProjectRepository.js.map +1 -1
- package/bin/adapter/repositories/RestProjectRepository.js +95 -0
- package/bin/adapter/repositories/RestProjectRepository.js.map +1 -0
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +26 -6
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
- package/bin/adapter/repositories/issue/RestIssueRepository.js +6 -0
- package/bin/adapter/repositories/issue/RestIssueRepository.js.map +1 -1
- package/bin/adapter/repositories/projectFieldDefinition.js +88 -0
- package/bin/adapter/repositories/projectFieldDefinition.js.map +1 -0
- package/bin/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.js +10 -16
- package/bin/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +3 -0
- package/src/adapter/repositories/GraphqlProjectRepository.diskCache.test.ts +16 -4
- package/src/adapter/repositories/GraphqlProjectRepository.test.ts +8 -27
- package/src/adapter/repositories/GraphqlProjectRepository.ts +139 -151
- package/src/adapter/repositories/GraphqlProjectRepositoryProjectLocation.test.ts +296 -0
- package/src/adapter/repositories/RestProjectRepository.test.ts +277 -0
- package/src/adapter/repositories/RestProjectRepository.ts +129 -0
- package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.test.ts +58 -0
- package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts +36 -6
- package/src/adapter/repositories/issue/RestIssueRepository.test.ts +19 -0
- package/src/adapter/repositories/issue/RestIssueRepository.ts +13 -0
- package/src/adapter/repositories/projectFieldDefinition.test.ts +189 -0
- package/src/adapter/repositories/projectFieldDefinition.ts +131 -0
- package/src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.test.ts +211 -200
- package/src/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.ts +13 -18
- package/src/domain/usecases/adapter-interfaces/IssueRepository.ts +5 -0
- package/types/adapter/repositories/GraphqlProjectRepository.d.ts +6 -1
- package/types/adapter/repositories/GraphqlProjectRepository.d.ts.map +1 -1
- package/types/adapter/repositories/RestProjectRepository.d.ts +18 -0
- package/types/adapter/repositories/RestProjectRepository.d.ts.map +1 -0
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts +6 -2
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
- package/types/adapter/repositories/issue/RestIssueRepository.d.ts +1 -0
- package/types/adapter/repositories/issue/RestIssueRepository.d.ts.map +1 -1
- package/types/adapter/repositories/projectFieldDefinition.d.ts +17 -0
- package/types/adapter/repositories/projectFieldDefinition.d.ts.map +1 -0
- package/types/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.d.ts +2 -2
- package/types/domain/usecases/ConvertCheckboxToIssueInStoryIssueUseCase.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts +2 -0
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [1.154.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.154.0...v1.154.1) (2026-08-15)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Performance Improvements
|
|
5
|
+
|
|
6
|
+
* read the project field metadata over REST instead of the GraphQL project query ([#1579](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1579)) ([ebee44d](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/ebee44dadd6b16ec1600a0a86b164d093db6dadf)), closes [#1578](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1578) [#1018](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1018) [#1018](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1018)
|
|
7
|
+
|
|
8
|
+
# [1.154.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.153.6...v1.154.0) (2026-08-15)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* read and write the story issue body over REST in the slow sweep ([#1577](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1577)) ([5dc770f](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/5dc770fe3944416645a5c35095ffbfe38c662c70)), closes [#1576](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1576)
|
|
14
|
+
|
|
1
15
|
## [1.153.6](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.153.5...v1.153.6) (2026-08-15)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -428,15 +428,18 @@ When `consoleAccessToken` is unset, no console server is started automatically;
|
|
|
428
428
|
|
|
429
429
|
## Project ID Cache
|
|
430
430
|
|
|
431
|
-
The mapping from `owner/projectNumber` to the immutable GitHub Project node ID that `GraphqlProjectRepository.fetchProjectId` resolves is cached on disk so it is shared across processes. Because every TDPM invocation is a fresh process, an in-memory cache alone would re-resolve
|
|
431
|
+
The mapping from `owner/projectNumber` to the immutable GitHub Project node ID that `GraphqlProjectRepository.fetchProjectId` resolves is cached on disk so it is shared across processes, and so is the reverse mapping from that node ID back to the owner, owner type and project number. Because every TDPM invocation is a fresh process, an in-memory cache alone would re-resolve these mappings on every loop and every worker start. The cache reuses the same `${XDG_CACHE_HOME:-$HOME/.cache}/tdpm/cache/{projectName}/` directory convention as the issue cache and writes each entry atomically (to a `.tmp` file then renamed) so concurrent processes never corrupt or read a partial file.
|
|
432
432
|
|
|
433
433
|
```
|
|
434
434
|
${XDG_CACHE_HOME:-$HOME/.cache}/tdpm/cache/{projectName}/projectId-{owner}:{projectNumber}/{timestamp}.json
|
|
435
|
+
${XDG_CACHE_HOME:-$HOME/.cache}/tdpm/cache/{projectName}/projectLocation-{projectId}/{timestamp}.json
|
|
435
436
|
```
|
|
436
437
|
|
|
437
438
|
- The `projectId` mapping (`owner/projectNumber` to project node ID) is permanently static, so it is reused with no time-to-live.
|
|
438
|
-
-
|
|
439
|
-
-
|
|
439
|
+
- The `projectLocation` mapping (project node ID to `{owner, ownerType, projectNumber}`) is the same mapping read the other way round and is equally static, so it too carries no time-to-live. It exists because the Projects V2 REST routes are addressed by owner and project number while the code passes the project node ID around. It is written whenever either direction becomes known: when `fetchProjectId` resolves a project URL, and when a cold start GraphQL read of the project returns the project URL.
|
|
440
|
+
- Only these immutable mappings are cached. Project metadata that can change — the project's fields and single-select status and story options resolved by `getProject` — is intentionally not cached on disk and is fetched fresh on every call, so newly created status and story options are never missed. With the location known, `getProject` and `listFieldNames` read that fresh metadata from the Projects V2 REST endpoints (`GET /{ownerType}/{owner}/projectsV2/{projectNumber}` and `.../fields`), which spend the core rate-limit budget instead of GraphQL points; the GraphQL project query remains as the cold start path for the first read in a workspace.
|
|
441
|
+
- A malformed or absent cache file falls back to a live GraphQL fetch and never crashes, and a read or write failure of either cache is logged rather than swallowed, because a silently failing write would send every later process back to the GraphQL path with no signal.
|
|
442
|
+
- A recorded location can still go stale if the owner is renamed. When the REST read returns 404 the entry is discarded, the project is re-read over GraphQL, and the corrected location is written back, so a rename recovers by itself on the next read.
|
|
440
443
|
|
|
441
444
|
## Per-Project Situation Snapshot
|
|
442
445
|
|
|
@@ -1,34 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GraphqlProjectRepository =
|
|
3
|
+
exports.GraphqlProjectRepository = void 0;
|
|
4
4
|
const BaseGitHubRepository_1 = require("./BaseGitHubRepository");
|
|
5
5
|
const githubGraphqlClient_1 = require("./githubGraphqlClient");
|
|
6
6
|
const ProjectIssuesCacheRepository_1 = require("./ProjectIssuesCacheRepository");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const projectFieldDefinition_1 = require("./projectFieldDefinition");
|
|
8
|
+
const RestProjectRepository_1 = require("./RestProjectRepository");
|
|
9
9
|
const ONE_HOUR_MS = 60 * 60 * 1000;
|
|
10
10
|
const PROJECT_ID_DISK_CACHE_KEY_PREFIX = 'projectId';
|
|
11
|
-
const
|
|
12
|
-
switch (color) {
|
|
13
|
-
case 'RED':
|
|
14
|
-
case 'YELLOW':
|
|
15
|
-
case 'GREEN':
|
|
16
|
-
case 'BLUE':
|
|
17
|
-
case 'PURPLE':
|
|
18
|
-
case 'ORANGE':
|
|
19
|
-
case 'PINK':
|
|
20
|
-
case 'GRAY':
|
|
21
|
-
return color;
|
|
22
|
-
default:
|
|
23
|
-
return 'GRAY';
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
exports.convertToFieldOptionColor = convertToFieldOptionColor;
|
|
11
|
+
const PROJECT_LOCATION_DISK_CACHE_KEY_PREFIX = 'projectLocation';
|
|
27
12
|
class GraphqlProjectRepository extends BaseGitHubRepository_1.BaseGitHubRepository {
|
|
28
13
|
constructor(localStorageRepository, ghToken = process.env.GH_TOKEN || 'dummy', projectCache) {
|
|
29
14
|
super(localStorageRepository, ghToken);
|
|
30
15
|
this.projectIdCache = new Map();
|
|
31
16
|
this.fetchProjectIdFailedAt = new Map();
|
|
17
|
+
this.projectLocationCache = new Map();
|
|
18
|
+
this.readProjectLocationFromDiskCache = async (projectId) => {
|
|
19
|
+
if (!this.projectCache) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
let cache;
|
|
23
|
+
try {
|
|
24
|
+
cache = await this.projectCache.getLatest(`${PROJECT_LOCATION_DISK_CACHE_KEY_PREFIX}-${projectId}`);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
console.warn(`GraphqlProjectRepository: reading the project location disk cache failed, falling back to the GraphQL project query. projectId: ${projectId}, error: ${String(error)}`);
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
if (!cache) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const value = cache.value;
|
|
34
|
+
if (typeof value !== 'object' ||
|
|
35
|
+
value === null ||
|
|
36
|
+
!('owner' in value) ||
|
|
37
|
+
!('ownerType' in value) ||
|
|
38
|
+
!('projectNumber' in value) ||
|
|
39
|
+
typeof value.owner !== 'string' ||
|
|
40
|
+
typeof value.projectNumber !== 'number' ||
|
|
41
|
+
(value.ownerType !== 'users' && value.ownerType !== 'orgs')) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
owner: value.owner,
|
|
46
|
+
ownerType: value.ownerType,
|
|
47
|
+
projectNumber: value.projectNumber,
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
this.rememberProjectLocation = async (projectId, location) => {
|
|
51
|
+
this.projectLocationCache.set(projectId, location);
|
|
52
|
+
if (!this.projectCache) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
await this.projectCache.set(`${PROJECT_LOCATION_DISK_CACHE_KEY_PREFIX}-${projectId}`, location);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
console.warn(`GraphqlProjectRepository: writing the project location disk cache failed, every later process will fall back to the GraphQL project query. projectId: ${projectId}, error: ${String(error)}`);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
this.findProjectLocation = async (projectId) => {
|
|
63
|
+
const cached = this.projectLocationCache.get(projectId);
|
|
64
|
+
if (cached) {
|
|
65
|
+
return cached;
|
|
66
|
+
}
|
|
67
|
+
const diskCached = await this.readProjectLocationFromDiskCache(projectId);
|
|
68
|
+
if (diskCached) {
|
|
69
|
+
this.projectLocationCache.set(projectId, diskCached);
|
|
70
|
+
return diskCached;
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
};
|
|
32
74
|
this.readProjectIdFromDiskCache = async (cacheKey) => {
|
|
33
75
|
if (!this.projectCache) {
|
|
34
76
|
return null;
|
|
@@ -129,6 +171,11 @@ class GraphqlProjectRepository extends BaseGitHubRepository_1.BaseGitHubReposito
|
|
|
129
171
|
}
|
|
130
172
|
this.projectIdCache.set(cacheKey, projectId);
|
|
131
173
|
await this.writeProjectIdToDiskCache(cacheKey, projectId);
|
|
174
|
+
await this.rememberProjectLocation(projectId, {
|
|
175
|
+
owner: login,
|
|
176
|
+
ownerType: response.data.organization?.projectV2?.id ? 'orgs' : 'users',
|
|
177
|
+
projectNumber,
|
|
178
|
+
});
|
|
132
179
|
return projectId;
|
|
133
180
|
};
|
|
134
181
|
this.findProjectIdByUrl = async (projectUrl) => {
|
|
@@ -136,6 +183,18 @@ class GraphqlProjectRepository extends BaseGitHubRepository_1.BaseGitHubReposito
|
|
|
136
183
|
return await this.fetchProjectId(owner, projectNumber);
|
|
137
184
|
};
|
|
138
185
|
this.getProject = async (projectId) => {
|
|
186
|
+
const location = await this.findProjectLocation(projectId);
|
|
187
|
+
if (location) {
|
|
188
|
+
const project = await this.restProjectRepository.getProject(location);
|
|
189
|
+
if (project) {
|
|
190
|
+
return project;
|
|
191
|
+
}
|
|
192
|
+
console.warn(`GraphqlProjectRepository: the recorded project location no longer resolves over REST, re-reading the project over GraphQL. projectId: ${projectId}, owner: ${location.owner}, projectNumber: ${location.projectNumber}`);
|
|
193
|
+
this.projectLocationCache.delete(projectId);
|
|
194
|
+
}
|
|
195
|
+
return await this.fetchProjectByGraphql(projectId);
|
|
196
|
+
};
|
|
197
|
+
this.fetchProjectByGraphql = async (projectId) => {
|
|
139
198
|
const query = `query GetProjectV2($projectId: ID!) {
|
|
140
199
|
node(id: $projectId) {
|
|
141
200
|
... on ProjectV2 {
|
|
@@ -207,79 +266,28 @@ class GraphqlProjectRepository extends BaseGitHubRepository_1.BaseGitHubReposito
|
|
|
207
266
|
if (!project) {
|
|
208
267
|
return null;
|
|
209
268
|
}
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
|
|
269
|
+
const fields = project.fields.nodes.map((field) => ({
|
|
270
|
+
fieldId: field.id,
|
|
271
|
+
databaseId: field.databaseId,
|
|
272
|
+
name: field.name,
|
|
273
|
+
options: (field.options ?? []).map((option) => ({
|
|
274
|
+
id: option.id,
|
|
275
|
+
name: option.name,
|
|
276
|
+
color: (0, projectFieldDefinition_1.convertToFieldOptionColor)(option.color),
|
|
277
|
+
description: option.description,
|
|
278
|
+
})),
|
|
279
|
+
}));
|
|
280
|
+
const location = (0, RestProjectRepository_1.projectLocationFromUrl)(project.url);
|
|
281
|
+
if (location) {
|
|
282
|
+
await this.rememberProjectLocation(project.id, location);
|
|
283
|
+
}
|
|
284
|
+
return (0, projectFieldDefinition_1.projectFromDefinition)({
|
|
224
285
|
id: project.id,
|
|
225
286
|
url: project.url,
|
|
226
287
|
databaseId: project.databaseId,
|
|
227
288
|
name: project.title,
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
fieldId: status.id,
|
|
231
|
-
statuses: status.options.map((option) => ({
|
|
232
|
-
id: option.id,
|
|
233
|
-
name: option.name,
|
|
234
|
-
color: (0, exports.convertToFieldOptionColor)(option.color),
|
|
235
|
-
description: option.description,
|
|
236
|
-
})),
|
|
237
|
-
},
|
|
238
|
-
nextActionDate: nextActionDate
|
|
239
|
-
? {
|
|
240
|
-
name: nextActionDate.name,
|
|
241
|
-
fieldId: nextActionDate.id,
|
|
242
|
-
}
|
|
243
|
-
: null,
|
|
244
|
-
nextActionHour: nextActionHour
|
|
245
|
-
? {
|
|
246
|
-
name: nextActionHour.name,
|
|
247
|
-
fieldId: nextActionHour.id,
|
|
248
|
-
}
|
|
249
|
-
: null,
|
|
250
|
-
story: story && workflowManagementStory
|
|
251
|
-
? {
|
|
252
|
-
name: story.name,
|
|
253
|
-
fieldId: story.id,
|
|
254
|
-
databaseId: story.databaseId,
|
|
255
|
-
stories: story.options.map((option) => ({
|
|
256
|
-
id: option.id,
|
|
257
|
-
name: option.name,
|
|
258
|
-
color: (0, exports.convertToFieldOptionColor)(option.color),
|
|
259
|
-
description: option.description,
|
|
260
|
-
})),
|
|
261
|
-
workflowManagementStory,
|
|
262
|
-
}
|
|
263
|
-
: null,
|
|
264
|
-
remainingEstimationMinutes: remainignEstimationMinutes
|
|
265
|
-
? {
|
|
266
|
-
name: remainignEstimationMinutes.name,
|
|
267
|
-
fieldId: remainignEstimationMinutes.id,
|
|
268
|
-
}
|
|
269
|
-
: null,
|
|
270
|
-
dependedIssueUrlSeparatedByComma: dependedIssueUrlSeparatedByComma
|
|
271
|
-
? {
|
|
272
|
-
name: dependedIssueUrlSeparatedByComma.name,
|
|
273
|
-
fieldId: dependedIssueUrlSeparatedByComma.id,
|
|
274
|
-
}
|
|
275
|
-
: null,
|
|
276
|
-
completionDate50PercentConfidence: completionDate50PercentConfidence
|
|
277
|
-
? {
|
|
278
|
-
name: completionDate50PercentConfidence.name,
|
|
279
|
-
fieldId: completionDate50PercentConfidence.id,
|
|
280
|
-
}
|
|
281
|
-
: null,
|
|
282
|
-
};
|
|
289
|
+
fields,
|
|
290
|
+
});
|
|
283
291
|
};
|
|
284
292
|
this.getByUrl = async (url) => {
|
|
285
293
|
const projectId = await this.findProjectIdByUrl(url);
|
|
@@ -293,33 +301,12 @@ class GraphqlProjectRepository extends BaseGitHubRepository_1.BaseGitHubReposito
|
|
|
293
301
|
return project;
|
|
294
302
|
};
|
|
295
303
|
this.listFieldNames = async (project) => {
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
nodes {
|
|
301
|
-
... on ProjectV2FieldCommon {
|
|
302
|
-
name
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
}`;
|
|
309
|
-
const response = await (0, githubGraphqlClient_1.postGithubGraphqlJson)({
|
|
310
|
-
ghToken: this.ghToken,
|
|
311
|
-
query,
|
|
312
|
-
variables: { projectId: project.id },
|
|
313
|
-
});
|
|
314
|
-
if (!response.data || !response.data.node) {
|
|
315
|
-
const errorMessages = response.errors
|
|
316
|
-
? response.errors.map((e) => e.message).join('; ')
|
|
317
|
-
: 'no data field in response';
|
|
318
|
-
throw new Error(`GitHub GraphQL API returned no data for listFieldNames: ${errorMessages}`);
|
|
304
|
+
const location = (0, RestProjectRepository_1.projectLocationFromUrl)(project.url) ??
|
|
305
|
+
(await this.findProjectLocation(project.id));
|
|
306
|
+
if (!location) {
|
|
307
|
+
throw new Error(`listFieldNames: project location is unknown for ${project.id}`);
|
|
319
308
|
}
|
|
320
|
-
return
|
|
321
|
-
.map((field) => field.name)
|
|
322
|
-
.filter((name) => typeof name === 'string');
|
|
309
|
+
return await this.restProjectRepository.listFieldNames(location);
|
|
323
310
|
};
|
|
324
311
|
this.createField = async (project, field) => {
|
|
325
312
|
const mutation = `mutation CreateProjectV2Field($projectId: ID!, $dataType: ProjectV2CustomFieldType!, $name: String!, $singleSelectOptions: [ProjectV2SingleSelectFieldOptionInput!]) {
|
|
@@ -440,6 +427,7 @@ class GraphqlProjectRepository extends BaseGitHubRepository_1.BaseGitHubReposito
|
|
|
440
427
|
projectCache === undefined
|
|
441
428
|
? null
|
|
442
429
|
: new ProjectIssuesCacheRepository_1.ProjectIssuesCacheRepository(projectCache);
|
|
430
|
+
this.restProjectRepository = new RestProjectRepository_1.RestProjectRepository(localStorageRepository, ghToken);
|
|
443
431
|
}
|
|
444
432
|
}
|
|
445
433
|
exports.GraphqlProjectRepository = GraphqlProjectRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphqlProjectRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GraphqlProjectRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RestProjectRepository = exports.projectLocationFromUrl = exports.projectUrlFromLocation = void 0;
|
|
7
|
+
const ky_1 = __importDefault(require("ky"));
|
|
8
|
+
const BaseGitHubRepository_1 = require("./BaseGitHubRepository");
|
|
9
|
+
const projectFieldDefinition_1 = require("./projectFieldDefinition");
|
|
10
|
+
const isNotFoundResponse = (error) => {
|
|
11
|
+
if (typeof error !== 'object' || error === null || !('response' in error)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const response = error.response;
|
|
15
|
+
return (typeof response === 'object' &&
|
|
16
|
+
response !== null &&
|
|
17
|
+
'status' in response &&
|
|
18
|
+
response.status === 404);
|
|
19
|
+
};
|
|
20
|
+
const projectUrlFromLocation = (location) => `https://github.com/${location.ownerType}/${location.owner}/projects/${location.projectNumber}`;
|
|
21
|
+
exports.projectUrlFromLocation = projectUrlFromLocation;
|
|
22
|
+
const projectLocationFromUrl = (projectUrl) => {
|
|
23
|
+
const match = projectUrl.match(/https:\/\/github\.com\/(users|orgs)\/([^/]+)\/projects\/(\d+)/);
|
|
24
|
+
if (!match) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const [, ownerType, owner, projectNumberText] = match;
|
|
28
|
+
return {
|
|
29
|
+
owner,
|
|
30
|
+
ownerType: ownerType === 'orgs' ? 'orgs' : 'users',
|
|
31
|
+
projectNumber: parseInt(projectNumberText, 10),
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
exports.projectLocationFromUrl = projectLocationFromUrl;
|
|
35
|
+
class RestProjectRepository extends BaseGitHubRepository_1.BaseGitHubRepository {
|
|
36
|
+
constructor() {
|
|
37
|
+
super(...arguments);
|
|
38
|
+
this.projectApiUrl = (location) => `https://api.github.com/${location.ownerType}/${location.owner}/projectsV2/${location.projectNumber}`;
|
|
39
|
+
this.requestHeaders = () => ({
|
|
40
|
+
Authorization: `token ${this.ghToken}`,
|
|
41
|
+
Accept: 'application/vnd.github+json',
|
|
42
|
+
});
|
|
43
|
+
this.listFieldDefinitions = async (location) => {
|
|
44
|
+
const fields = await ky_1.default
|
|
45
|
+
.get(`${this.projectApiUrl(location)}/fields`, {
|
|
46
|
+
searchParams: { per_page: 100 },
|
|
47
|
+
headers: this.requestHeaders(),
|
|
48
|
+
})
|
|
49
|
+
.json();
|
|
50
|
+
return fields.map((field) => ({
|
|
51
|
+
fieldId: field.node_id,
|
|
52
|
+
databaseId: field.id,
|
|
53
|
+
name: field.name,
|
|
54
|
+
options: (field.options ?? []).map((option) => ({
|
|
55
|
+
id: option.id,
|
|
56
|
+
name: option.name.raw,
|
|
57
|
+
color: (0, projectFieldDefinition_1.convertToFieldOptionColor)(option.color),
|
|
58
|
+
description: option.description.raw,
|
|
59
|
+
})),
|
|
60
|
+
}));
|
|
61
|
+
};
|
|
62
|
+
this.listFieldNames = async (location) => {
|
|
63
|
+
const fields = await this.listFieldDefinitions(location);
|
|
64
|
+
return fields.map((field) => field.name);
|
|
65
|
+
};
|
|
66
|
+
this.getProject = async (location) => {
|
|
67
|
+
let project;
|
|
68
|
+
let fields;
|
|
69
|
+
try {
|
|
70
|
+
[project, fields] = await Promise.all([
|
|
71
|
+
ky_1.default
|
|
72
|
+
.get(this.projectApiUrl(location), { headers: this.requestHeaders() })
|
|
73
|
+
.json(),
|
|
74
|
+
this.listFieldDefinitions(location),
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
if (isNotFoundResponse(error)) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
const definition = {
|
|
84
|
+
id: project.node_id,
|
|
85
|
+
url: (0, exports.projectUrlFromLocation)(location),
|
|
86
|
+
databaseId: project.id,
|
|
87
|
+
name: project.title,
|
|
88
|
+
fields,
|
|
89
|
+
};
|
|
90
|
+
return (0, projectFieldDefinition_1.projectFromDefinition)(definition);
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.RestProjectRepository = RestProjectRepository;
|
|
95
|
+
//# sourceMappingURL=RestProjectRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RestProjectRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/RestProjectRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -336,6 +336,9 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
|
|
|
336
336
|
this.updateIssue = async (issue) => {
|
|
337
337
|
await this.restIssueRepository.updateIssue(issue);
|
|
338
338
|
};
|
|
339
|
+
this.updateIssueBody = async (issue, body) => {
|
|
340
|
+
await this.restIssueRepository.updateIssueBody(issue, body);
|
|
341
|
+
};
|
|
339
342
|
this.getIssueByUrl = async (url) => {
|
|
340
343
|
const projectItem = await this.graphqlProjectItemRepository.fetchProjectItemByUrl(url);
|
|
341
344
|
if (!projectItem) {
|
|
@@ -1339,25 +1342,42 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
|
|
|
1339
1342
|
this.createCommentByUrl = async (issueOrPrUrl, commentBody) => {
|
|
1340
1343
|
await this.restIssueRepository.createComment(issueOrPrUrl, commentBody);
|
|
1341
1344
|
};
|
|
1342
|
-
this.
|
|
1345
|
+
this.fetchIssueBodyResponse = (url) => {
|
|
1343
1346
|
const { owner, repo, issueNumber } = this.parseIssueUrl(url);
|
|
1344
|
-
|
|
1347
|
+
return this.fetchWithRateLimitRetry(() => fetch(`https://api.github.com/repos/${encodeURIComponent(owner)}/${encodeURIComponent(repo)}/issues/${issueNumber}`, {
|
|
1345
1348
|
method: 'GET',
|
|
1346
1349
|
headers: {
|
|
1347
1350
|
Authorization: `Bearer ${this.ghToken}`,
|
|
1348
1351
|
Accept: 'application/vnd.github+json',
|
|
1349
1352
|
},
|
|
1350
1353
|
}));
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
throw new Error(`Failed to fetch body for ${url}: ${reason}`);
|
|
1354
|
-
}
|
|
1354
|
+
};
|
|
1355
|
+
this.parseIssueBodyResponse = async (url, response) => {
|
|
1355
1356
|
const body = await response.json();
|
|
1356
1357
|
if (!isIssueOrPullRequestBodyResponse(body)) {
|
|
1357
1358
|
throw new Error(`Unexpected response shape when fetching body for ${url}`);
|
|
1358
1359
|
}
|
|
1359
1360
|
return body.body ?? '';
|
|
1360
1361
|
};
|
|
1362
|
+
this.getIssueOrPullRequestBody = async (url) => {
|
|
1363
|
+
const response = await this.fetchIssueBodyResponse(url);
|
|
1364
|
+
if (!response.ok) {
|
|
1365
|
+
const reason = await this.formatGitHubErrorWithStatus(response);
|
|
1366
|
+
throw new Error(`Failed to fetch body for ${url}: ${reason}`);
|
|
1367
|
+
}
|
|
1368
|
+
return this.parseIssueBodyResponse(url, response);
|
|
1369
|
+
};
|
|
1370
|
+
this.getIssueBodyByUrl = async (url) => {
|
|
1371
|
+
const response = await this.fetchIssueBodyResponse(url);
|
|
1372
|
+
if (response.status === 404) {
|
|
1373
|
+
return null;
|
|
1374
|
+
}
|
|
1375
|
+
if (!response.ok) {
|
|
1376
|
+
const reason = await this.formatGitHubErrorWithStatus(response);
|
|
1377
|
+
throw new Error(`Failed to fetch body for ${url}: ${reason}`);
|
|
1378
|
+
}
|
|
1379
|
+
return this.parseIssueBodyResponse(url, response);
|
|
1380
|
+
};
|
|
1361
1381
|
this.getIssueOrPullRequestComments = async (url) => {
|
|
1362
1382
|
const { owner, repo, issueNumber } = this.parseIssueUrl(url);
|
|
1363
1383
|
const perPage = 100;
|