github-issue-tower-defence-management 1.7.0 → 1.7.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.
@@ -24,7 +24,9 @@ jobs:
24
24
  destination_branch: 'main'
25
25
  source_branch: ''
26
26
  pr_title: '${{ steps.branch_name.outputs.branch }}'
27
- pr_body: 'This is an auto-create PR.'
27
+ pr_body: |
28
+ :magic_wand: :sparkles:
29
+
28
30
  draft: false
29
31
 
30
32
  - name: Assign PR to author
@@ -3,6 +3,10 @@ name: Test
3
3
  on:
4
4
  push:
5
5
 
6
+ concurrency:
7
+ group: test-${{ github.ref }}
8
+ cancel-in-progress: true
9
+
6
10
  jobs:
7
11
  test:
8
12
  runs-on: ubuntu-latest
package/CHANGELOG.md CHANGED
@@ -1,9 +1,9 @@
1
- # [1.7.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.6.0...v1.7.0) (2025-01-16)
1
+ ## [1.7.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.7.0...v1.7.1) (2025-01-19)
2
2
 
3
3
 
4
- ### Features
4
+ ### Bug Fixes
5
5
 
6
- * add methods to remove items from project ([#19](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/19)) ([f5d067f](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/f5d067fe5c0bf62562fbbe6d717a2183947a72a5))
6
+ * update version in package.json ([f413ba6](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/f413ba6cf6ca8ea824280d1236e6809f70974ac1))
7
7
 
8
8
  # [1.6.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.5.0...v1.6.0) (2025-01-08)
9
9
 
package/CONTRIBUTING.md CHANGED
@@ -36,58 +36,11 @@ We aim for a type-safe programming style, so please avoid using `any` or `as`. I
36
36
 
37
37
  ### Code Style
38
38
 
39
- - As a general rule, please refrain from writing comments whenever possible.
39
+ - As a general rule, please refrain from writing comments in source code whenever possible.
40
40
  - Your first approach should be to make your variable and function names as descriptive and self-explanatory as possible.
41
41
  - Only when this is not sufficient, and the functionality or purpose of the code is not immediately clear, should comments be used.
42
42
  - We encourage the use of the arrow function style as much as possible. It offers a more concise syntax and aligns with contemporary JavaScript practices. Please favor this style when contributing to our codebase.
43
43
 
44
- ## Writing Tests
45
-
46
- Testing is a crucial part of our development process. We expect all code contributions to be accompanied by corresponding tests. This helps us maintain the quality of the project and catch any potential issues early.
47
-
48
- ### Unit Test Template
49
-
50
- ```
51
- import { ReplaceAllWords } from './ReplaceAllWords';
52
- import { FileRepository } from './adapter-interfaces/FileRepository';
53
- import { StringConvertor } from './adapter-interfaces/StringConvertor';
54
- type Mocked<T> = jest.Mocked<T> & jest.MockedObject<T>
55
-
56
- describe('ReplaceAllWords', () => {
57
-
58
- beforeEach(() => {
59
- jest.resetAllMocks();
60
- });
61
-
62
- const createUseCaseAndMockRepositories = ()=>{
63
- const fileRepository: Mocked<FileRepository> = {
64
- readdirSync: jest.fn(),
65
- renameSync: jest.fn(),
66
- lstatSync: jest.fn(),
67
- statSync: jest.fn(),
68
- readFileSync: jest.fn(),
69
- writeFileSync: jest.fn(),
70
- };
71
-
72
- const stringConvertor: Mocked<StringConvertor> = {
73
- camelCase: jest.fn(),
74
- snakeCase: jest.fn(),
75
- pascalCase: jest.fn(),
76
- kebabCase: jest.fn(),
77
- screamSnakeCase: jest.fn(),
78
- };
79
-
80
- const useCase: ReplaceAllWords = new ReplaceAllWords(fileRepository, stringConvertor);
81
- return {
82
- fileRepository,
83
- stringConvertor,
84
- useCase
85
- }
86
- }
87
- });
88
-
89
- ```
90
-
91
44
  ## How to Submit Changes
92
45
 
93
46
  Once you've identified a bug or an enhancement you'd like to work on, follow these steps to make and submit your changes:
@@ -45,14 +45,10 @@ class GraphqlProjectRepository extends BaseGitHubRepository_1.BaseGitHubReposito
45
45
  },
46
46
  data: JSON.stringify(graphqlQuery),
47
47
  });
48
- if (!response?.data?.data?.organization?.projectV2?.id &&
49
- !response?.data?.data?.user?.projectV2?.id) {
50
- throw new Error('Project or item not found');
51
- }
52
48
  const projectId = response.data.data.organization?.projectV2?.id ||
53
49
  response.data.data.user?.projectV2?.id;
54
50
  if (!projectId) {
55
- throw new Error('Project or item not found');
51
+ throw new Error('projectId is not found');
56
52
  }
