github-issue-tower-defence-management 1.154.0 → 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 +7 -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/projectFieldDefinition.js +88 -0
- package/bin/adapter/repositories/projectFieldDefinition.js.map +1 -0
- package/package.json +1 -1
- 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/projectFieldDefinition.test.ts +189 -0
- package/src/adapter/repositories/projectFieldDefinition.ts +131 -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/projectFieldDefinition.d.ts +17 -0
- package/types/adapter/repositories/projectFieldDefinition.d.ts.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
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
|
+
|
|
1
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)
|
|
2
9
|
|
|
3
10
|
|
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":";;;AAAA,iEAA8D;AAC9D,+DAA8D;AAE9D,iFAA8E;AAK9E,qEAIkC;AAClC,mEAIiC;AAEjC,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC,MAAM,gCAAgC,GAAG,WAAW,CAAC;AAErD,MAAM,sCAAsC,GAAG,iBAAiB,CAAC;AAEjE,MAAa,wBACX,SAAQ,2CAAoB;IAuB5B,YACE,sBAA8C,EAC9C,UAAkB,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,EACjD,YAGC;QAED,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAlBxB,mBAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,2BAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACnD,yBAAoB,GAAG,IAAI,GAAG,EAA2B,CAAC;QA4BnE,qCAAgC,GAAG,KAAK,EAC9C,SAAwB,EACS,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,KAAgD,CAAC;YACrD,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CACvC,GAAG,sCAAsC,IAAI,SAAS,EAAE,CACzD,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CACV,mIAAmI,SAAS,YAAY,MAAM,CAAC,KAAK,CAAC,EAAE,CACxK,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,GAAY,KAAK,CAAC,KAAK,CAAC;YACnC,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,KAAK,KAAK,IAAI;gBACd,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;gBACnB,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC;gBACvB,CAAC,CAAC,eAAe,IAAI,KAAK,CAAC;gBAC3B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAC/B,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;gBACvC,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,EAC3D,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;aACnC,CAAC;QACJ,CAAC,CAAC;QAEM,4BAAuB,GAAG,KAAK,EACrC,SAAwB,EACxB,QAAyB,EACV,EAAE;YACjB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CACzB,GAAG,sCAAsC,IAAI,SAAS,EAAE,EACxD,QAAQ,CACT,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CACV,yJAAyJ,SAAS,YAAY,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9L,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEM,wBAAmB,GAAG,KAAK,EACjC,SAAwB,EACS,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACrD,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,+BAA0B,GAAG,KAAK,EACxC,QAAgB,EACQ,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,KAAgD,CAAC;YACrD,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CACvC,GAAG,gCAAgC,IAAI,QAAQ,EAAE,CAClD,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IACE,WAAW,IAAI,KAAK,CAAC,KAAK;gBAC1B,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,EACzC,CAAC;gBACD,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,8BAAyB,GAAG,KAAK,EACvC,QAAgB,EAChB,SAAiB,EACF,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CACzB,GAAG,gCAAgC,IAAI,QAAQ,EAAE,EACjD,EAAE,SAAS,EAAE,CACd,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC,CAAC;QAEF,0BAAqB,GAAG,CACtB,UAAkB,EAIlB,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAClC,CAAC,CAAC;QACF,mBAAc,GAAG,KAAK,EACpB,KAAa,EACb,aAAqB,EACJ,EAAE;YACnB,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,aAAa,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9C,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CACb,sBAAsB,KAAK,IAAI,aAAa,uCAAuC,CACpF,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG;gBACnB,KAAK,EAAE;;;;;;;;;;;;;EAaX;gBACI,SAAS,EAAE;oBACT,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,aAAa;iBACtB;aACF,CAAC;YAEF,IAAI,QAgBH,CAAC;YACF,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAA,2CAAqB,EAgBnC;oBACD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,SAAS,EAAE,YAAY,CAAC,SAAS;iBAClC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,MAAM,IAAI,KAAK,CACb,oCAAoC,KAAK,IAAI,aAAa,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,EAC9E,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;oBACnC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClD,CAAC,CAAC,2BAA2B,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,2DAA2D,aAAa,EAAE,CAC3E,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GACb,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE;gBACzC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,MAAM,IAAI,KAAK,CACb,yCAAyC,KAAK,IAAI,aAAa,EAAE,CAClE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE;gBAC5C,KAAK,EAAE,KAAK;gBACZ,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;gBACvE,aAAa;aACd,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACF,uBAAkB,GAAG,KAAK,EACxB,UAAkB,EACa,EAAE;YACjC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACxE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,eAAU,GAAG,KAAK,EAAE,SAAwB,EAA2B,EAAE;YACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACtE,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,yIAAyI,SAAS,YAAY,QAAQ,CAAC,KAAK,oBAAoB,QAAQ,CAAC,aAAa,EAAE,CACzN,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;QAEM,0BAAqB,GAAG,KAAK,EACnC,SAAwB,EACC,EAAE;YAC3B,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDjB,CAAC;YACE,MAAM,SAAS,GAAG;gBAChB,SAAS,EAAE,SAAS;aACrB,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAA,2CAAqB,EAqCzC;gBACD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK;gBACL,SAAS;aACV,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;oBACnC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClD,CAAC,CAAC,2BAA2B,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,uDAAuD,aAAa,EAAE,CACvE,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,MAAM,GAA6B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAC/D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACV,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC9C,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,IAAA,kDAAyB,EAAC,MAAM,CAAC,KAAK,CAAC;oBAC9C,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC,CAAC;aACJ,CAAC,CACH,CAAC;YACF,MAAM,QAAQ,GAAG,IAAA,8CAAsB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,IAAA,8CAAqB,EAAC;gBAC3B,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,IAAI,EAAE,OAAO,CAAC,KAAK;gBACnB,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC;QACF,aAAQ,GAAG,KAAK,EAAE,GAAW,EAAoB,EAAE;YACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,mBAAc,GAAG,KAAK,EAAE,OAAgB,EAAqB,EAAE;YAC7D,MAAM,QAAQ,GACZ,IAAA,8CAAsB,EAAC,OAAO,CAAC,GAAG,CAAC;gBACnC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,mDAAmD,OAAO,CAAC,EAAE,EAAE,CAChE,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,gBAAW,GAAG,KAAK,EACjB,OAAgB,EAChB,KAAqC,EACtB,EAAE;YACjB,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;EAcnB,CAAC;YACC,MAAM,QAAQ,GAAG,MAAM,IAAA,2CAAqB,EAOzC;gBACD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE;oBACT,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,mBAAmB,EACjB,KAAK,CAAC,QAAQ,KAAK,eAAe;wBAChC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;4BACnD,IAAI;4BACJ,KAAK;4BACL,WAAW;yBACZ,CAAC,CAAC;wBACL,CAAC,CAAC,IAAI;iBACX;aACF,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;oBACnC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClD,CAAC,CAAC,2BAA2B,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,uDAAuD,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CACtF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QACF,oBAAe,GAAG,KAAK,EACrB,OAAgB,EAChB,YAEI,EACoB,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;EAgBnB,CAAC;YACC,MAAM,SAAS,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;gBAC9B,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC/D,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9B,IAAI;oBACJ,KAAK;oBACL,WAAW;iBACZ,CAAC,CAAC;aACJ,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAA,2CAAqB,EAQzC;gBACD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,QAAQ;gBACf,SAAS;aACV,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC;YAC1E,MAAM,IAAI,CAAC,4BAA4B,EAAE,kBAAkB,CACzD,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,KAAK,CAAC,OAAO,EACrB,OAAO,CACR,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,qBAAgB,GAAG,KAAK,EACtB,OAAgB,EAChB,aAEI,EACoB,EAAE;YAC1B,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;EAgBnB,CAAC;YACC,MAAM,SAAS,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;gBAC/B,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;oBAChE,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9B,IAAI;oBACJ,KAAK;oBACL,WAAW;iBACZ,CAAC,CAAC;aACJ,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAA,2CAAqB,EAQzC;gBACD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,QAAQ;gBACf,SAAS;aACV,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC;YAC1E,MAAM,IAAI,CAAC,4BAA4B,EAAE,kBAAkB,CACzD,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,MAAM,CAAC,OAAO,EACtB,OAAO,CACR,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QArlBA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,4BAA4B;YAC/B,YAAY,KAAK,SAAS;gBACxB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,2DAA4B,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,6CAAqB,CACpD,sBAAsB,EACtB,OAAO,CACR,CAAC;IACJ,CAAC;CA6kBF;AAvnBD,4DAunBC"}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectFromDefinition = exports.convertToFieldOptionColor = void 0;
|
|
4
|
+
const RequiredProjectField_1 = require("../../domain/entities/RequiredProjectField");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const convertToFieldOptionColor = (color) => {
|
|
7
|
+
switch (color) {
|
|
8
|
+
case 'RED':
|
|
9
|
+
case 'YELLOW':
|
|
10
|
+
case 'GREEN':
|
|
11
|
+
case 'BLUE':
|
|
12
|
+
case 'PURPLE':
|
|
13
|
+
case 'ORANGE':
|
|
14
|
+
case 'PINK':
|
|
15
|
+
case 'GRAY':
|
|
16
|
+
return color;
|
|
17
|
+
default:
|
|
18
|
+
return 'GRAY';
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.convertToFieldOptionColor = convertToFieldOptionColor;
|
|
22
|
+
const projectFromDefinition = (definition) => {
|
|
23
|
+
const nextActionDate = definition.fields.find((field) => (0, utils_1.normalizeFieldName)(field.name) ===
|
|
24
|
+
(0, utils_1.normalizeFieldName)(RequiredProjectField_1.NEXT_ACTION_DATE_FIELD_NAME));
|
|
25
|
+
const nextActionHour = definition.fields.find((field) => (0, utils_1.normalizeFieldName)(field.name) ===
|
|
26
|
+
(0, utils_1.normalizeFieldName)(RequiredProjectField_1.NEXT_ACTION_HOUR_FIELD_NAME));
|
|
27
|
+
const status = definition.fields.find((field) => (0, utils_1.normalizeFieldName)(field.name) === 'status');
|
|
28
|
+
if (!status) {
|
|
29
|
+
throw new Error('status field is not found');
|
|
30
|
+
}
|
|
31
|
+
const story = definition.fields.find((field) => (0, utils_1.normalizeFieldName)(field.name) === (0, utils_1.normalizeFieldName)(RequiredProjectField_1.STORY_FIELD_NAME));
|
|
32
|
+
const workflowManagementStory = story?.options.find((option) => (0, utils_1.normalizeFieldName)(option.name).includes('workflowmanagement'));
|
|
33
|
+
const remainingEstimationMinutes = definition.fields.find((field) => (0, utils_1.normalizeFieldName)(field.name) === 'remainingestimationminutes');
|
|
34
|
+
const dependedIssueUrlSeparatedByComma = definition.fields.find((field) => (0, utils_1.normalizeFieldName)(field.name).startsWith((0, utils_1.normalizeFieldName)(RequiredProjectField_1.DEPENDED_ISSUE_URL_FIELD_NAME)));
|
|
35
|
+
const completionDate50PercentConfidence = definition.fields.find((field) => (0, utils_1.normalizeFieldName)(field.name).startsWith('completiondate'));
|
|
36
|
+
return {
|
|
37
|
+
id: definition.id,
|
|
38
|
+
url: definition.url,
|
|
39
|
+
databaseId: definition.databaseId,
|
|
40
|
+
name: definition.name,
|
|
41
|
+
status: {
|
|
42
|
+
name: status.name,
|
|
43
|
+
fieldId: status.fieldId,
|
|
44
|
+
statuses: status.options,
|
|
45
|
+
},
|
|
46
|
+
nextActionDate: nextActionDate
|
|
47
|
+
? {
|
|
48
|
+
name: nextActionDate.name,
|
|
49
|
+
fieldId: nextActionDate.fieldId,
|
|
50
|
+
}
|
|
51
|
+
: null,
|
|
52
|
+
nextActionHour: nextActionHour
|
|
53
|
+
? {
|
|
54
|
+
name: nextActionHour.name,
|
|
55
|
+
fieldId: nextActionHour.fieldId,
|
|
56
|
+
}
|
|
57
|
+
: null,
|
|
58
|
+
story: story && workflowManagementStory
|
|
59
|
+
? {
|
|
60
|
+
name: story.name,
|
|
61
|
+
fieldId: story.fieldId,
|
|
62
|
+
databaseId: story.databaseId,
|
|
63
|
+
stories: story.options,
|
|
64
|
+
workflowManagementStory,
|
|
65
|
+
}
|
|
66
|
+
: null,
|
|
67
|
+
remainingEstimationMinutes: remainingEstimationMinutes
|
|
68
|
+
? {
|
|
69
|
+
name: remainingEstimationMinutes.name,
|
|
70
|
+
fieldId: remainingEstimationMinutes.fieldId,
|
|
71
|
+
}
|
|
72
|
+
: null,
|
|
73
|
+
dependedIssueUrlSeparatedByComma: dependedIssueUrlSeparatedByComma
|
|
74
|
+
? {
|
|
75
|
+
name: dependedIssueUrlSeparatedByComma.name,
|
|
76
|
+
fieldId: dependedIssueUrlSeparatedByComma.fieldId,
|
|
77
|
+
}
|
|
78
|
+
: null,
|
|
79
|
+
completionDate50PercentConfidence: completionDate50PercentConfidence
|
|
80
|
+
? {
|
|
81
|
+
name: completionDate50PercentConfidence.name,
|
|
82
|
+
fieldId: completionDate50PercentConfidence.fieldId,
|
|
83
|
+
}
|
|
84
|
+
: null,
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
exports.projectFromDefinition = projectFromDefinition;
|
|
88
|
+
//# sourceMappingURL=projectFieldDefinition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectFieldDefinition.js","sourceRoot":"","sources":["../../../src/adapter/repositories/projectFieldDefinition.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -111,7 +111,7 @@ describe('GraphqlProjectRepository disk cache', () => {
|
|
|
111
111
|
});
|
|
112
112
|
|
|
113
113
|
describe('getProject', () => {
|
|
114
|
-
it('
|
|
114
|
+
it('fetches the project fresh on a cold start and writes only the immutable project location to the disk cache', async () => {
|
|
115
115
|
const cache = buildCacheStub();
|
|
116
116
|
mockPost.mockReturnValueOnce(mockJsonResponse(getProjectResponse));
|
|
117
117
|
const repository = new GraphqlProjectRepository(
|
|
@@ -124,8 +124,15 @@ describe('GraphqlProjectRepository disk cache', () => {
|
|
|
124
124
|
|
|
125
125
|
expect(project).toEqual(expectedProject);
|
|
126
126
|
expect(mockPost).toHaveBeenCalledTimes(1);
|
|
127
|
-
expect(cache.getLatest).
|
|
128
|
-
|
|
127
|
+
expect(cache.getLatest.mock.calls).toEqual([
|
|
128
|
+
[`projectLocation-${projectId}`],
|
|
129
|
+
]);
|
|
130
|
+
expect(cache.set.mock.calls).toEqual([
|
|
131
|
+
[
|
|
132
|
+
`projectLocation-${projectId}`,
|
|
133
|
+
{ owner: 'owner', ownerType: 'users', projectNumber: 49 },
|
|
134
|
+
],
|
|
135
|
+
]);
|
|
129
136
|
});
|
|
130
137
|
|
|
131
138
|
it('does not serve a project from the disk cache even when one is present', async () => {
|
|
@@ -146,7 +153,12 @@ describe('GraphqlProjectRepository disk cache', () => {
|
|
|
146
153
|
|
|
147
154
|
expect(project).toEqual(expectedProject);
|
|
148
155
|
expect(mockPost).toHaveBeenCalledTimes(1);
|
|
149
|
-
expect(cache.set).
|
|
156
|
+
expect(cache.set.mock.calls).toEqual([
|
|
157
|
+
[
|
|
158
|
+
`projectLocation-${projectId}`,
|
|
159
|
+
{ owner: 'owner', ownerType: 'users', projectNumber: 49 },
|
|
160
|
+
],
|
|
161
|
+
]);
|
|
150
162
|
});
|
|
151
163
|
});
|
|
152
164
|
|