github-issue-tower-defence-management 1.1.0 → 1.2.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/.github/workflows/commit-lint.yml +0 -2
- package/.github/workflows/empty-format-test-job.yml +28 -0
- package/.github/workflows/test.yml +1 -0
- package/CHANGELOG.md +20 -41
- package/bin/adapter/entry-points/cli/index.js +0 -0
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +127 -16
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
- package/bin/adapter/repositories/BaseGitHubRepository.js +3 -2
- package/bin/adapter/repositories/BaseGitHubRepository.js.map +1 -1
- package/bin/adapter/repositories/GraphqlProjectRepository.js +16 -0
- package/bin/adapter/repositories/GraphqlProjectRepository.js.map +1 -1
- package/bin/adapter/repositories/LocalStorageRepository.js +6 -0
- package/bin/adapter/repositories/LocalStorageRepository.js.map +1 -1
- package/bin/adapter/repositories/SystemDateRepository.js +15 -3
- package/bin/adapter/repositories/SystemDateRepository.js.map +1 -1
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +61 -9
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
- package/bin/adapter/repositories/issue/CheerioIssueRepository.js +28 -2
- package/bin/adapter/repositories/issue/CheerioIssueRepository.js.map +1 -1
- package/bin/adapter/repositories/issue/GraphqlProjectItemRepository.js +7 -0
- package/bin/adapter/repositories/issue/GraphqlProjectItemRepository.js.map +1 -1
- package/bin/adapter/repositories/issue/RestIssueRepository.js +1 -0
- package/bin/adapter/repositories/issue/RestIssueRepository.js.map +1 -1
- package/bin/adapter/repositories/utils.js +1 -6
- package/bin/adapter/repositories/utils.js.map +1 -1
- package/bin/domain/usecases/AnalyzeProblemByIssueUseCase.js +98 -65
- package/bin/domain/usecases/AnalyzeProblemByIssueUseCase.js.map +1 -1
- package/bin/domain/usecases/AnalyzeStoriesUseCase.js +108 -0
- package/bin/domain/usecases/AnalyzeStoriesUseCase.js.map +1 -0
- package/bin/domain/usecases/ClearDependedIssueURLUseCase.js +66 -0
- package/bin/domain/usecases/ClearDependedIssueURLUseCase.js.map +1 -0
- package/bin/domain/usecases/CreateEstimationIssueUseCase.js +100 -0
- package/bin/domain/usecases/CreateEstimationIssueUseCase.js.map +1 -0
- package/bin/domain/usecases/HandleScheduledEventUseCase.js +124 -2
- package/bin/domain/usecases/HandleScheduledEventUseCase.js.map +1 -1
- package/bin/domain/usecases/utils.js +24 -0
- package/bin/domain/usecases/utils.js.map +1 -0
- package/package.json +2 -2
- package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +73 -7
- package/src/adapter/repositories/AxiosSlackRepository.test.ts +3 -0
- package/src/adapter/repositories/BaseGitHubRepository.test.ts +3 -1
- package/src/adapter/repositories/BaseGitHubRepository.ts +3 -1
- package/src/adapter/repositories/GraphqlProjectRepository.test.ts +5 -1
- package/src/adapter/repositories/GraphqlProjectRepository.ts +25 -0
- package/src/adapter/repositories/LocalStorageCacheRepository.test.ts +1 -0
- package/src/adapter/repositories/LocalStorageRepository.ts +6 -0
- package/src/adapter/repositories/SystemDateRepository.ts +17 -3
- package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.test.ts +8 -0
- package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts +103 -16
- package/src/adapter/repositories/issue/ApiV3IssueRepository.test.ts +3 -0
- package/src/adapter/repositories/issue/CheerioIssueRepository.test.ts +10 -0
- package/src/adapter/repositories/issue/CheerioIssueRepository.ts +37 -1
- package/src/adapter/repositories/issue/GraphqlProjectItemRepository.test.ts +7 -1
- package/src/adapter/repositories/issue/GraphqlProjectItemRepository.ts +15 -0
- package/src/adapter/repositories/issue/InternalGraphqlIssueRepository.test.ts +7 -1
- package/src/adapter/repositories/issue/RestIssueRepository.test.ts +3 -0
- package/src/adapter/repositories/issue/RestIssueRepository.ts +5 -2
- package/src/adapter/repositories/utils.test.ts +16 -1
- package/src/adapter/repositories/utils.ts +1 -6
- package/src/domain/entities/Issue.ts +4 -0
- package/src/domain/entities/Project.ts +15 -4
- package/src/domain/usecases/AnalyzeProblemByIssueUseCase.ts +151 -115
- package/src/domain/usecases/AnalyzeStoriesUseCase.ts +167 -0
- package/src/domain/usecases/ClearDependedIssueURLUseCase.test.ts +840 -0
- package/src/domain/usecases/ClearDependedIssueURLUseCase.ts +107 -0
- package/src/domain/usecases/CreateEstimationIssueUseCase.ts +157 -0
- package/src/domain/usecases/GenerateWorkingTimeReportUseCase.test.ts +8 -0
- package/src/domain/usecases/HandleScheduledEventUseCase.ts +171 -2
- package/src/domain/usecases/adapter-interfaces/DateRepository.ts +2 -0
- package/src/domain/usecases/adapter-interfaces/IssueRepository.ts +8 -1
- package/src/domain/usecases/utils.ts +28 -0
- package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
- package/types/adapter/repositories/BaseGitHubRepository.d.ts +3 -1
- package/types/adapter/repositories/BaseGitHubRepository.d.ts.map +1 -1
- package/types/adapter/repositories/GraphqlProjectRepository.d.ts.map +1 -1
- package/types/adapter/repositories/LocalStorageRepository.d.ts +1 -0
- package/types/adapter/repositories/LocalStorageRepository.d.ts.map +1 -1
- package/types/adapter/repositories/SystemDateRepository.d.ts +2 -0
- package/types/adapter/repositories/SystemDateRepository.d.ts.map +1 -1
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts +14 -5
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
- package/types/adapter/repositories/issue/CheerioIssueRepository.d.ts +7 -1
- package/types/adapter/repositories/issue/CheerioIssueRepository.d.ts.map +1 -1
- package/types/adapter/repositories/issue/GraphqlProjectItemRepository.d.ts +3 -0
- package/types/adapter/repositories/issue/GraphqlProjectItemRepository.d.ts.map +1 -1
- package/types/adapter/repositories/issue/RestIssueRepository.d.ts +1 -1
- package/types/adapter/repositories/issue/RestIssueRepository.d.ts.map +1 -1
- package/types/adapter/repositories/utils.d.ts.map +1 -1
- package/types/domain/entities/Issue.d.ts +4 -0
- package/types/domain/entities/Issue.d.ts.map +1 -1
- package/types/domain/entities/Project.d.ts +15 -4
- package/types/domain/entities/Project.d.ts.map +1 -1
- package/types/domain/usecases/AnalyzeProblemByIssueUseCase.d.ts +13 -8
- package/types/domain/usecases/AnalyzeProblemByIssueUseCase.d.ts.map +1 -1
- package/types/domain/usecases/AnalyzeStoriesUseCase.d.ts +29 -0
- package/types/domain/usecases/AnalyzeStoriesUseCase.d.ts.map +1 -0
- package/types/domain/usecases/ClearDependedIssueURLUseCase.d.ts +13 -0
- package/types/domain/usecases/ClearDependedIssueURLUseCase.d.ts.map +1 -0
- package/types/domain/usecases/CreateEstimationIssueUseCase.d.ts +33 -0
- package/types/domain/usecases/CreateEstimationIssueUseCase.d.ts.map +1 -0
- package/types/domain/usecases/HandleScheduledEventUseCase.d.ts +26 -2
- package/types/domain/usecases/HandleScheduledEventUseCase.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/DateRepository.d.ts +2 -0
- package/types/domain/usecases/adapter-interfaces/DateRepository.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts +3 -1
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts.map +1 -1
- package/types/domain/usecases/utils.d.ts +5 -0
- package/types/domain/usecases/utils.d.ts.map +1 -0
|
@@ -8,18 +8,29 @@ const typia_1 = __importDefault(require("typia"));
|
|
|
8
8
|
const BaseGitHubRepository_1 = require("../BaseGitHubRepository");
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
10
|
class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubRepository {
|
|
11
|
-
constructor(apiV3IssueRepository, cheerioIssueRepository, restIssueRepository, graphqlProjectItemRepository, localStorageCacheRepository
|
|
12
|
-
|
|
11
|
+
constructor(apiV3IssueRepository, cheerioIssueRepository, restIssueRepository, graphqlProjectItemRepository, localStorageCacheRepository, localStorageRepository, jsonFilePath = './tmp/github.com.cookies.json', ghToken = process.env.GH_TOKEN || 'dummy', ghUserName = process.env.GH_USER_NAME, ghUserPassword = process.env.GH_USER_PASSWORD, ghAuthenticatorKey = process.env
|
|
12
|
+
.GH_AUTHENTICATOR_KEY) {
|
|
13
|
+
super(localStorageRepository, jsonFilePath, ghToken, ghUserName, ghUserPassword, ghAuthenticatorKey);
|
|
13
14
|
this.apiV3IssueRepository = apiV3IssueRepository;
|
|
14
15
|
this.cheerioIssueRepository = cheerioIssueRepository;
|
|
15
16
|
this.restIssueRepository = restIssueRepository;
|
|
16
17
|
this.graphqlProjectItemRepository = graphqlProjectItemRepository;
|
|
17
18
|
this.localStorageCacheRepository = localStorageCacheRepository;
|
|
19
|
+
this.localStorageRepository = localStorageRepository;
|
|
20
|
+
this.jsonFilePath = jsonFilePath;
|
|
21
|
+
this.ghToken = ghToken;
|
|
22
|
+
this.ghUserName = ghUserName;
|
|
23
|
+
this.ghUserPassword = ghUserPassword;
|
|
24
|
+
this.ghAuthenticatorKey = ghAuthenticatorKey;
|
|
18
25
|
this.convertProjectItemAndCheerioIssueToIssue = async (item, cheerioIssue) => {
|
|
19
26
|
const timeline = cheerioIssue.inProgressTimeline;
|
|
20
27
|
const nextActionDate = item.customFields.find((field) => (0, utils_1.normalizeFieldName)(field.name) === 'nextactiondate')?.value;
|
|
21
28
|
const nextActionHour = item.customFields.find((field) => (0, utils_1.normalizeFieldName)(field.name) === 'nextactionhour')?.value;
|
|
22
29
|
const estimationMinutes = item.customFields.find((field) => (0, utils_1.normalizeFieldName)(field.name) === 'estimationminutes')?.value;
|
|
30
|
+
const dependedIssueUrls = item.customFields
|
|
31
|
+
.find((field) => (0, utils_1.normalizeFieldName)(field.name).startsWith('dependedissueurls'))
|
|
32
|
+
?.value?.split(',') || [];
|
|
33
|
+
const completionDate50PercentConfidence = item.customFields.find((field) => (0, utils_1.normalizeFieldName)(field.name).startsWith('completiondate50'))?.value;
|
|
23
34
|
const story = item.customFields.find((field) => (0, utils_1.normalizeFieldName)(field.name) === 'story')?.value;
|
|
24
35
|
const status = item.customFields.find((field) => (0, utils_1.normalizeFieldName)(field.name) === 'status')?.value;
|
|
25
36
|
const { owner, repo } = this.extractIssueFromUrl(item.url);
|
|
@@ -35,6 +46,10 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
|
|
|
35
46
|
nextActionDate: nextActionDate ? new Date(nextActionDate) : null,
|
|
36
47
|
nextActionHour: nextActionHour ? parseInt(nextActionHour) : null,
|
|
37
48
|
estimationMinutes: estimationMinutes ? parseInt(estimationMinutes) : null,
|
|
49
|
+
dependedIssueUrls: dependedIssueUrls,
|
|
50
|
+
completionDate50PercentConfidence: completionDate50PercentConfidence
|
|
51
|
+
? new Date(completionDate50PercentConfidence)
|
|
52
|
+
: null,
|
|
38
53
|
status: status || null,
|
|
39
54
|
story: story || null,
|
|
40
55
|
org: owner,
|
|
@@ -42,6 +57,8 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
|
|
|
42
57
|
body: item.body,
|
|
43
58
|
itemId: item.id,
|
|
44
59
|
isPr: item.url.includes('/pull/'),
|
|
60
|
+
isInProgress: (0, utils_1.normalizeFieldName)(cheerioIssue.status).includes('progress'),
|
|
61
|
+
isClosed: item.state !== 'OPEN',
|
|
45
62
|
};
|
|
46
63
|
};
|
|
47
64
|
this.getAllIssuesFromCache = async (cacheKey, allowCacheMinutes) => {
|
|
@@ -88,7 +105,7 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
|
|
|
88
105
|
workingTimeline: workingTimeline,
|
|
89
106
|
};
|
|
90
107
|
});
|
|
91
|
-
if ((() => { const $io0 = input => "string" === typeof input.nameWithOwner && "number" === typeof input.number && "string" === typeof input.title && ("OPEN" === input.state || "CLOSED" === input.state || "MERGED" === input.state) && (null === input.status || "string" === typeof input.status) && (null === input.story || "string" === typeof input.story) && (null === input.nextActionDate || input.nextActionDate instanceof Date) && (null === input.nextActionHour || "number" === typeof input.nextActionHour) && (null === input.estimationMinutes || "number" === typeof input.estimationMinutes) && "string" === typeof input.url && (Array.isArray(input.assignees) && input.assignees.every(elem => "string" === typeof elem)) && (Array.isArray(input.workingTimeline) && input.workingTimeline.every(elem => "object" === typeof elem && null !== elem && $io1(elem))) && (Array.isArray(input.labels) && input.labels.every(elem => "string" === typeof elem)) && "string" === typeof input.org && "string" === typeof input.repo && "string" === typeof input.body && "string" === typeof input.itemId && "boolean" === typeof input.isPr; const $io1 = input => "string" === typeof input.author && input.startedAt instanceof Date && input.endedAt instanceof Date && "number" === typeof input.durationMinutes; return input => Array.isArray(input) && input.every(elem => "object" === typeof elem && null !== elem && $io0(elem)); })()(issues)) {
|
|
108
|
+
if ((() => { const $io0 = input => "string" === typeof input.nameWithOwner && "number" === typeof input.number && "string" === typeof input.title && ("OPEN" === input.state || "CLOSED" === input.state || "MERGED" === input.state) && (null === input.status || "string" === typeof input.status) && (null === input.story || "string" === typeof input.story) && (null === input.nextActionDate || input.nextActionDate instanceof Date) && (null === input.nextActionHour || "number" === typeof input.nextActionHour) && (null === input.estimationMinutes || "number" === typeof input.estimationMinutes) && (Array.isArray(input.dependedIssueUrls) && input.dependedIssueUrls.every(elem => "string" === typeof elem)) && (null === input.completionDate50PercentConfidence || input.completionDate50PercentConfidence instanceof Date) && "string" === typeof input.url && (Array.isArray(input.assignees) && input.assignees.every(elem => "string" === typeof elem)) && (Array.isArray(input.workingTimeline) && input.workingTimeline.every(elem => "object" === typeof elem && null !== elem && $io1(elem))) && (Array.isArray(input.labels) && input.labels.every(elem => "string" === typeof elem)) && "string" === typeof input.org && "string" === typeof input.repo && "string" === typeof input.body && "string" === typeof input.itemId && "boolean" === typeof input.isPr && "boolean" === typeof input.isInProgress && "boolean" === typeof input.isClosed; const $io1 = input => "string" === typeof input.author && input.startedAt instanceof Date && input.endedAt instanceof Date && "number" === typeof input.durationMinutes; return input => Array.isArray(input) && input.every(elem => "object" === typeof elem && null !== elem && $io0(elem)); })()(issues)) {
|
|
92
109
|
return issues;
|
|
93
110
|
}
|
|
94
111
|
}
|
|
@@ -107,14 +124,42 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
|
|
|
107
124
|
};
|
|
108
125
|
this.getAllIssuesFromGitHub = async (projectId) => {
|
|
109
126
|
const items = await this.graphqlProjectItemRepository.fetchProjectItems(projectId);
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
127
|
+
const processItemsInBatches = async (items, batchSize) => {
|
|
128
|
+
let result = [];
|
|
129
|
+
await this.cheerioIssueRepository.refreshCookie();
|
|
130
|
+
for (let i = 0; i < items.length; i += batchSize) {
|
|
131
|
+
const batch = items.slice(i, i + batchSize);
|
|
132
|
+
const issues = await Promise.all(batch.map(async (item) => {
|
|
133
|
+
const cheerioIssue = await this.cheerioIssueRepository.getIssue(item.url);
|
|
134
|
+
return this.convertProjectItemAndCheerioIssueToIssue(item, cheerioIssue);
|
|
135
|
+
}));
|
|
136
|
+
result = result.concat(issues);
|
|
137
|
+
}
|
|
138
|
+
return result;
|
|
139
|
+
};
|
|
140
|
+
const issues = await processItemsInBatches(items, 10);
|
|
141
|
+
// const issues = await Promise.all(
|
|
142
|
+
// items.map(async (item): Promise<Issue> => {
|
|
143
|
+
// const cheerioIssue = await this.cheerioIssueRepository.getIssue(
|
|
144
|
+
// item.url,
|
|
145
|
+
// );
|
|
146
|
+
// return this.convertProjectItemAndCheerioIssueToIssue(
|
|
147
|
+
// item,
|
|
148
|
+
// cheerioIssue,
|
|
149
|
+
// );
|
|
150
|
+
// }),
|
|
151
|
+
// );
|
|
152
|
+
// const issues: Issue[] = [];
|
|
153
|
+
// for (const item of items) {
|
|
154
|
+
// const cheerioIssue = await this.cheerioIssueRepository.getIssue(item.url);
|
|
155
|
+
// issues.push(
|
|
156
|
+
// await this.convertProjectItemAndCheerioIssueToIssue(item, cheerioIssue),
|
|
157
|
+
// );
|
|
158
|
+
// }
|
|
114
159
|
return issues;
|
|
115
160
|
};
|
|
116
161
|
this.createNewIssue = async (org, repo, title, body, assignees, labels) => {
|
|
117
|
-
await this.restIssueRepository.createNewIssue(org, repo, title, body, assignees, labels);
|
|
162
|
+
return await this.restIssueRepository.createNewIssue(org, repo, title, body, assignees, labels);
|
|
118
163
|
};
|
|
119
164
|
this.updateIssue = async (issue) => {
|
|
120
165
|
await this.restIssueRepository.updateIssue(issue);
|
|
@@ -140,7 +185,14 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
|
|
|
140
185
|
await this.graphqlProjectItemRepository.updateProjectField(project.id, project.story.fieldId, issue.itemId, { singleSelectOptionId: storyOptionId });
|
|
141
186
|
};
|
|
142
187
|
this.clearProjectField = async (project, fieldId, issue) => {
|
|
143
|
-
|
|
188
|
+
await this.graphqlProjectItemRepository.clearProjectField(project.id, fieldId, issue.itemId);
|
|
189
|
+
return;
|
|
190
|
+
};
|
|
191
|
+
this.createComment = async (issue, comment) => {
|
|
192
|
+
await this.restIssueRepository.createComment(issue.url, comment);
|
|
193
|
+
};
|
|
194
|
+
this.updateProjectTextField = async (project, fieldId, issue, text) => {
|
|
195
|
+
await this.graphqlProjectItemRepository.updateProjectTextField(project.id, fieldId, issue.itemId, text);
|
|
144
196
|
};
|
|
145
197
|
}
|
|
146
198
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiV3CheerioRestIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":";;;;;;AAeA,kDAA0B;AAC1B,kEAA+D;AAC/D,oCAA8C;
|
|
1
|
+
{"version":3,"file":"ApiV3CheerioRestIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,11 +32,16 @@ const cheerio = __importStar(require("cheerio"));
|
|
|
32
32
|
const BaseGitHubRepository_1 = require("../BaseGitHubRepository");
|
|
33
33
|
const issueTimelineUtils_1 = require("./issueTimelineUtils");
|
|
34
34
|
class CheerioIssueRepository extends BaseGitHubRepository_1.BaseGitHubRepository {
|
|
35
|
-
constructor(internalGraphqlIssueRepository, jsonFilePath = './tmp/github.com.cookies.json', ghToken = process.env.GH_TOKEN || 'dummy'
|
|
36
|
-
|
|
35
|
+
constructor(internalGraphqlIssueRepository, localStorageRepository, jsonFilePath = './tmp/github.com.cookies.json', ghToken = process.env.GH_TOKEN || 'dummy', ghUserName = process.env.GH_USER_NAME, ghUserPassword = process.env.GH_USER_PASSWORD, ghAuthenticatorKey = process.env
|
|
36
|
+
.GH_AUTHENTICATOR_KEY) {
|
|
37
|
+
super(localStorageRepository, jsonFilePath, ghToken, ghUserName, ghUserPassword, ghAuthenticatorKey);
|
|
37
38
|
this.internalGraphqlIssueRepository = internalGraphqlIssueRepository;
|
|
39
|
+
this.localStorageRepository = localStorageRepository;
|
|
38
40
|
this.jsonFilePath = jsonFilePath;
|
|
39
41
|
this.ghToken = ghToken;
|
|
42
|
+
this.ghUserName = ghUserName;
|
|
43
|
+
this.ghUserPassword = ghUserPassword;
|
|
44
|
+
this.ghAuthenticatorKey = ghAuthenticatorKey;
|
|
40
45
|
this.getIssue = async (issueUrl) => {
|
|
41
46
|
const headers = await this.createHeader();
|
|
42
47
|
const content = await axios_1.default.get(issueUrl, { headers });
|
|
@@ -114,6 +119,27 @@ class CheerioIssueRepository extends BaseGitHubRepository_1.BaseGitHubRepository
|
|
|
114
119
|
}
|
|
115
120
|
return res;
|
|
116
121
|
};
|
|
122
|
+
this.refreshCookie = async () => {
|
|
123
|
+
if (!this.ghUserName || !this.ghUserPassword || !this.ghAuthenticatorKey) {
|
|
124
|
+
throw new Error('GitHub username, password, and authenticator key must be set');
|
|
125
|
+
}
|
|
126
|
+
const headers = await this.createHeader();
|
|
127
|
+
const content = await axios_1.default.get('https://github.com', { headers });
|
|
128
|
+
const html = content.data;
|
|
129
|
+
if (html.includes(this.ghUserName)) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
this.localStorageRepository.remove(this.jsonFilePath);
|
|
133
|
+
const newHeaders = await this.createHeader();
|
|
134
|
+
const newContent = await axios_1.default.get('https://github.com', {
|
|
135
|
+
headers: newHeaders,
|
|
136
|
+
});
|
|
137
|
+
const newHtml = newContent.data;
|
|
138
|
+
if (newHtml.includes(this.ghUserName)) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
throw new Error('Failed to refresh cookie');
|
|
142
|
+
};
|
|
117
143
|
}
|
|
118
144
|
}
|
|
119
145
|
exports.CheerioIssueRepository = CheerioIssueRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheerioIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/CheerioIssueRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AACnC,kEAA+D;AAE/D,6DAG8B;
|
|
1
|
+
{"version":3,"file":"CheerioIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/CheerioIssueRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AACnC,kEAA+D;AAE/D,6DAG8B;AAe9B,MAAa,sBAAuB,SAAQ,2CAAoB;IAC9D,YACW,8BAA8D,EAC9D,sBAA8C,EAC9C,eAAuB,+BAA+B,EACtD,UAAkB,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,EACjD,aAAiC,OAAO,CAAC,GAAG,CAAC,YAAY,EACzD,iBAAqC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EACjE,qBAAyC,OAAO,CAAC,GAAG;SAC1D,oBAAoB;QAEvB,KAAK,CACH,sBAAsB,EACtB,YAAY,EACZ,OAAO,EACP,UAAU,EACV,cAAc,EACd,kBAAkB,CACnB,CAAC;QAhBO,mCAA8B,GAA9B,8BAA8B,CAAgC;QAC9D,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,iBAAY,GAAZ,YAAY,CAA0C;QACtD,YAAO,GAAP,OAAO,CAA0C;QACjD,eAAU,GAAV,UAAU,CAA+C;QACzD,mBAAc,GAAd,cAAc,CAAmD;QACjE,uBAAkB,GAAlB,kBAAkB,CACJ;QAWzB,aAAQ,GAAG,KAAK,EAAE,QAAgB,EAAkB,EAAE;YACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,eAAK,CAAC,GAAG,CAAS,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,8BAA8B,CAAC,2BAA2B,CACpE,QAAQ,EACR,IAAI,CACL,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,2BAAsB,GAAG,KAAK,EAC5B,QAAgB,EAChB,CAAqB,EACL,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,kBAAkB,GAAG,MAAM,IAAA,0CAAqB,EACpD,cAAc,EACd,QAAQ,CACT,CAAC;YACF,MAAM,MAAM,GACV,UAAU,KAAK,EAAE;gBACf,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;oBACzB,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;oBAC9C,CAAC,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,GAAG,EAAE,QAAQ;gBACb,KAAK;gBACL,MAAM;gBACN,SAAS;gBACT,MAAM;gBACN,OAAO;gBACP,cAAc;gBACd,kBAAkB;aACnB,CAAC;QACJ,CAAC,CAAC;QACF,4BAAuB,GAAG,KAAK,EAC7B,CAAqB,EACW,EAAE;YAClC,OAAO,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;QACQ,8BAAyB,GAAG,CAAC,CAAqB,EAAU,EAAE;YACtE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC,CAAC;QACQ,+BAA0B,GAAG,CAAC,CAAqB,EAAU,EAAE;YACvE,OAAO,CAAC,CAAC,gDAAgD,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,CAAC;QACQ,kCAA6B,GAAG,CACxC,CAAqB,EACX,EAAE;YACZ,MAAM,SAAS,GAAG,CAAC,CACjB,mEAAmE,CACpE,CAAC;YACF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1D,CAAC,CAAC;QACQ,+BAA0B,GAAG,CAAC,CAAqB,EAAY,EAAE;YACzE,OAAO,CAAC,CAAC,gCAAgC,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;iBAChC,GAAG,EAAE,CAAC;QACX,CAAC,CAAC;QACQ,gCAA2B,GAAG,CAAC,CAAqB,EAAU,EAAE;YACxE,OAAO,CAAC,CAAC,4CAA4C,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,CAAC,CAAC;QAEQ,6CAAwC,GAAG,CACnD,CAAqB,EACE,EAAE;YACzB,MAAM,SAAS,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC1C,MAAM,GAAG,GAA0B,EAAE,CAAC;YACtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QACF,kBAAa,GAAG,KAAK,IAAmB,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACzE,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,eAAK,CAAC,GAAG,CAAS,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,eAAK,CAAC,GAAG,CAAS,oBAAoB,EAAE;gBAC/D,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;YAChC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC,CAAC;IAxHF,CAAC;CAyHF;AA5ID,wDA4IC"}
|
|
@@ -318,6 +318,7 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
318
318
|
}
|
|
319
319
|
projectItems(first: 10) {
|
|
320
320
|
nodes {
|
|
321
|
+
id
|
|
321
322
|
fieldValues(first: 10) {
|
|
322
323
|
nodes {
|
|
323
324
|
... on ProjectV2ItemFieldTextValue {
|
|
@@ -391,6 +392,9 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
391
392
|
}
|
|
392
393
|
const projectItems = data.repository.issue.projectItems.nodes;
|
|
393
394
|
const item = projectItems[0];
|
|
395
|
+
if (!item) {
|
|
396
|
+
throw new Error(`No project item found for issue ${issueUrl}`);
|
|
397
|
+
}
|
|
394
398
|
return {
|
|
395
399
|
id: item.id,
|
|
396
400
|
nameWithOwner: data.repository.issue.repository.nameWithOwner,
|
|
@@ -479,6 +483,9 @@ query GetProjectFields($owner: String!, $repository: String!, $issueNumber: Int!
|
|
|
479
483
|
throw new Error(res.data.errors.map((e) => e.message).join('\n'));
|
|
480
484
|
}
|
|
481
485
|
};
|
|
486
|
+
this.updateProjectTextField = async (project, fieldId, issue, text) => {
|
|
487
|
+
await this.updateProjectField(project, fieldId, issue, { text });
|
|
488
|
+
};
|
|
482
489
|
}
|
|
483
490
|
}
|
|
484
491
|
exports.GraphqlProjectItemRepository = GraphqlProjectItemRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphqlProjectItemRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/GraphqlProjectItemRepository.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,kEAA+D;
|
|
1
|
+
{"version":3,"file":"GraphqlProjectItemRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/GraphqlProjectItemRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ class RestIssueRepository extends BaseGitHubRepository_1.BaseGitHubRepository {
|
|
|
38
38
|
if (response.status !== 201) {
|
|
39
39
|
throw new Error(`Failed to create issue: ${response.status}`);
|
|
40
40
|
}
|
|
41
|
+
return response.data.number;
|
|
41
42
|
};
|
|
42
43
|
this.getIssue = async (issueUrl) => {
|
|
43
44
|
const { owner, repo, issueNumber } = this.extractIssueFromUrl(issueUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/RestIssueRepository.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,kEAA+D;AAG/D,MAAa,mBAAoB,SAAQ,2CAAoB;IAA7D;;QACE,kBAAa,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAe,EAAE,EAAE;YAC1D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,gCAAgC,KAAK,IAAI,IAAI,WAAW,WAAW,WAAW,EAC9E;gBACE,IAAI,EAAE,OAAO;aACd,EACD;gBACE,OAAO,EAAE;oBACP,aAAa,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE;oBACtC,cAAc,EAAE,kBAAkB;iBACnC;aACF,CACF,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC;QACF,mBAAc,GAAG,KAAK,EACpB,KAAa,EACb,IAAY,EACZ,KAAa,EACb,IAAY,EACZ,SAAmB,EACnB,MAAgB,
|
|
1
|
+
{"version":3,"file":"RestIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/RestIssueRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,12 +34,7 @@ const totalDuration = (durations) => {
|
|
|
34
34
|
};
|
|
35
35
|
exports.totalDuration = totalDuration;
|
|
36
36
|
const normalizeFieldName = (fieldName) => {
|
|
37
|
-
return fieldName
|
|
38
|
-
.toLowerCase()
|
|
39
|
-
.replace(' ', '')
|
|
40
|
-
.replace('-', '')
|
|
41
|
-
.replace(' ', '')
|
|
42
|
-
.replace(' ', '');
|
|
37
|
+
return fieldName.toLowerCase().replace(/[\s-()]/g, '');
|
|
43
38
|
};
|
|
44
39
|
exports.normalizeFieldName = normalizeFieldName;
|
|
45
40
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/adapter/repositories/utils.ts"],"names":[],"mappings":";;;AAAA,qBAAqB;AACrB,sBAAsB;AACtB,qBAAqB;AACd,MAAM,gBAAgB,GAAG,CAC9B,KAAa,EAAE,QAAQ;AACvB,GAAW,EACH,EAAE;IACV,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAExE,IAAI,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;IACvC,IAAI,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;IAE7C,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,YAAY,IAAI,CAAC,CAAC;QAClB,cAAc,IAAI,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,YAAY,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/F,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B;AACK,MAAM,aAAa,GAAG,CAC3B,SAAmB,EACX,EAAE;IACV,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM;SAC5B,CAAC;IACJ,CAAC,EACD,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CACvB,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;IAEtC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACzF,CAAC,CAAC;AAlBW,QAAA,aAAa,iBAkBxB;AAEK,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACtD,OAAO,SAAS
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/adapter/repositories/utils.ts"],"names":[],"mappings":";;;AAAA,qBAAqB;AACrB,sBAAsB;AACtB,qBAAqB;AACd,MAAM,gBAAgB,GAAG,CAC9B,KAAa,EAAE,QAAQ;AACvB,GAAW,EACH,EAAE;IACV,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAExE,IAAI,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;IACvC,IAAI,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;IAE7C,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,YAAY,IAAI,CAAC,CAAC;QAClB,cAAc,IAAI,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,YAAY,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/F,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B;AACK,MAAM,aAAa,GAAG,CAC3B,SAAmB,EACX,EAAE;IACV,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM;SAC5B,CAAC;IACJ,CAAC,EACD,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CACvB,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;IAEtC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACzF,CAAC,CAAC;AAlBW,QAAA,aAAa,iBAkBxB;AAEK,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACtD,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AnalyzeProblemByIssueUseCase = void 0;
|
|
4
|
+
const utils_1 = require("./utils");
|
|
4
5
|
class AnalyzeProblemByIssueUseCase {
|
|
5
6
|
constructor(issueRepository, dateRepository) {
|
|
6
7
|
this.issueRepository = issueRepository;
|
|
@@ -8,71 +9,117 @@ class AnalyzeProblemByIssueUseCase {
|
|
|
8
9
|
this.run = async (input) => {
|
|
9
10
|
const story = input.project.story;
|
|
10
11
|
if (!story ||
|
|
11
|
-
!input.targetDates.find((targetDate) => targetDate.getHours() ===
|
|
12
|
+
!input.targetDates.find((targetDate) => targetDate.getHours() === 0 && targetDate.getMinutes() === 0)) {
|
|
12
13
|
return;
|
|
13
14
|
}
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
const targetDate = input.targetDates[input.targetDates.length - 1];
|
|
16
|
+
if (!targetDate) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
await this.checkInProgress({ ...input, targetDate });
|
|
20
|
+
for (const storyObject of input.storyObjectMap.values()) {
|
|
21
|
+
const storyIssue = storyObject.storyIssue;
|
|
22
|
+
if (!storyIssue) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
await this.issueRepository.createComment(storyIssue, this.createSummaryCommentBody({ ...storyObject, storyIssue }));
|
|
26
|
+
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
this.checkInProgress = async (input) => {
|
|
30
|
+
const assigneeToNotify = [];
|
|
31
|
+
for (const member of input.members) {
|
|
32
|
+
let topIssue = null;
|
|
33
|
+
for (const story of input.storyObjectMap.values()) {
|
|
34
|
+
const storyIssueObject = input.storyObjectMap.get(story.story.name);
|
|
35
|
+
if (!storyIssueObject) {
|
|
26
36
|
continue;
|
|
27
37
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
// [input.manager],
|
|
49
|
-
// ['story:workflow-management'],
|
|
50
|
-
// );
|
|
38
|
+
else if (assigneeToNotify.includes(member)) {
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
for (const issue of storyIssueObject.issues) {
|
|
42
|
+
if (!(0, utils_1.isVisibleIssue)(issue, member, input.targetDate, input.disabledStatus) ||
|
|
43
|
+
issue.status?.toLowerCase().includes('review') ||
|
|
44
|
+
issue.title.toLowerCase().includes('review') ||
|
|
45
|
+
issue.isPr) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
if (topIssue === null) {
|
|
49
|
+
topIssue = issue;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
if (!issue.isInProgress) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
assigneeToNotify.push(member);
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
51
58
|
}
|
|
52
59
|
}
|
|
53
|
-
|
|
60
|
+
if (assigneeToNotify.length === 0) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
await this.issueRepository.createNewIssue(input.org, input.repo, 'Check in progress', `${assigneeToNotify.join('\n')}`, [input.manager], ['story:workflow-management']);
|
|
54
64
|
};
|
|
55
|
-
this.
|
|
56
|
-
|
|
57
|
-
.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
this.createSummaryCommentBody = (storyObject) => {
|
|
66
|
+
const getFlowchartIdFromUrl = (url) => {
|
|
67
|
+
return url.split('/').slice(-3).join('/');
|
|
68
|
+
};
|
|
69
|
+
const issueTitleForFlowchart = (title) => {
|
|
70
|
+
return title.replace('"', "'");
|
|
71
|
+
};
|
|
72
|
+
const flowChart = `
|
|
73
|
+
\`\`\`mermaid
|
|
74
|
+
|
|
75
|
+
flowchart TD
|
|
76
|
+
${storyObject.issues
|
|
77
|
+
.map((issue) => ` ${getFlowchartIdFromUrl(issue.url)}["${issue.isClosed ? '🟣' : '🟢'}#${issue.number} ${issue.isClosed ? 'Closed' : 'Open'}<br/>${issue.assignees.map((a) => `${a}`).join('<br/>')}<br/>${issueTitleForFlowchart(issue.title)}"]`)
|
|
78
|
+
.join('\n')}
|
|
79
|
+
${storyObject.issues
|
|
80
|
+
.map((issue) => Array.from(issue.dependedIssueUrls)
|
|
81
|
+
.map((dependedIssueUrl) => {
|
|
82
|
+
if (issue.isClosed) {
|
|
83
|
+
issue.totalWorkingTimeByAssignee;
|
|
84
|
+
return ` ${getFlowchartIdFromUrl(dependedIssueUrl)} -->|total: ${this.dateRepository.formatDurationToHHMM(issue.totalWorkingTime)}<br/>${Array.from(issue.totalWorkingTimeByAssignee)
|
|
85
|
+
.map(([author, workingMinutes]) => `@${author} ${this.dateRepository.formatDurationToHHMM(workingMinutes)}`)
|
|
86
|
+
.join('<br/>')}| ${getFlowchartIdFromUrl(issue.url)}`;
|
|
87
|
+
}
|
|
88
|
+
return ` ${getFlowchartIdFromUrl(dependedIssueUrl)} -->|${issue.estimationMinutes
|
|
89
|
+
? `Estimation: ${this.dateRepository.formatDurationToHHMM(issue.estimationMinutes)}<br/>`
|
|
90
|
+
: ''}<br/>by ${issue.completionDate50PercentConfidence
|
|
91
|
+
? this.dateRepository.formatDateWithDayOfWeek(issue.completionDate50PercentConfidence)
|
|
92
|
+
: 'Unknown'}| ${getFlowchartIdFromUrl(issue.url)}`;
|
|
93
|
+
})
|
|
94
|
+
.join('\n'))
|
|
95
|
+
.join('\n')}
|
|
96
|
+
%% click event
|
|
97
|
+
${storyObject.issues
|
|
98
|
+
.map((issue) => `click ${getFlowchartIdFromUrl(issue.url)} "${issue.url}"`)
|
|
99
|
+
.join('\n')}
|
|
100
|
+
|
|
101
|
+
\`\`\``;
|
|
102
|
+
let noMultipleNewLineBody = `
|
|
103
|
+
Total: ${this.dateRepository.formatDurationToHHMM(Array.from(storyObject.issues.values()).reduce((a, b) => a + b.totalWorkingTime, 0))}
|
|
104
|
+
|
|
105
|
+
${storyObject.issues
|
|
106
|
+
.map((issue) => `- ${this.dateRepository.formatDurationToHHMM(issue.totalWorkingTime)} ${issue.url}
|
|
107
|
+
- Total
|
|
108
|
+
${Array.from(issue.totalWorkingTimeByAssignee)
|
|
109
|
+
.map(([author, workingMinutes]) => ` - ${this.dateRepository.formatDurationToHHMM(workingMinutes)}, ${author}`)
|
|
65
110
|
.join('\n')}
|
|
66
|
-
|
|
111
|
+
- Timeline
|
|
67
112
|
${issue.workingTimeline
|
|
68
|
-
.map(({ startedAt, endedAt, durationMinutes, author }) => ` - ${this.dateRepository.formatDurationToHHMM(
|
|
69
|
-
.join('\n')}`)
|
|
113
|
+
.map(({ startedAt, endedAt, durationMinutes, author }) => ` - ${this.dateRepository.formatDurationToHHMM(durationMinutes)}, ${this.dateRepository.formatStartEnd(startedAt, endedAt)}}, ${author}`)
|
|
70
114
|
.join('\n')}`)
|
|
71
115
|
.join('\n')}`;
|
|
72
116
|
while (noMultipleNewLineBody.includes('\n\n')) {
|
|
73
117
|
noMultipleNewLineBody = noMultipleNewLineBody.replace('\n\n', '\n');
|
|
74
118
|
}
|
|
75
|
-
return
|
|
119
|
+
return `${flowChart}
|
|
120
|
+
|
|
121
|
+
${noMultipleNewLineBody}
|
|
122
|
+
`;
|
|
76
123
|
};
|
|
77
124
|
this.createQuestionIssueBody = (issue, totalWorkingTime, totalWorkingTimeByAssignee) => {
|
|
78
125
|
return `Hi,
|
|
@@ -96,20 +143,6 @@ ${issue.workingTimeline
|
|
|
96
143
|
.join('\n')}
|
|
97
144
|
`;
|
|
98
145
|
};
|
|
99
|
-
this.calculateTotalWorkingMinutesByAssignee = (issue) => {
|
|
100
|
-
const workingTimeLine = issue.workingTimeline;
|
|
101
|
-
const mapWorkingTimeByAssignee = new Map();
|
|
102
|
-
for (const workingTime of workingTimeLine) {
|
|
103
|
-
const author = workingTime.author;
|
|
104
|
-
const workingMinutes = workingTime.durationMinutes;
|
|
105
|
-
if (!mapWorkingTimeByAssignee.has(author)) {
|
|
106
|
-
mapWorkingTimeByAssignee.set(author, 0);
|
|
107
|
-
}
|
|
108
|
-
const currentWorkingMinutes = mapWorkingTimeByAssignee.get(author) || 0;
|
|
109
|
-
mapWorkingTimeByAssignee.set(author, currentWorkingMinutes + workingMinutes);
|
|
110
|
-
}
|
|
111
|
-
return mapWorkingTimeByAssignee;
|
|
112
|
-
};
|
|
113
146
|
}
|
|
114
147
|
}
|
|
115
148
|
exports.AnalyzeProblemByIssueUseCase = AnalyzeProblemByIssueUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyzeProblemByIssueUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/AnalyzeProblemByIssueUseCase.ts"],"names":[],"mappings":";;;AAMA,MAAa,4BAA4B;IACvC,YACW,
|
|
1
|
+
{"version":3,"file":"AnalyzeProblemByIssueUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/AnalyzeProblemByIssueUseCase.ts"],"names":[],"mappings":"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"}
|