57
53
  return projectId;
58
54
  };
@@ -195,80 +191,6 @@ class GraphqlProjectRepository extends BaseGitHubRepository_1.BaseGitHubReposito
195
191
  : null,
196
192
  };
197
193
  };
198
- this.removeItemFromProject = async (projectId, itemId) => {
199
- const graphqlQuery = {
200
- query: `mutation removeItem($projectId: ID!, $itemId: ID!) {
201
- deleteProjectV2Item(input: { projectId: $projectId, itemId: $itemId }) {
202
- clientMutationId
203
- }
204
- }`,
205
- variables: {
206
- projectId,
207
- itemId,
208
- },
209
- };
210
- const response = await (0, axios_1.default)({
211
- url: 'https://api.github.com/graphql',
212
- method: 'post',
213
- headers: {
214
- Authorization: `Bearer ${this.ghToken}`,
215
- 'Content-Type': 'application/json',
216
- },
217
- data: JSON.stringify(graphqlQuery),
218
- });
219
- if (response?.data?.errors || !response?.data?.data?.deleteProjectV2Item) {
220
- throw new Error('Project or item not found');
221
- }
222
- };
223
- this.removeItemFromProjectByIssueUrl = async (projectUrl, issueUrl) => {
224
- const projectId = await this.findProjectIdByUrl(projectUrl);
225
- if (!projectId) {
226
- throw new Error('Project or item not found');
227
- }
228
- const itemId = await this.fetchItemIdFromIssueUrl(projectId, issueUrl);
229
- if (!itemId) {
230
- throw new Error('Project or item not found');
231
- }
232
- await this.removeItemFromProject(projectId, itemId);
233
- };
234
- this.fetchItemIdFromIssueUrl = async (projectId, issueUrl) => {
235
- if (!projectId) {
236
- throw new Error('Project ID is required');
237
- }
238
- const { owner, repo, issueNumber } = this.extractIssueFromUrl(issueUrl);
239
- const graphqlQuery = {
240
- query: `query GetProjectItemID($owner: String!, $name: String!, $issueNumber: Int!) {
241
- repository(owner: $owner, name: $name) {
242
- issue(number: $issueNumber) {
243
- projectItems(first: 2) {
244
- nodes {
245
- id
246
- project {
247
- id
248
- }
249
- }
250
- }
251
- }
252
- }
253
- }`,
254
- variables: {
255
- owner,
256
- name: repo,
257
- issueNumber,
258
- },
259
- };
260
- const response = await (0, axios_1.default)({
261
- url: 'https://api.github.com/graphql',
262
- method: 'post',
263
- headers: {
264
- Authorization: `Bearer ${this.ghToken}`,
265
- 'Content-Type': 'application/json',
266
- },
267
- data: JSON.stringify(graphqlQuery),
268
- });
269
- const projectItems = response.data.data.repository.issue.projectItems.nodes;
270
- return projectItems.find((item) => item.project.id === projectId)?.id;
271
- };
272
194
  }
273
195
  }
