github-issue-tower-defence-management 1.36.2 → 1.36.3
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/bin/adapter/repositories/issue/RestIssueRepository.js +48 -11
- package/bin/adapter/repositories/issue/RestIssueRepository.js.map +1 -1
- package/bin/domain/usecases/UpdateIssueStatusByLabelUseCase.js +9 -1
- package/bin/domain/usecases/UpdateIssueStatusByLabelUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/repositories/issue/RestIssueRepository.ts +16 -10
- package/src/domain/usecases/UpdateIssueStatusByLabelUseCase.test.ts +22 -0
- package/src/domain/usecases/UpdateIssueStatusByLabelUseCase.ts +10 -1
- package/types/adapter/repositories/issue/RestIssueRepository.d.ts.map +1 -1
- package/types/domain/usecases/UpdateIssueStatusByLabelUseCase.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [1.36.3](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.36.2...v1.36.3) (2026-04-17)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **core:** make removeLabel idempotent and add error context in UpdateIssueStatusByLabelUseCase ([cee85d1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/cee85d165d59de44d1a7d2f7f36338a1b9b2ca1d)), closes [#403](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/403) [HiromiShikata/secretary#566](https://github.com/HiromiShikata/secretary/issues/566)
|
|
7
|
+
|
|
1
8
|
## [1.36.2](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.36.1...v1.36.2) (2026-04-17)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
5
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
36
|
exports.RestIssueRepository = void 0;
|
|
7
|
-
const ky_1 =
|
|
37
|
+
const ky_1 = __importStar(require("ky"));
|
|
8
38
|
const BaseGitHubRepository_1 = require("../BaseGitHubRepository");
|
|
9
39
|
class RestIssueRepository extends BaseGitHubRepository_1.BaseGitHubRepository {
|
|
10
40
|
constructor() {
|
|
@@ -68,13 +98,20 @@ class RestIssueRepository extends BaseGitHubRepository_1.BaseGitHubRepository {
|
|
|
68
98
|
return;
|
|
69
99
|
};
|
|
70
100
|
this.removeLabel = async (issue, label) => {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
101
|
+
try {
|
|
102
|
+
await ky_1.default.delete(`https://api.github.com/repos/${issue.org}/${issue.repo}/issues/${issue.number}/labels/${encodeURIComponent(label)}`, {
|
|
103
|
+
headers: {
|
|
104
|
+
Authorization: `token ${this.ghToken}`,
|
|
105
|
+
Accept: 'application/vnd.github.v3+json',
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
if (e instanceof ky_1.HTTPError && e.response.status === 404) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
throw e;
|
|
114
|
+
}
|
|
78
115
|
};
|
|
79
116
|
this.updateAssigneeList = async (issue, assigneeList) => {
|
|
80
117
|
await ky_1.default.patch(`https://api.github.com/repos/${issue.org}/${issue.repo}/issues/${issue.number}`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/RestIssueRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RestIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/RestIssueRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,15 @@ class UpdateIssueStatusByLabelUseCase {
|
|
|
25
25
|
if (currentStatusNormalized !== targetStatusNormalized) {
|
|
26
26
|
await this.issueRepository.updateStatus(input.project, issue, targetStatus.id);
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
try {
|
|
29
|
+
await this.issueRepository.removeLabel(issue, statusLabel);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
if (!(e instanceof Error)) {
|
|
33
|
+
throw e;
|
|
34
|
+
}
|
|
35
|
+
throw new Error(`Failed to remove label ${statusLabel} from issue ${issue.url}: ${e.message}`);
|
|
36
|
+
}
|
|
29
37
|
}
|
|
30
38
|
};
|
|
31
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateIssueStatusByLabelUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/UpdateIssueStatusByLabelUseCase.ts"],"names":[],"mappings":";;;AAIA,MAAa,+BAA+B;IAC1C,YACW,eAGR;QAHQ,oBAAe,GAAf,eAAe,CAGvB;QAQH,QAAG,GAAG,KAAK,EAAE,KAIZ,EAAiB,EAAE;YAClB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9C,KAAK;qBACF,WAAW,EAAE;qBACb,UAAU,CAAC,+BAA+B,CAAC,mBAAmB,CAAC,CACnE,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,SAAS;gBACX,CAAC;gBACD,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CACxC,+BAA+B,CAAC,mBAAmB,CAAC,MAAM,CAC3D,CAAC;gBACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,CACJ,+BAA+B,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvD,+BAA+B,CAAC,eAAe,CAAC,gBAAgB,CAAC,CACpE,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM;oBAC1C,CAAC,CAAC,+BAA+B,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC/D,CAAC,CAAC,IAAI,CAAC;gBACT,MAAM,sBAAsB,GAC1B,+BAA+B,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,uBAAuB,KAAK,sBAAsB,EAAE,CAAC;oBACvD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,KAAK,CAAC,OAAO,EACb,KAAK,EACL,YAAY,CAAC,EAAE,CAChB,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateIssueStatusByLabelUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/UpdateIssueStatusByLabelUseCase.ts"],"names":[],"mappings":";;;AAIA,MAAa,+BAA+B;IAC1C,YACW,eAGR;QAHQ,oBAAe,GAAf,eAAe,CAGvB;QAQH,QAAG,GAAG,KAAK,EAAE,KAIZ,EAAiB,EAAE;YAClB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9C,KAAK;qBACF,WAAW,EAAE;qBACb,UAAU,CAAC,+BAA+B,CAAC,mBAAmB,CAAC,CACnE,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,SAAS;gBACX,CAAC;gBACD,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CACxC,+BAA+B,CAAC,mBAAmB,CAAC,MAAM,CAC3D,CAAC;gBACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,CACJ,+BAA+B,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvD,+BAA+B,CAAC,eAAe,CAAC,gBAAgB,CAAC,CACpE,CAAC;gBACF,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,SAAS;gBACX,CAAC;gBACD,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAM;oBAC1C,CAAC,CAAC,+BAA+B,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC/D,CAAC,CAAC,IAAI,CAAC;gBACT,MAAM,sBAAsB,GAC1B,+BAA+B,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,uBAAuB,KAAK,sBAAsB,EAAE,CAAC;oBACvD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,KAAK,CAAC,OAAO,EACb,KAAK,EACL,YAAY,CAAC,EAAE,CAChB,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC,CAAC;oBACV,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,0BAA0B,WAAW,eAAe,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAC9E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IAvDC,CAAC;;AANN,0EA8DC;AAtDiB,mDAAmB,GAAG,SAAS,AAAZ,CAAa;AAEzC,+CAAe,GAAG,CAAC,MAAc,EAAU,EAAE,CAClD,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,AADxB,CACyB"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import ky from 'ky';
|
|
1
|
+
import ky, { HTTPError } from 'ky';
|
|
2
2
|
import { BaseGitHubRepository } from '../BaseGitHubRepository';
|
|
3
3
|
import { Issue } from '../../../domain/entities/Issue';
|
|
4
4
|
import { IssueRepository } from '../../../domain/usecases/adapter-interfaces/IssueRepository';
|
|
@@ -109,16 +109,22 @@ export class RestIssueRepository
|
|
|
109
109
|
};
|
|
110
110
|
|
|
111
111
|
removeLabel = async (issue: Issue, label: string): Promise<void> => {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
112
|
+
try {
|
|
113
|
+
await ky.delete(
|
|
114
|
+
`https://api.github.com/repos/${issue.org}/${issue.repo}/issues/${issue.number}/labels/${encodeURIComponent(label)}`,
|
|
115
|
+
{
|
|
116
|
+
headers: {
|
|
117
|
+
Authorization: `token ${this.ghToken}`,
|
|
118
|
+
Accept: 'application/vnd.github.v3+json',
|
|
119
|
+
},
|
|
118
120
|
},
|
|
119
|
-
|
|
120
|
-
)
|
|
121
|
-
|
|
121
|
+
);
|
|
122
|
+
} catch (e) {
|
|
123
|
+
if (e instanceof HTTPError && e.response.status === 404) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
throw e;
|
|
127
|
+
}
|
|
122
128
|
};
|
|
123
129
|
|
|
124
130
|
updateAssigneeList = async (
|
|
@@ -325,5 +325,27 @@ describe('UpdateIssueStatusByLabelUseCase', () => {
|
|
|
325
325
|
);
|
|
326
326
|
});
|
|
327
327
|
});
|
|
328
|
+
|
|
329
|
+
it('should include issue url and label in error message when removeLabel fails', async () => {
|
|
330
|
+
const issueWithUrl = {
|
|
331
|
+
...mock<Issue>(),
|
|
332
|
+
labels: ['status:In Progress'],
|
|
333
|
+
status: 'In Progress',
|
|
334
|
+
url: 'https://github.com/testOrg/testRepo/issues/42',
|
|
335
|
+
};
|
|
336
|
+
mockIssueRepository.removeLabel.mockRejectedValueOnce(
|
|
337
|
+
new Error('Request failed with status code 403 Forbidden'),
|
|
338
|
+
);
|
|
339
|
+
|
|
340
|
+
await expect(
|
|
341
|
+
useCase.run({
|
|
342
|
+
project: basicProject,
|
|
343
|
+
issues: [issueWithUrl],
|
|
344
|
+
defaultStatus: null,
|
|
345
|
+
}),
|
|
346
|
+
).rejects.toThrow(
|
|
347
|
+
'Failed to remove label status:In Progress from issue https://github.com/testOrg/testRepo/issues/42: Request failed with status code 403 Forbidden',
|
|
348
|
+
);
|
|
349
|
+
});
|
|
328
350
|
});
|
|
329
351
|
});
|
|
@@ -52,7 +52,16 @@ export class UpdateIssueStatusByLabelUseCase {
|
|
|
52
52
|
targetStatus.id,
|
|
53
53
|
);
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
try {
|
|
56
|
+
await this.issueRepository.removeLabel(issue, statusLabel);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
if (!(e instanceof Error)) {
|
|
59
|
+
throw e;
|
|
60
|
+
}
|
|
61
|
+
throw new Error(
|
|
62
|
+
`Failed to remove label ${statusLabel} from issue ${issue.url}: ${e.message}`,
|
|
63
|
+
);
|
|
64
|
+
}
|
|
56
65
|
}
|
|
57
66
|
};
|
|
58
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/RestIssueRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,qBAAa,mBACX,SAAQ,oBACR,YAAW,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,aAAa,CAAC;IAEtE,aAAa,GAAU,UAAU,MAAM,EAAE,SAAS,MAAM,mBAStD;IACF,cAAc,GACZ,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,WAAW,MAAM,EAAE,EACnB,QAAQ,MAAM,EAAE,KACf,OAAO,CAAC,MAAM,CAAC,CAQhB;IACF,QAAQ,GACN,UAAU,MAAM,KACf,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CA8BA;IACF,WAAW,GAAU,OAAO,KAAK,mBAc/B;IAEF,YAAY,GACV,OAAO,KAAK,EACZ,QAAQ,KAAK,CAAC,QAAQ,CAAC,KACtB,OAAO,CAAC,IAAI,CAAC,CAYd;IAEF,WAAW,GAAU,OAAO,KAAK,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"RestIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/RestIssueRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,qBAAa,mBACX,SAAQ,oBACR,YAAW,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,aAAa,CAAC;IAEtE,aAAa,GAAU,UAAU,MAAM,EAAE,SAAS,MAAM,mBAStD;IACF,cAAc,GACZ,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,WAAW,MAAM,EAAE,EACnB,QAAQ,MAAM,EAAE,KACf,OAAO,CAAC,MAAM,CAAC,CAQhB;IACF,QAAQ,GACN,UAAU,MAAM,KACf,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CA8BA;IACF,WAAW,GAAU,OAAO,KAAK,mBAc/B;IAEF,YAAY,GACV,OAAO,KAAK,EACZ,QAAQ,KAAK,CAAC,QAAQ,CAAC,KACtB,OAAO,CAAC,IAAI,CAAC,CAYd;IAEF,WAAW,GAAU,OAAO,KAAK,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAiB9D;IAEF,kBAAkB,GAChB,OAAO,KAAK,EACZ,cAAc,MAAM,CAAC,MAAM,CAAC,EAAE,KAC7B,OAAO,CAAC,IAAI,CAAC,CAQd;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateIssueStatusByLabelUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/UpdateIssueStatusByLabelUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,qBAAa,+BAA+B;IAExC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,cAAc,GAAG,aAAa,CAC/B;gBAHQ,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,cAAc,GAAG,aAAa,CAC/B;IAGH,MAAM,CAAC,QAAQ,CAAC,mBAAmB,aAAa;IAEhD,MAAM,CAAC,eAAe,GAAI,QAAQ,MAAM,KAAG,MAAM,CACF;IAE/C,GAAG,GAAU,OAAO;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,KAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"UpdateIssueStatusByLabelUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/UpdateIssueStatusByLabelUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,qBAAa,+BAA+B;IAExC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,cAAc,GAAG,aAAa,CAC/B;gBAHQ,eAAe,EAAE,IAAI,CAC5B,eAAe,EACf,cAAc,GAAG,aAAa,CAC/B;IAGH,MAAM,CAAC,QAAQ,CAAC,mBAAmB,aAAa;IAEhD,MAAM,CAAC,eAAe,GAAI,QAAQ,MAAM,KAAG,MAAM,CACF;IAE/C,GAAG,GAAU,OAAO;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,KAAG,OAAO,CAAC,IAAI,CAAC,CA4Cf;CACH"}
|