274
196
  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,kDAA0B;AAC1B,iEAA8D;AAG9D,mCAA6C;AAE7C,MAAa,wBACX,SAAQ,2CAAoB;IAD9B;;QAIE,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,YAAY,GAAG;gBACnB,KAAK,EAAE;;;;;;;;;;;EAWX;gBACI,SAAS,EAAE;oBACT,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,aAAa;iBACtB;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAazB;gBACD,GAAG,EAAE,gCAAgC;gBACrC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE;oBACvC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACnC,CAAC,CAAC;YAEH,MAAM,SAAS,GACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE;gBAC9C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YACD,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,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDjB,CAAC;YACE,MAAM,SAAS,GAAG;gBAChB,SAAS,EAAE,SAAS;aACrB,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAmC/B,gCAAgC,EAChC;gBACE,KAAK;gBACL,SAAS;aACV,EACD;gBACE,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,EAAE;oBACvC,cAAc,EAAE,kBAAkB;iBACnC;aACF,CACF,CAAC;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAC/D,CAAC;YACF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAC/D,CAAC;YACF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CACvD,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CACtD,CAAC;YACF,MAAM,uBAAuB,GAAG,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7D,IAAA,0BAAkB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAC/D,CAAC;YACF,MAAM,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC1D,CAAC,KAAK,EAAE,EAAE,CACR,IAAA,0BAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,4BAA4B,CAClE,CAAC;YACF,MAAM,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAChE,CAAC,KAAK,EAAE,EAAE,CACR,IAAA,0BAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CACvC,kCAAkC,CACnC,CACJ,CAAC;YACF,MAAM,iCAAiC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACjE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAkB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CACvE,CAAC;YACF,OAAO;gBACL,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,OAAO,CAAC,KAAK;gBACnB,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO,EAAE,MAAM,CAAC,EAAE;oBAClB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBACxC,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;qBAChC,CAAC,CAAC;iBACJ;gBACD,cAAc,EAAE,cAAc;oBAC5B,CAAC,CAAC;wBACE,IAAI,EAAE,cAAc,CAAC,IAAI;wBACzB,OAAO,EAAE,cAAc,CAAC,EAAE;qBAC3B;oBACH,CAAC,CAAC,IAAI;gBACR,cAAc,EAAE,cAAc;oBAC5B,CAAC,CAAC;wBACE,IAAI,EAAE,cAAc,CAAC,IAAI;wBACzB,OAAO,EAAE,cAAc,CAAC,EAAE;qBAC3B;oBACH,CAAC,CAAC,IAAI;gBACR,KAAK,EACH,KAAK,IAAI,uBAAuB;oBAC9B,CAAC,CAAC;wBACE,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,OAAO,EAAE,KAAK,CAAC,EAAE;wBACjB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;4BACtC,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,WAAW,EAAE,MAAM,CAAC,WAAW;yBAChC,CAAC,CAAC;wBACH,uBAAuB;qBACxB;oBACH,CAAC,CAAC,IAAI;gBACV,0BAA0B,EAAE,0BAA0B;oBACpD,CAAC,CAAC;wBACE,IAAI,EAAE,0BAA0B,CAAC,IAAI;wBACrC,OAAO,EAAE,0BAA0B,CAAC,EAAE;qBACvC;oBACH,CAAC,CAAC,IAAI;gBACR,gCAAgC,EAAE,gCAAgC;oBAChE,CAAC,CAAC;wBACE,IAAI,EAAE,gCAAgC,CAAC,IAAI;wBAC3C,OAAO,EAAE,gCAAgC,CAAC,EAAE;qBAC7C;oBACH,CAAC,CAAC,IAAI;gBACR,iCAAiC,EAAE,iCAAiC;oBAClE,CAAC,CAAC;wBACE,IAAI,EAAE,iCAAiC,CAAC,IAAI;wBAC5C,OAAO,EAAE,iCAAiC,CAAC,EAAE;qBAC9C;oBACH,CAAC,CAAC,IAAI;aACT,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;CAAA;AA9QD,4DA8QC"}
@@ -61,14 +61,15 @@ class InternalGraphqlIssueRepository extends BaseGitHubRepository_1.BaseGitHubRe
61
61
  };
62
62
  const frontTimelineItems = [];
63
63
  let nextCursor = cursor;
64
- let remainingCount = maxCount;
64
+ const maxCountPerRequest = 250;
65
65
  while (frontTimelineItems.length < maxCount) {
66
- const response = await callQuery(query, remainingCount, nextCursor, issueId);
67
- frontTimelineItems.push(...response.edges);
68
- if (response.totalCount < remainingCount) {
69
- remainingCount = response.totalCount;
66
+ const response = await callQuery(query, maxCountPerRequest, nextCursor, issueId);
67
+ for (const edge of response.edges) {
68
+ frontTimelineItems.push(edge);
69
+ if (frontTimelineItems.length >= maxCount) {
70
+ return frontTimelineItems;
71
+ }
70
72
  }
71
- remainingCount -= response.edges.length;
72
73
  nextCursor = response.pageInfo.endCursor;
73
74
  if (!response.pageInfo.hasNextPage) {
74
75
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"InternalGraphqlIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/InternalGraphqlIssueRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InternalGraphqlIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/InternalGraphqlIssueRepository.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -1,9 +1,5 @@
1
1
  import { GraphqlProjectRepository } from './GraphqlProjectRepository';
2
2
  import { LocalStorageRepository } from './LocalStorageRepository';
3
- import axios from 'axios';
4
-
5
- jest.mock('axios');
6
- const mockedAxios = jest.mocked(axios);
7
3
 
8
4
  describe('GraphqlProjectRepository', () => {
9
5
  const localStorageRepository = new LocalStorageRepository();
@@ -13,92 +9,28 @@ describe('GraphqlProjectRepository', () => {
13
9
  const projectUrl = `https://github.com/users/HiromiShikata/projects/49`;
14
10
  const projectNumber = 49;
15
11
  const projectId = 'PVT_kwHOAGJHa84AFhgF';
16
- const itemId = 'PVTI_lAHOAGJHa84AFhgFzgM';
17
12
 
18
13
  beforeEach(() => {
19
- mockedAxios.post.mockReset();
20
14
  repository = new GraphqlProjectRepository(localStorageRepository, token);
21
15
  });
22
16
 
23
17
  describe('fetchProjectId', () => {
24
18
  it('should fetch project ID using GraphQL API', async () => {
25
- mockedAxios.post.mockResolvedValueOnce({
26
- data: {
27
- data: {
28
- organization: null,
29
- user: null,
30
- },
31
- },
32
- });
19
+ const response = await repository.fetchProjectId(login, projectNumber);
33
20
 
34
- await expect(
35
- repository.fetchProjectId(login, projectNumber),
36
- ).rejects.toThrow('Project or item not found');
21
+ expect(response).toEqual(projectId);
37
22
  });
38
23
  });
39
24
 
40
25
  describe('findProjectIdByUrl', () => {
41
26
  it('should extract project ID from URL and fetch it', async () => {
42
- mockedAxios.post.mockResolvedValueOnce({
43
- data: {
44
- data: {
45
- organization: null,
46
- user: null,
47
- },
48
- },
49
- });
50
-
51
- await expect(repository.findProjectIdByUrl(projectUrl)).rejects.toThrow(
52
- 'Project or item not found',
53
- );
27
+ const response = await repository.findProjectIdByUrl(projectUrl);
28
+ expect(response).toEqual(projectId);
54
29
  });
55
30
  });
56
31
 
57
32
  describe('getProject', () => {
58
33
  it('should retrieve project details', async () => {
59
- mockedAxios.post.mockResolvedValueOnce({
60
- data: {
61
- data: {
62
- node: {
63
- id: projectId,
64
- title: 'V2 project on owner for testing',
65
- fields: {
66
- nodes: [
67
- {
68
- id: 'PVTSSF_lAHOAGJHa84AFhgFzgDLt0c',
69
- name: 'Status',
70
- options: [
71
- {
72
- id: 'f75ad846',
73
- name: 'Todo',
74
- color: 'GRAY',
75
- description: '',
76
- },
77
- {
78
- id: '47fc9ee4',
79
- name: 'In Progress',
80
- color: 'GRAY',
81
- description: '',
82
- },
83
- {
84
- id: '98236657',
85
- name: 'Done',
86
- color: 'GRAY',
87
- description: '',
88
- },
89
- ],
90
- },
91
- {
92
- id: 'PVTF_lAHOAGJHa84AFhgFzgVlnK4',
93
- name: 'NextActionDate',
94
- },
95
- ],
96
- },
97
- },
98
- },
99
- },
100
- });
101
-
102
34
  const project = await repository.getProject(projectId);
103
35
  expect(project).toEqual({
104
36
  id: 'PVT_kwHOAGJHa84AFhgF',
@@ -140,115 +72,4 @@ describe('GraphqlProjectRepository', () => {
140
72
  });
141
73
  });
142
74
  });
143
-
144
- describe('removeItemFromProject', () => {
145
- beforeEach(() => {
146
- mockedAxios.post.mockReset();
147
- });
148
-
149
- it('should successfully remove item from project', async () => {
150
- mockedAxios.post.mockResolvedValueOnce({
151
- data: {
152
- data: null,
153
- errors: [{ message: 'Could not resolve to a node' }],
154
- },
155
- });
156
-
157
- await expect(
158
- repository.removeItemFromProject(projectId, itemId),
159
- ).rejects.toThrow('Project or item not found');
160
- });
161
-
162
- it('should throw error when project or item not found', async () => {
163
- mockedAxios.post.mockResolvedValueOnce({
164
- data: {
165
- errors: [{ message: 'Could not resolve to a node' }],
166
- },
167
- });
168
-
169
- const invalidItemId = 'invalid_item_id';
170
- await expect(
171
- repository.removeItemFromProject(projectId, invalidItemId),
172
- ).rejects.toThrow('Project or item not found');
173
- });
174
- });
175
-
176
- describe('removeItemFromProjectByIssueUrl', () => {
177
- const issueUrl =
178
- 'https://github.com/HiromiShikata/test-repository/issues/38';
179
-
180
- beforeEach(() => {
181
- mockedAxios.post.mockReset();
182
- });
183
-
184
- it('should successfully remove item from project by issue URL', async () => {
185
- // Mock fetchProjectId response with error
186
- mockedAxios.post.mockResolvedValueOnce({
187
- data: {
188
- data: {
189
- organization: null,
190
- user: null,
191
- },
192
- },
193
- });
194
-
195
- await expect(
196
- repository.removeItemFromProjectByIssueUrl(projectUrl, issueUrl),
197
- ).rejects.toThrow('Project or item not found');
198
- });
199
-
200
- it('should throw error when project not found', async () => {
201
- // Mock fetchProjectId response with null data
202
- mockedAxios.post.mockResolvedValueOnce({
203
- data: {
204
- data: {
205
- user: null,
206
- organization: null,
207
- },
208
- },
209
- });
210
-
211
- const invalidProjectUrl =
212
- 'https://github.com/users/HiromiShikata/projects/999';
213
- await expect(
214
- repository.removeItemFromProjectByIssueUrl(invalidProjectUrl, issueUrl),
215
- ).rejects.toThrow('Project or item not found');
216
- });
217
-
218
- it('should throw error when item not found in project', async () => {
219
- // Mock fetchProjectId response
220
- mockedAxios.post.mockResolvedValueOnce({
221
- data: {
222
- data: {
223
- user: {
224
- projectV2: {
225
- id: projectId,
226
- },
227
- },
228
- },
229
- },
230
- });
231
-
232
- // Mock fetchItemIdFromIssueUrl response with empty nodes
233
- mockedAxios.post.mockResolvedValueOnce({
234
- data: {
235
- data: {
236
- repository: {
237
- issue: {
238
- projectItems: {
239
- nodes: [],
240
- },
241
- },
242
- },
243
- },
244
- },
245
- });
246
-
247
- const invalidIssueUrl =
248
- 'https://github.com/HiromiShikata/test-repository/issues/999';
249
- await expect(
250
- repository.removeItemFromProjectByIssueUrl(projectUrl, invalidIssueUrl),
251
- ).rejects.toThrow('Project or item not found');
252
- });
253
- });
254
75
  });
@@ -66,17 +66,11 @@ export class GraphqlProjectRepository
66
66
  data: JSON.stringify(graphqlQuery),
67
67
  });
68
68
 
69
- if (
70
- !response?.data?.data?.organization?.projectV2?.id &&
71
- !response?.data?.data?.user?.projectV2?.id
72
- ) {
73
- throw new Error('Project or item not found');
74
- }
75
69
  const projectId =
76
70
  response.data.data.organization?.projectV2?.id ||
77
71
  response.data.data.user?.projectV2?.id;
78
72
  if (!projectId) {
79
- throw new Error('Project or item not found');
73
+ throw new Error('projectId is not found');
80
74
  }
81
75
  return projectId;
82
76
  };
@@ -280,116 +274,4 @@ export class GraphqlProjectRepository
280
274
  : null,
281
275
  };
282
276
  };
283
-
284
- removeItemFromProject = async (
285
- projectId: string,
286
- itemId: string,
287
- ): Promise<void> => {
288
- const graphqlQuery = {
289
- query: `mutation removeItem($projectId: ID!, $itemId: ID!) {
290
- deleteProjectV2Item(input: { projectId: $projectId, itemId: $itemId }) {
291
- clientMutationId
292
- }
293
- }`,
294
- variables: {
295
- projectId,
296
- itemId,
297
- },
298
- };
299
-
300
- const response = await axios<{
301
- data: {
302
- deleteProjectV2Item: {
303
- clientMutationId: string;
304
- };
305
- };
306
- errors?: { message: string }[];
307
- }>({
308
- url: 'https://api.github.com/graphql',
309
- method: 'post',
310
- headers: {
311
- Authorization: `Bearer ${this.ghToken}`,
312
- 'Content-Type': 'application/json',
313
- },
314
- data: JSON.stringify(graphqlQuery),
315
- });
316
-
317
- if (response?.data?.errors || !response?.data?.data?.deleteProjectV2Item) {
318
- throw new Error('Project or item not found');
319
- }
320
- };
321
-
322
- removeItemFromProjectByIssueUrl = async (
323
- projectUrl: string,
324
- issueUrl: string,
325
- ): Promise<void> => {
326
- const projectId = await this.findProjectIdByUrl(projectUrl);
327
- if (!projectId) {
328
- throw new Error('Project or item not found');
329
- }
330
-
331
- const itemId = await this.fetchItemIdFromIssueUrl(projectId, issueUrl);
332
- if (!itemId) {
333
- throw new Error('Project or item not found');
334
- }
335
-
336
- await this.removeItemFromProject(projectId, itemId);
337
- };
338
-
339
- private fetchItemIdFromIssueUrl = async (
340
- projectId: string,
341
- issueUrl: string,
342
- ): Promise<string | undefined> => {
343
- if (!projectId) {
344
- throw new Error('Project ID is required');
345
- }
346
- const { owner, repo, issueNumber } = this.extractIssueFromUrl(issueUrl);
347
- const graphqlQuery = {
348
- query: `query GetProjectItemID($owner: String!, $name: String!, $issueNumber: Int!) {
349
- repository(owner: $owner, name: $name) {
350
- issue(number: $issueNumber) {
351
- projectItems(first: 2) {
352
- nodes {
353
- id
354
- project {
355
- id
356
- }
357
- }
358
- }
359
- }
360
- }
361
- }`,
362
- variables: {
363
- owner,
364
- name: repo,
365
- issueNumber,
366
- },
367
- };
368
-
369
- const response = await axios<{
370
- data: {
371
- repository: {
372
- issue: {
373
- projectItems: {
374
- nodes: {
375
- id: string;
376
- project: { id: string };
377
- }[];
378
- };
379
- };
380
- };
381
- };
382
- }>({
383
- url: 'https://api.github.com/graphql',
384
- method: 'post',
385
- headers: {
386
- Authorization: `Bearer ${this.ghToken}`,
387
- 'Content-Type': 'application/json',
388
- },
389
- data: JSON.stringify(graphqlQuery),
390
- });
391
-
392
- const projectItems = response.data.data.repository.issue.projectItems.nodes;
393
- return projectItems.find((item) => item.project.id === projectId)?.id;
394
- };
395
277
  }
@@ -43,6 +43,14 @@ describe('CheerioIssueRepository', () => {
43
43
  expect(issue).toEqual({
44
44
  assignees: ['HiromiShikata'],
45
45
  inProgressTimeline: [
46
+ {
47
+ author: 'HiromiShikata',
48
+ durationMinutes: 3.5166666666666666,
49
+ endedAt: new Date('2024-04-21T09:31:46.000Z'),
50
+ issueUrl:
51
+ 'https://github.com/HiromiShikata/test-repository/issues/38',
52
+ startedAt: new Date('2024-04-21T09:28:15.000Z'),
53
+ },
46
54
  {
47
55
  author: 'HiromiShikata',
48
56
  durationMinutes: 60.516666666666666,
@@ -72,6 +80,12 @@ describe('CheerioIssueRepository', () => {
72
80
  project: 'V2 project on owner for testing',
73
81
  status: 'Todo',
74
82
  statusTimeline: [
83
+ {
84
+ author: 'HiromiShikata',
85
+ from: '',
86
+ time: '2024-04-21T09:28:15Z',
87
+ to: 'In Progress',
88
+ },
75
89
  {
76
90
  author: 'HiromiShikata',
77
91
  from: 'In Progress',
@@ -90,6 +104,12 @@ describe('CheerioIssueRepository', () => {
90
104
  time: '2024-04-21T11:13:38Z',
91
105
  to: 'Todo',
92
106
  },
107
+ {
108
+ author: 'HiromiShikata',
109
+ from: '',
110
+ time: '2024-09-19T14:03:05Z',
111
+ to: 'Todo',
112
+ },
93
113
  {
94
114
  author: 'HiromiShikata',
95
115
  from: 'Todo',
@@ -202,62 +222,7 @@ describe('CheerioIssueRepository', () => {
202
222
  const content = await axios.get<string>(issueUrl, { headers });
203
223
  const $ = cheerio.load(content.data);
204
224
  const statusTimeline = await repository.getStatusTimelineEvents($);
205
- expect(statusTimeline).toEqual([
206
- {
207
- author: 'HiromiShikata',
208
- from: 'In Progress',
209
- time: '2024-04-21T09:31:46Z',
210
- to: 'Todo',
211
- },
212
- {
213
- author: 'HiromiShikata',
214
- from: 'Todo',
215
- time: '2024-04-21T10:13:07Z',
216
- to: 'In Progress',
217
- },
218
- {
219
- author: 'HiromiShikata',
220
- from: 'In Progress',
221
- time: '2024-04-21T11:13:38Z',
222
- to: 'Todo',
223
- },
224
- {
225
- author: 'HiromiShikata',
226
- from: 'Todo',
227
- time: '2024-11-23T05:44:07Z',
228
- to: 'In Progress',
229
- },
230
- {
231
- author: 'HiromiShikata',
232
- from: 'In Progress',
233
- time: '2024-11-23T05:44:10Z',
234
- to: 'Todo',
235
- },
236
- {
237
- author: 'github-project-automation',
238
- from: 'Todo',
239
- time: '2024-11-23T05:45:50Z',
240
- to: 'Done',
241
- },
242
- {
243
- author: 'HiromiShikata',
244
- from: 'Done',
245
- time: '2024-11-23T05:46:22Z',
246
- to: 'Todo',
247
- },
248
- {
249
- author: 'HiromiShikata',
250
- from: 'Todo',
251
- time: '2024-11-23T05:46:25Z',
252
- to: 'In Progress',
253
- },
254
- {
255
- author: 'HiromiShikata',
256
- from: 'In Progress',
257
- time: '2024-11-23T05:46:27Z',
258
- to: 'Todo',
259
- },
260
- ]);
225
+ expect(statusTimeline).toEqual([]);
261
226
  });
262
227
  });
263
228
 
@@ -24,6 +24,7 @@ describe('InternalGraphqlIssueRepository', () => {
24
24
  testCount,
25
25
  );
26
26
  expect(result).toBeDefined();
27
+ expect(result.length).toEqual(testCount);
27
28
  });
28
29
 
29
30
  test('getIssueFromBetaFeatureView returns typed Issue object', async () => {
@@ -185,19 +185,20 @@ export class InternalGraphqlIssueRepository extends BaseGitHubRepository {
185
185
  const frontTimelineItems: GraphqlResponse['data']['node']['frontTimelineItems']['edges'] =
186
186
  [];
187
187
  let nextCursor = cursor;
188
- let remainingCount = maxCount;
188
+ const maxCountPerRequest = 250;
189
189
  while (frontTimelineItems.length < maxCount) {
190
190
  const response = await callQuery(
191
191
  query,
192
- remainingCount,
192
+ maxCountPerRequest,
193
193
  nextCursor,
194
194
  issueId,
195
195
  );
196
- frontTimelineItems.push(...response.edges);
197
- if (response.totalCount < remainingCount) {
198
- remainingCount = response.totalCount;
196
+ for (const edge of response.edges) {
197
+ frontTimelineItems.push(edge);
198
+ if (frontTimelineItems.length >= maxCount) {
199
+ return frontTimelineItems;
200
+ }
199
201
  }
200
- remainingCount -= response.edges.length;
201
202
  nextCursor = response.pageInfo.endCursor;
202
203
  if (!response.pageInfo.hasNextPage) {
203
204
  break;
@@ -9,8 +9,5 @@ export declare class GraphqlProjectRepository extends BaseGitHubRepository imple
9
9
  fetchProjectId: (login: string, projectNumber: number) => Promise<string>;
10
10
  findProjectIdByUrl: (projectUrl: string) => Promise<Project["id"] | null>;
11
11
  getProject: (projectId: Project["id"]) => Promise<Project | null>;
12
- removeItemFromProject: (projectId: string, itemId: string) => Promise<void>;
13
- removeItemFromProjectByIssueUrl: (projectUrl: string, issueUrl: string) => Promise<void>;
14
- private fetchItemIdFromIssueUrl;
15
12
  }
16
13
  //# sourceMappingURL=GraphqlProjectRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphqlProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,qBAAa,wBACX,SAAQ,oBACR,YAAW,iBAAiB;IAE5B,qBAAqB,eACP,MAAM,KACjB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAMC;IACF,cAAc,UACL,MAAM,iBACE,MAAM,KACpB,OAAO,CAAC,MAAM,CAAC,CAwDhB;IACF,kBAAkB,eACJ,MAAM,KACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAG9B;IACF,UAAU,cAAqB,OAAO,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAiMpE;IAEF,qBAAqB,cACR,MAAM,UACT,MAAM,KACb,OAAO,CAAC,IAAI,CAAC,CAiCd;IAEF,+BAA+B,eACjB,MAAM,YACR,MAAM,KACf,OAAO,CAAC,IAAI,CAAC,CAYd;IAEF,OAAO,CAAC,uBAAuB,CAuD7B;CACH"}
1
+ {"version":3,"file":"GraphqlProjectRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/GraphqlProjectRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,qBAAa,wBACX,SAAQ,oBACR,YAAW,iBAAiB;IAE5B,qBAAqB,eACP,MAAM,KACjB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;KACvB,CAMC;IACF,cAAc,UACL,MAAM,iBACE,MAAM,KACpB,OAAO,CAAC,MAAM,CAAC,CAkDhB;IACF,kBAAkB,eACJ,MAAM,KACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAG9B;IACF,UAAU,cAAqB,OAAO,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAiMpE;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalGraphqlIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/InternalGraphqlIssueRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAM/D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE;QACP,gBAAgB,EAAE;YAChB;gBACE,SAAS,EAAE;oBACT,KAAK,EAAE,MAAM,CAAC;oBACd,IAAI,EAAE,MAAM,CAAC;oBACb,MAAM,EAAE,MAAM,CAAC;iBAChB,CAAC;gBACF,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,EAAE,EAAE,MAAM,CAAC;gCACX,KAAK,EAAE,MAAM,CAAC;gCACd,KAAK,EAAE,MAAM,CAAC;gCACd,SAAS,EAAE;oCACT,KAAK,EAAE,KAAK,CAAC;wCACX,KAAK,EAAE,MAAM,CAAC;qCACf,CAAC,CAAC;iCACJ,CAAC;gCACF,MAAM,EAAE;oCACN,KAAK,EAAE,KAAK,CAAC;wCACX,IAAI,EAAE;4CACJ,IAAI,EAAE,MAAM,CAAC;yCACd,CAAC;qCACH,CAAC,CAAC;iCACJ,CAAC;gCACF,gBAAgB,EAAE;oCAChB,KAAK,EAAE,KAAK,CAAC;wCACX,IAAI,EAAE;4CACJ,OAAO,EAAE;gDACP,KAAK,EAAE,MAAM,CAAC;6CACf,CAAC;yCACH,CAAC;qCACH,CAAC,CAAC;iCACJ,CAAC;gCACF,kBAAkB,EAAE;oCAClB,KAAK,EAAE,KAAK,CAAC;wCACX,IAAI,EAAE;4CACJ,UAAU,EAAE,MAAM,CAAC;4CACnB,EAAE,EAAE,MAAM,CAAC;yCACZ,CAAC;qCACH,CAAC,CAAC;oCACH,QAAQ,EAAE;wCACR,WAAW,EAAE,OAAO,CAAC;wCACrB,SAAS,EAAE,MAAM,CAAC;qCACnB,CAAC;oCACF,UAAU,EAAE,MAAM,CAAC;iCACpB,CAAC;gCACF,iBAAiB,EAAE;oCACjB,KAAK,EAAE,KAAK,CAAC;wCACX,IAAI,EAAE;4CACJ,UAAU,EAAE,MAAM,CAAC;4CACnB,EAAE,EAAE,MAAM,CAAC;yCACZ,CAAC;qCACH,CAAC,CAAC;iCACJ,CAAC;6BACH,CAAC;yBACH,CAAC;qBACH,CAAC;iBACH,CAAC;aACH;SACF,CAAC;KACH,CAAC;CACH,CAAC;AA+BF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,UAAU,EAAE,OAAO,CAAC;YACpB,kBAAkB,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC/I,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;KACH,CAAC;CACH,CAAC;AACF,qBAAa,8BAA+B,SAAQ,oBAAoB;IACtE,qBAAqB,aACT,MAAM,UACR,MAAM,GAAG,IAAI,WACZ,MAAM,aACL,MAAM,KACf,OAAO,CACR,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAC/D,CAoFC;IACF,2BAA2B,aACf,MAAM,QACV,MAAM,KACX,OAAO,CAAC,KAAK,CAAC,CAoEf;CACH"}
1
+ {"version":3,"file":"InternalGraphqlIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/InternalGraphqlIssueRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAM/D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE;QACP,gBAAgB,EAAE;YAChB;gBACE,SAAS,EAAE;oBACT,KAAK,EAAE,MAAM,CAAC;oBACd,IAAI,EAAE,MAAM,CAAC;oBACb,MAAM,EAAE,MAAM,CAAC;iBAChB,CAAC;gBACF,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,EAAE,EAAE,MAAM,CAAC;gCACX,KAAK,EAAE,MAAM,CAAC;gCACd,KAAK,EAAE,MAAM,CAAC;gCACd,SAAS,EAAE;oCACT,KAAK,EAAE,KAAK,CAAC;wCACX,KAAK,EAAE,MAAM,CAAC;qCACf,CAAC,CAAC;iCACJ,CAAC;gCACF,MAAM,EAAE;oCACN,KAAK,EAAE,KAAK,CAAC;wCACX,IAAI,EAAE;4CACJ,IAAI,EAAE,MAAM,CAAC;yCACd,CAAC;qCACH,CAAC,CAAC;iCACJ,CAAC;gCACF,gBAAgB,EAAE;oCAChB,KAAK,EAAE,KAAK,CAAC;wCACX,IAAI,EAAE;4CACJ,OAAO,EAAE;gDACP,KAAK,EAAE,MAAM,CAAC;6CACf,CAAC;yCACH,CAAC;qCACH,CAAC,CAAC;iCACJ,CAAC;gCACF,kBAAkB,EAAE;oCAClB,KAAK,EAAE,KAAK,CAAC;wCACX,IAAI,EAAE;4CACJ,UAAU,EAAE,MAAM,CAAC;4CACnB,EAAE,EAAE,MAAM,CAAC;yCACZ,CAAC;qCACH,CAAC,CAAC;oCACH,QAAQ,EAAE;wCACR,WAAW,EAAE,OAAO,CAAC;wCACrB,SAAS,EAAE,MAAM,CAAC;qCACnB,CAAC;oCACF,UAAU,EAAE,MAAM,CAAC;iCACpB,CAAC;gCACF,iBAAiB,EAAE;oCACjB,KAAK,EAAE,KAAK,CAAC;wCACX,IAAI,EAAE;4CACJ,UAAU,EAAE,MAAM,CAAC;4CACnB,EAAE,EAAE,MAAM,CAAC;yCACZ,CAAC;qCACH,CAAC,CAAC;iCACJ,CAAC;6BACH,CAAC;yBACH,CAAC;qBACH,CAAC;iBACH,CAAC;aACH;SACF,CAAC;KACH,CAAC;CACH,CAAC;AA+BF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,UAAU,EAAE,OAAO,CAAC;YACpB,kBAAkB,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC/I,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;KACH,CAAC;CACH,CAAC;AACF,qBAAa,8BAA+B,SAAQ,oBAAoB;IACtE,qBAAqB,aACT,MAAM,UACR,MAAM,GAAG,IAAI,WACZ,MAAM,aACL,MAAM,KACf,OAAO,CACR,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAC/D,CAqFC;IACF,2BAA2B,aACf,MAAM,QACV,MAAM,KACX,OAAO,CAAC,KAAK,CAAC,CAoEf;CACH"}