smartling-api-sdk-nodejs 2.32.0 → 2.34.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/api/base/base-api.ts +3 -1
- package/api/http/smartling-bare-list-response.ts +5 -0
- package/api/http/smartling-list-response.ts +3 -2
- package/api/issues/dto/create-issue-string-dto.ts +4 -0
- package/api/issues/dto/issue-answered-dto.ts +3 -0
- package/api/issues/dto/issue-assignee-dto.ts +3 -0
- package/api/issues/dto/issue-changed-type-dto.ts +8 -0
- package/api/issues/dto/issue-comment-dto.ts +7 -0
- package/api/issues/dto/issue-dto.ts +30 -0
- package/api/issues/dto/issue-severity-level-dto.ts +5 -0
- package/api/issues/dto/issue-sort-by-dto.ts +5 -0
- package/api/issues/dto/issue-sort-item-dto.ts +7 -0
- package/api/issues/dto/issue-state-dto.ts +6 -0
- package/api/issues/dto/issue-string-dto.ts +4 -0
- package/api/issues/dto/issue-text-dto.ts +4 -0
- package/api/issues/dto/issues-count-dto.ts +3 -0
- package/api/issues/dto/job-filter-dto.ts +6 -0
- package/api/issues/dto/string-filter-dto.ts +4 -0
- package/api/issues/enums/issue-severity-level.ts +5 -0
- package/api/issues/enums/issue-sort-field.ts +14 -0
- package/api/issues/enums/issue-state.ts +4 -0
- package/api/issues/enums/issue-sub-type.ts +10 -0
- package/api/issues/enums/issue-type.ts +4 -0
- package/api/issues/enums/issue-watching-state.ts +4 -0
- package/api/issues/enums/job-filter-presence.ts +4 -0
- package/api/issues/index.ts +238 -0
- package/api/issues/params/base-issues-filter-parameters.ts +102 -0
- package/api/issues/params/count-account-issues-parameters.ts +8 -0
- package/api/issues/params/count-project-issues-parameters.ts +3 -0
- package/api/issues/params/create-issue-comment-parameters.ts +12 -0
- package/api/issues/params/create-issue-parameters.ts +41 -0
- package/api/issues/params/edit-issue-comment-parameters.ts +12 -0
- package/api/issues/params/edit-issue-parameters.ts +12 -0
- package/api/issues/params/find-account-issues-parameters.ts +31 -0
- package/api/issues/params/find-project-issues-parameters.ts +26 -0
- package/api/issues/params/update-issue-answered-parameters.ts +8 -0
- package/api/issues/params/update-issue-assignee-parameters.ts +12 -0
- package/api/issues/params/update-issue-severity-level-parameters.ts +9 -0
- package/api/issues/params/update-issue-state-parameters.ts +9 -0
- package/api/issues/params/update-issue-type-parameters.ts +20 -0
- package/api/vendors/dto/content-assignment-dto.ts +29 -0
- package/api/vendors/dto/workflow-step-type.ts +15 -0
- package/api/vendors/index.ts +23 -0
- package/built/api/base/base-api.js +3 -1
- package/built/api/base/base-api.js.map +1 -1
- package/built/api/http/smartling-bare-list-response.d.ts +4 -0
- package/built/api/http/smartling-bare-list-response.js +3 -0
- package/built/api/http/smartling-bare-list-response.js.map +1 -0
- package/built/api/http/smartling-list-response.d.ts +2 -2
- package/built/api/issues/dto/create-issue-string-dto.d.ts +4 -0
- package/built/api/issues/dto/create-issue-string-dto.js +3 -0
- package/built/api/issues/dto/create-issue-string-dto.js.map +1 -0
- package/built/api/issues/dto/issue-answered-dto.d.ts +3 -0
- package/built/api/issues/dto/issue-answered-dto.js +3 -0
- package/built/api/issues/dto/issue-answered-dto.js.map +1 -0
- package/built/api/issues/dto/issue-assignee-dto.d.ts +3 -0
- package/built/api/issues/dto/issue-assignee-dto.js +3 -0
- package/built/api/issues/dto/issue-assignee-dto.js.map +1 -0
- package/built/api/issues/dto/issue-changed-type-dto.d.ts +7 -0
- package/built/api/issues/dto/issue-changed-type-dto.js +3 -0
- package/built/api/issues/dto/issue-changed-type-dto.js.map +1 -0
- package/built/api/issues/dto/issue-comment-dto.d.ts +7 -0
- package/built/api/issues/dto/issue-comment-dto.js +3 -0
- package/built/api/issues/dto/issue-comment-dto.js.map +1 -0
- package/built/api/issues/dto/issue-dto.d.ts +29 -0
- package/built/api/issues/dto/issue-dto.js +3 -0
- package/built/api/issues/dto/issue-dto.js.map +1 -0
- package/built/api/issues/dto/issue-severity-level-dto.d.ts +4 -0
- package/built/api/issues/dto/issue-severity-level-dto.js +3 -0
- package/built/api/issues/dto/issue-severity-level-dto.js.map +1 -0
- package/built/api/issues/dto/issue-sort-by-dto.d.ts +4 -0
- package/built/api/issues/dto/issue-sort-by-dto.js +3 -0
- package/built/api/issues/dto/issue-sort-by-dto.js.map +1 -0
- package/built/api/issues/dto/issue-sort-item-dto.d.ts +6 -0
- package/built/api/issues/dto/issue-sort-item-dto.js +3 -0
- package/built/api/issues/dto/issue-sort-item-dto.js.map +1 -0
- package/built/api/issues/dto/issue-state-dto.d.ts +5 -0
- package/built/api/issues/dto/issue-state-dto.js +3 -0
- package/built/api/issues/dto/issue-state-dto.js.map +1 -0
- package/built/api/issues/dto/issue-string-dto.d.ts +4 -0
- package/built/api/issues/dto/issue-string-dto.js +3 -0
- package/built/api/issues/dto/issue-string-dto.js.map +1 -0
- package/built/api/issues/dto/issue-text-dto.d.ts +4 -0
- package/built/api/issues/dto/issue-text-dto.js +3 -0
- package/built/api/issues/dto/issue-text-dto.js.map +1 -0
- package/built/api/issues/dto/issues-count-dto.d.ts +3 -0
- package/built/api/issues/dto/issues-count-dto.js +3 -0
- package/built/api/issues/dto/issues-count-dto.js.map +1 -0
- package/built/api/issues/dto/job-filter-dto.d.ts +5 -0
- package/built/api/issues/dto/job-filter-dto.js +3 -0
- package/built/api/issues/dto/job-filter-dto.js.map +1 -0
- package/built/api/issues/dto/string-filter-dto.d.ts +4 -0
- package/built/api/issues/dto/string-filter-dto.js +3 -0
- package/built/api/issues/dto/string-filter-dto.js.map +1 -0
- package/built/api/issues/enums/issue-severity-level.d.ts +5 -0
- package/built/api/issues/enums/issue-severity-level.js +10 -0
- package/built/api/issues/enums/issue-severity-level.js.map +1 -0
- package/built/api/issues/enums/issue-sort-field.d.ts +14 -0
- package/built/api/issues/enums/issue-sort-field.js +19 -0
- package/built/api/issues/enums/issue-sort-field.js.map +1 -0
- package/built/api/issues/enums/issue-state.d.ts +4 -0
- package/built/api/issues/enums/issue-state.js +9 -0
- package/built/api/issues/enums/issue-state.js.map +1 -0
- package/built/api/issues/enums/issue-sub-type.d.ts +10 -0
- package/built/api/issues/enums/issue-sub-type.js +15 -0
- package/built/api/issues/enums/issue-sub-type.js.map +1 -0
- package/built/api/issues/enums/issue-type.d.ts +4 -0
- package/built/api/issues/enums/issue-type.js +9 -0
- package/built/api/issues/enums/issue-type.js.map +1 -0
- package/built/api/issues/enums/issue-watching-state.d.ts +4 -0
- package/built/api/issues/enums/issue-watching-state.js +9 -0
- package/built/api/issues/enums/issue-watching-state.js.map +1 -0
- package/built/api/issues/enums/job-filter-presence.d.ts +4 -0
- package/built/api/issues/enums/job-filter-presence.js +9 -0
- package/built/api/issues/enums/job-filter-presence.js.map +1 -0
- package/built/api/issues/index.d.ts +47 -0
- package/built/api/issues/index.js +112 -0
- package/built/api/issues/index.js.map +1 -0
- package/built/api/issues/params/base-issues-filter-parameters.d.ts +27 -0
- package/built/api/issues/params/base-issues-filter-parameters.js +83 -0
- package/built/api/issues/params/base-issues-filter-parameters.js.map +1 -0
- package/built/api/issues/params/count-account-issues-parameters.d.ts +4 -0
- package/built/api/issues/params/count-account-issues-parameters.js +12 -0
- package/built/api/issues/params/count-account-issues-parameters.js.map +1 -0
- package/built/api/issues/params/count-project-issues-parameters.d.ts +3 -0
- package/built/api/issues/params/count-project-issues-parameters.js +8 -0
- package/built/api/issues/params/count-project-issues-parameters.js.map +1 -0
- package/built/api/issues/params/create-issue-comment-parameters.d.ts +4 -0
- package/built/api/issues/params/create-issue-comment-parameters.js +16 -0
- package/built/api/issues/params/create-issue-comment-parameters.js.map +1 -0
- package/built/api/issues/params/create-issue-parameters.d.ts +13 -0
- package/built/api/issues/params/create-issue-parameters.js +36 -0
- package/built/api/issues/params/create-issue-parameters.js.map +1 -0
- package/built/api/issues/params/edit-issue-comment-parameters.d.ts +4 -0
- package/built/api/issues/params/edit-issue-comment-parameters.js +16 -0
- package/built/api/issues/params/edit-issue-comment-parameters.js.map +1 -0
- package/built/api/issues/params/edit-issue-parameters.d.ts +4 -0
- package/built/api/issues/params/edit-issue-parameters.js +16 -0
- package/built/api/issues/params/edit-issue-parameters.js.map +1 -0
- package/built/api/issues/params/find-account-issues-parameters.d.ts +8 -0
- package/built/api/issues/params/find-account-issues-parameters.js +31 -0
- package/built/api/issues/params/find-account-issues-parameters.js.map +1 -0
- package/built/api/issues/params/find-project-issues-parameters.d.ts +7 -0
- package/built/api/issues/params/find-project-issues-parameters.js +27 -0
- package/built/api/issues/params/find-project-issues-parameters.js.map +1 -0
- package/built/api/issues/params/update-issue-answered-parameters.d.ts +4 -0
- package/built/api/issues/params/update-issue-answered-parameters.js +12 -0
- package/built/api/issues/params/update-issue-answered-parameters.js.map +1 -0
- package/built/api/issues/params/update-issue-assignee-parameters.d.ts +4 -0
- package/built/api/issues/params/update-issue-assignee-parameters.js +16 -0
- package/built/api/issues/params/update-issue-assignee-parameters.js.map +1 -0
- package/built/api/issues/params/update-issue-severity-level-parameters.d.ts +5 -0
- package/built/api/issues/params/update-issue-severity-level-parameters.js +12 -0
- package/built/api/issues/params/update-issue-severity-level-parameters.js.map +1 -0
- package/built/api/issues/params/update-issue-state-parameters.d.ts +5 -0
- package/built/api/issues/params/update-issue-state-parameters.js +12 -0
- package/built/api/issues/params/update-issue-state-parameters.js.map +1 -0
- package/built/api/issues/params/update-issue-type-parameters.d.ts +8 -0
- package/built/api/issues/params/update-issue-type-parameters.js +20 -0
- package/built/api/issues/params/update-issue-type-parameters.js.map +1 -0
- package/built/api/vendors/dto/content-assignment-dto.d.ts +27 -0
- package/built/api/vendors/dto/content-assignment-dto.js +3 -0
- package/built/api/vendors/dto/content-assignment-dto.js.map +1 -0
- package/built/api/vendors/dto/workflow-step-type.d.ts +14 -0
- package/built/api/vendors/dto/workflow-step-type.js +19 -0
- package/built/api/vendors/dto/workflow-step-type.js.map +1 -0
- package/built/api/vendors/index.d.ts +9 -0
- package/built/api/vendors/index.js +27 -0
- package/built/api/vendors/index.js.map +1 -0
- package/built/index.d.ts +41 -0
- package/built/index.js +41 -0
- package/built/index.js.map +1 -1
- package/built/package.json +1 -1
- package/built/test/issues.spec.d.ts +1 -0
- package/built/test/issues.spec.js +513 -0
- package/built/test/issues.spec.js.map +1 -0
- package/built/test/vendors.spec.d.ts +1 -0
- package/built/test/vendors.spec.js +133 -0
- package/built/test/vendors.spec.js.map +1 -0
- package/index.ts +41 -0
- package/package.json +1 -1
- package/test/issues.spec.ts +624 -0
- package/test/vendors.spec.ts +136 -0
package/api/base/base-api.ts
CHANGED
|
@@ -164,7 +164,9 @@ export class SmartlingBaseApi {
|
|
|
164
164
|
"actionTime",
|
|
165
165
|
"publishDate",
|
|
166
166
|
"lastModified",
|
|
167
|
-
"attemptDate"
|
|
167
|
+
"attemptDate",
|
|
168
|
+
"translationJobWorkflowStepDueDate",
|
|
169
|
+
"translationJobOverallDueDate"
|
|
168
170
|
];
|
|
169
171
|
|
|
170
172
|
if (dateProperties.includes(key) && value) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { SmartlingBareListResponse } from "./smartling-bare-list-response";
|
|
2
|
+
|
|
3
|
+
interface SmartlingListResponse<T> extends SmartlingBareListResponse<T> {
|
|
2
4
|
totalCount: number;
|
|
3
|
-
items: Array<T>;
|
|
4
5
|
}
|
|
5
6
|
|
|
6
7
|
export { SmartlingListResponse };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IssueSeverityLevel } from "../enums/issue-severity-level";
|
|
2
|
+
import { IssueState } from "../enums/issue-state";
|
|
3
|
+
import { IssueSubType } from "../enums/issue-sub-type";
|
|
4
|
+
import { IssueType } from "../enums/issue-type";
|
|
5
|
+
import { IssueStringDto } from "./issue-string-dto";
|
|
6
|
+
|
|
7
|
+
export interface IssueDto {
|
|
8
|
+
answered: boolean;
|
|
9
|
+
createdDate: string;
|
|
10
|
+
lastCommentDate?: string;
|
|
11
|
+
issueSeverityLevelCode: IssueSeverityLevel;
|
|
12
|
+
issueStateCode: IssueState;
|
|
13
|
+
issueSubTypeCode: IssueSubType;
|
|
14
|
+
issueText: string;
|
|
15
|
+
issueTextModifiedDate?: string;
|
|
16
|
+
issueTypeCode: IssueType;
|
|
17
|
+
issueUid: string;
|
|
18
|
+
projectId: string;
|
|
19
|
+
accountUid: string;
|
|
20
|
+
issueNumber: number;
|
|
21
|
+
reportedByUserUid: string;
|
|
22
|
+
resolvedByUserUid?: string;
|
|
23
|
+
assigneeUserUid?: string;
|
|
24
|
+
resolvedDate?: string;
|
|
25
|
+
reopened: boolean;
|
|
26
|
+
reopenedByUserUid?: string;
|
|
27
|
+
reopenedDate?: string;
|
|
28
|
+
string: IssueStringDto;
|
|
29
|
+
issueCommentsCount: number;
|
|
30
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export enum IssueSortField {
|
|
2
|
+
ISSUE_TYPE_CODE = "issueTypeCode",
|
|
3
|
+
ISSUE_SUB_TYPE_CODE = "issueSubTypeCode",
|
|
4
|
+
ISSUE_STATE_CODE = "issueStateCode",
|
|
5
|
+
CREATED_DATE = "createdDate",
|
|
6
|
+
RESOLVED_DATE = "resolvedDate",
|
|
7
|
+
HASHCODE = "hashcode",
|
|
8
|
+
ISSUE_TEXT = "issueText",
|
|
9
|
+
ISSUE_TEXT_MODIFIED_DATE = "issueTextModifiedDate",
|
|
10
|
+
RESOLVED_BY_USER_UID = "resolvedByUserUid",
|
|
11
|
+
REPORTED_BY_USER_UID = "reportedByUserUid",
|
|
12
|
+
ASSIGNEE_USER_UID = "assigneeUserUid",
|
|
13
|
+
LAST_COMMENT_DATE = "lastCommentDate"
|
|
14
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export enum IssueSubType {
|
|
2
|
+
CLARIFICATION = "CLARIFICATION",
|
|
3
|
+
MISSPELLING = "MISSPELLING",
|
|
4
|
+
POOR_TRANSLATION = "POOR_TRANSLATION",
|
|
5
|
+
DOES_NOT_FIT_SPACE = "DOES_NOT_FIT_SPACE",
|
|
6
|
+
PLACEHOLDER_ISSUE = "PLACEHOLDER_ISSUE",
|
|
7
|
+
REVIEW_TRANSLATION = "REVIEW_TRANSLATION",
|
|
8
|
+
CUSTOM = "CUSTOM",
|
|
9
|
+
MT_ERROR = "MT_ERROR"
|
|
10
|
+
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { SmartlingBaseApi } from "../base/index";
|
|
2
|
+
import { AccessTokenProvider } from "../auth/access-token-provider";
|
|
3
|
+
import { Logger } from "../logger";
|
|
4
|
+
import { CreateIssueParameters } from "./params/create-issue-parameters";
|
|
5
|
+
import { EditIssueParameters } from "./params/edit-issue-parameters";
|
|
6
|
+
import { UpdateIssueStateParameters } from "./params/update-issue-state-parameters";
|
|
7
|
+
import { UpdateIssueAnsweredParameters } from "./params/update-issue-answered-parameters";
|
|
8
|
+
import { UpdateIssueAssigneeParameters } from "./params/update-issue-assignee-parameters";
|
|
9
|
+
import { UpdateIssueSeverityLevelParameters } from "./params/update-issue-severity-level-parameters";
|
|
10
|
+
import { UpdateIssueTypeParameters } from "./params/update-issue-type-parameters";
|
|
11
|
+
import { CreateIssueCommentParameters } from "./params/create-issue-comment-parameters";
|
|
12
|
+
import { EditIssueCommentParameters } from "./params/edit-issue-comment-parameters";
|
|
13
|
+
import { IssueDto } from "./dto/issue-dto";
|
|
14
|
+
import { IssueTextDto } from "./dto/issue-text-dto";
|
|
15
|
+
import { IssueStateDto } from "./dto/issue-state-dto";
|
|
16
|
+
import { IssueAnsweredDto } from "./dto/issue-answered-dto";
|
|
17
|
+
import { IssueAssigneeDto } from "./dto/issue-assignee-dto";
|
|
18
|
+
import { IssueSeverityLevelDto } from "./dto/issue-severity-level-dto";
|
|
19
|
+
import { IssueChangedTypeDto } from "./dto/issue-changed-type-dto";
|
|
20
|
+
import { IssueCommentDto } from "./dto/issue-comment-dto";
|
|
21
|
+
import { SmartlingListResponse } from "../http/smartling-list-response";
|
|
22
|
+
import { CountProjectIssuesParameters } from "./params/count-project-issues-parameters";
|
|
23
|
+
import { FindProjectIssuesParameters } from "./params/find-project-issues-parameters";
|
|
24
|
+
import { CountAccountIssuesParameters } from "./params/count-account-issues-parameters";
|
|
25
|
+
import { FindAccountIssuesParameters } from "./params/find-account-issues-parameters";
|
|
26
|
+
import { IssuesCountDto } from "./dto/issues-count-dto";
|
|
27
|
+
|
|
28
|
+
export class SmartlingIssuesApi extends SmartlingBaseApi {
|
|
29
|
+
constructor(smartlingApiBaseUrl: string, authApi: AccessTokenProvider, logger: Logger) {
|
|
30
|
+
super(logger);
|
|
31
|
+
this.authApi = authApi;
|
|
32
|
+
this.entrypoint = `${smartlingApiBaseUrl}/issues-api/v2`;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async createIssue(
|
|
36
|
+
projectId: string,
|
|
37
|
+
params: CreateIssueParameters
|
|
38
|
+
): Promise<IssueDto> {
|
|
39
|
+
return await this.makeRequest(
|
|
40
|
+
"post",
|
|
41
|
+
`${this.entrypoint}/projects/${projectId}/issues`,
|
|
42
|
+
JSON.stringify(params.export())
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
async editIssue(
|
|
47
|
+
projectId: string,
|
|
48
|
+
issueUid: string,
|
|
49
|
+
params: EditIssueParameters
|
|
50
|
+
): Promise<IssueTextDto> {
|
|
51
|
+
return await this.makeRequest(
|
|
52
|
+
"put",
|
|
53
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/issueText`,
|
|
54
|
+
JSON.stringify(params.export())
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
async openOrCloseIssue(
|
|
59
|
+
projectId: string,
|
|
60
|
+
issueUid: string,
|
|
61
|
+
params: UpdateIssueStateParameters
|
|
62
|
+
): Promise<IssueStateDto> {
|
|
63
|
+
return await this.makeRequest(
|
|
64
|
+
"put",
|
|
65
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/state`,
|
|
66
|
+
JSON.stringify(params.export())
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async getIssueDetails(
|
|
71
|
+
projectId: string,
|
|
72
|
+
issueUid: string
|
|
73
|
+
): Promise<IssueDto> {
|
|
74
|
+
return await this.makeRequest(
|
|
75
|
+
"get",
|
|
76
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}`
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
async updateIssueAnswered(
|
|
81
|
+
projectId: string,
|
|
82
|
+
issueUid: string,
|
|
83
|
+
params: UpdateIssueAnsweredParameters
|
|
84
|
+
): Promise<IssueAnsweredDto> {
|
|
85
|
+
return await this.makeRequest(
|
|
86
|
+
"put",
|
|
87
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/answered`,
|
|
88
|
+
JSON.stringify(params.export())
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
async updateIssueAssignee(
|
|
93
|
+
projectId: string,
|
|
94
|
+
issueUid: string,
|
|
95
|
+
params: UpdateIssueAssigneeParameters
|
|
96
|
+
): Promise<IssueAssigneeDto> {
|
|
97
|
+
return await this.makeRequest(
|
|
98
|
+
"put",
|
|
99
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/assignee`,
|
|
100
|
+
JSON.stringify(params.export())
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
async deleteIssueAssignee(
|
|
105
|
+
projectId: string,
|
|
106
|
+
issueUid: string
|
|
107
|
+
): Promise<void> {
|
|
108
|
+
await this.makeRequest(
|
|
109
|
+
"delete",
|
|
110
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/assignee`
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
async updateIssueSeverityLevel(
|
|
115
|
+
projectId: string,
|
|
116
|
+
issueUid: string,
|
|
117
|
+
params: UpdateIssueSeverityLevelParameters
|
|
118
|
+
): Promise<IssueSeverityLevelDto> {
|
|
119
|
+
return await this.makeRequest(
|
|
120
|
+
"put",
|
|
121
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/severity-level`,
|
|
122
|
+
JSON.stringify(params.export())
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
async updateIssueType(
|
|
127
|
+
projectId: string,
|
|
128
|
+
issueUid: string,
|
|
129
|
+
params: UpdateIssueTypeParameters
|
|
130
|
+
): Promise<IssueChangedTypeDto> {
|
|
131
|
+
return await this.makeRequest(
|
|
132
|
+
"put",
|
|
133
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/change-type`,
|
|
134
|
+
JSON.stringify(params.export())
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
async getIssueComments(
|
|
139
|
+
projectId: string,
|
|
140
|
+
issueUid: string
|
|
141
|
+
): Promise<SmartlingListResponse<IssueCommentDto>> {
|
|
142
|
+
return await this.makeRequest(
|
|
143
|
+
"get",
|
|
144
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/comments`
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
async addIssueComment(
|
|
149
|
+
projectId: string,
|
|
150
|
+
issueUid: string,
|
|
151
|
+
params: CreateIssueCommentParameters
|
|
152
|
+
): Promise<IssueCommentDto> {
|
|
153
|
+
return await this.makeRequest(
|
|
154
|
+
"post",
|
|
155
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/comments`,
|
|
156
|
+
JSON.stringify(params.export())
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
async updateIssueComment(
|
|
161
|
+
projectId: string,
|
|
162
|
+
issueUid: string,
|
|
163
|
+
issueCommentUid: string,
|
|
164
|
+
params: EditIssueCommentParameters
|
|
165
|
+
): Promise<IssueCommentDto> {
|
|
166
|
+
return await this.makeRequest(
|
|
167
|
+
"put",
|
|
168
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/comments/${issueCommentUid}`,
|
|
169
|
+
JSON.stringify(params.export())
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
async getIssueCommentDetails(
|
|
174
|
+
projectId: string,
|
|
175
|
+
issueUid: string,
|
|
176
|
+
issueCommentUid: string
|
|
177
|
+
): Promise<IssueCommentDto> {
|
|
178
|
+
return await this.makeRequest(
|
|
179
|
+
"get",
|
|
180
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/comments/${issueCommentUid}`
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
async deleteIssueComment(
|
|
185
|
+
projectId: string,
|
|
186
|
+
issueUid: string,
|
|
187
|
+
issueCommentUid: string
|
|
188
|
+
): Promise<void> {
|
|
189
|
+
await this.makeRequest(
|
|
190
|
+
"delete",
|
|
191
|
+
`${this.entrypoint}/projects/${projectId}/issues/${issueUid}/comments/${issueCommentUid}`
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
async findProjectIssues(
|
|
196
|
+
projectId: string,
|
|
197
|
+
params: FindProjectIssuesParameters
|
|
198
|
+
): Promise<SmartlingListResponse<IssueDto>> {
|
|
199
|
+
return await this.makeRequest(
|
|
200
|
+
"post",
|
|
201
|
+
`${this.entrypoint}/projects/${projectId}/issues/list`,
|
|
202
|
+
JSON.stringify(params.export())
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
async countProjectIssues(
|
|
207
|
+
projectId: string,
|
|
208
|
+
params: CountProjectIssuesParameters
|
|
209
|
+
): Promise<IssuesCountDto> {
|
|
210
|
+
return await this.makeRequest(
|
|
211
|
+
"post",
|
|
212
|
+
`${this.entrypoint}/projects/${projectId}/issues/count`,
|
|
213
|
+
JSON.stringify(params.export())
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
async findAccountIssues(
|
|
218
|
+
accountUid: string,
|
|
219
|
+
params: FindAccountIssuesParameters
|
|
220
|
+
): Promise<SmartlingListResponse<IssueDto>> {
|
|
221
|
+
return await this.makeRequest(
|
|
222
|
+
"post",
|
|
223
|
+
`${this.entrypoint}/accounts/${accountUid}/issues/list`,
|
|
224
|
+
JSON.stringify(params.export())
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
async countAccountIssues(
|
|
229
|
+
accountUid: string,
|
|
230
|
+
params: CountAccountIssuesParameters
|
|
231
|
+
): Promise<IssuesCountDto> {
|
|
232
|
+
return await this.makeRequest(
|
|
233
|
+
"post",
|
|
234
|
+
`${this.entrypoint}/accounts/${accountUid}/issues/count`,
|
|
235
|
+
JSON.stringify(params.export())
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { BaseParameters } from "../../parameters";
|
|
2
|
+
import { SmartlingException } from "../../exception";
|
|
3
|
+
import { IssueSeverityLevel } from "../enums/issue-severity-level";
|
|
4
|
+
import { IssueState } from "../enums/issue-state";
|
|
5
|
+
import { IssueSubType } from "../enums/issue-sub-type";
|
|
6
|
+
import { IssueType } from "../enums/issue-type";
|
|
7
|
+
import { IssueWatchingState } from "../enums/issue-watching-state";
|
|
8
|
+
import { JobFilterDto } from "../dto/job-filter-dto";
|
|
9
|
+
import { StringFilterDto } from "../dto/string-filter-dto";
|
|
10
|
+
|
|
11
|
+
export abstract class BaseIssuesFilterParameters extends BaseParameters {
|
|
12
|
+
setCreatedDateBefore(date: string): this {
|
|
13
|
+
this.set("createdDateBefore", date);
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
setCreatedDateAfter(date: string): this {
|
|
18
|
+
this.set("createdDateAfter", date);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
setResolvedDateBefore(date: string): this {
|
|
23
|
+
this.set("resolvedDateBefore", date);
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
setResolvedDateAfter(date: string): this {
|
|
28
|
+
this.set("resolvedDateAfter", date);
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
setAnswered(answered: boolean): this {
|
|
33
|
+
this.set("answered", answered);
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
setReopened(reopened: boolean): this {
|
|
38
|
+
this.set("reopened", reopened);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
setHasComments(hasComments: boolean): this {
|
|
43
|
+
this.set("hasComments", hasComments);
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
setIssueSeverityLevelCodes(codes: Array<IssueSeverityLevel>): this {
|
|
48
|
+
this.set("issueSeverityLevelCodes", codes);
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
setIssueStateCodes(codes: Array<IssueState>): this {
|
|
53
|
+
this.set("issueStateCodes", codes);
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
setIssueSubTypeCodes(codes: Array<IssueSubType>): this {
|
|
58
|
+
this.set("issueSubTypeCodes", codes);
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
setIssueTypeCodes(codes: Array<IssueType>): this {
|
|
63
|
+
this.set("issueTypeCodes", codes);
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
setIssueWatchingStateCode(code: IssueWatchingState): this {
|
|
68
|
+
this.set("issueWatchingStateCode", code);
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
setReportedByUserUid(uid: string): this {
|
|
73
|
+
this.set("reportedByUserUid", uid);
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
setAssigneeUserUid(uid: string): this {
|
|
78
|
+
this.set("assigneeUserUid", uid);
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
setIssueNumbers(numbers: Array<number>): this {
|
|
83
|
+
if (numbers && numbers.length > 1000) {
|
|
84
|
+
throw new SmartlingException("Issue numbers array must not exceed 1000 items");
|
|
85
|
+
}
|
|
86
|
+
this.set("issueNumbers", numbers);
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
setJobFilter(jobFilter: JobFilterDto): this {
|
|
91
|
+
if (jobFilter && jobFilter.jobUids && jobFilter.jobUids.length > 1000) {
|
|
92
|
+
throw new SmartlingException("Job filter jobUids array must not exceed 1000 items");
|
|
93
|
+
}
|
|
94
|
+
this.set("jobFilter", jobFilter);
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
setStringFilter(stringFilter: StringFilterDto): this {
|
|
99
|
+
this.set("stringFilter", stringFilter);
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseIssuesFilterParameters } from "./base-issues-filter-parameters";
|
|
2
|
+
|
|
3
|
+
export class CountAccountIssuesParameters extends BaseIssuesFilterParameters {
|
|
4
|
+
setProjectIds(projectIds: Array<string>): this {
|
|
5
|
+
this.set("projectIds", projectIds);
|
|
6
|
+
return this;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseParameters } from "../../parameters";
|
|
2
|
+
import { SmartlingException } from "../../exception";
|
|
3
|
+
|
|
4
|
+
export class CreateIssueCommentParameters extends BaseParameters {
|
|
5
|
+
setCommentText(commentText: string): CreateIssueCommentParameters {
|
|
6
|
+
if (commentText && commentText.length > 4000) {
|
|
7
|
+
throw new SmartlingException("Comment text length must not exceed 4000 characters");
|
|
8
|
+
}
|
|
9
|
+
this.set("commentText", commentText);
|
|
10
|
+
return this;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { BaseParameters } from "../../parameters";
|
|
2
|
+
import { SmartlingException } from "../../exception";
|
|
3
|
+
import { IssueSeverityLevel } from "../enums/issue-severity-level";
|
|
4
|
+
import { IssueSubType } from "../enums/issue-sub-type";
|
|
5
|
+
import { IssueType } from "../enums/issue-type";
|
|
6
|
+
import { CreateIssueStringDto } from "../dto/create-issue-string-dto";
|
|
7
|
+
|
|
8
|
+
export class CreateIssueParameters extends BaseParameters {
|
|
9
|
+
setIssueText(issueText: string): CreateIssueParameters {
|
|
10
|
+
if (issueText && issueText.length > 4000) {
|
|
11
|
+
throw new SmartlingException("Issue text length must not exceed 4000 characters");
|
|
12
|
+
}
|
|
13
|
+
this.set("issueText", issueText);
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
setIssueType(issueType: IssueType): CreateIssueParameters {
|
|
18
|
+
this.set("issueTypeCode", issueType);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
setIssueSubType(issueSubType: IssueSubType): CreateIssueParameters {
|
|
23
|
+
this.set("issueSubTypeCode", issueSubType);
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
setString(string: CreateIssueStringDto): CreateIssueParameters {
|
|
28
|
+
this.set("string", string);
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
setAssigneeUserUid(assigneeUserUid: string): CreateIssueParameters {
|
|
33
|
+
this.set("assigneeUserUid", assigneeUserUid);
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
setIssueSeverityLevel(level: IssueSeverityLevel): CreateIssueParameters {
|
|
38
|
+
this.set("issueSeverityLevelCode", level);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseParameters } from "../../parameters";
|
|
2
|
+
import { SmartlingException } from "../../exception";
|
|
3
|
+
|
|
4
|
+
export class EditIssueCommentParameters extends BaseParameters {
|
|
5
|
+
setCommentText(commentText: string): EditIssueCommentParameters {
|
|
6
|
+
if (commentText && commentText.length > 4000) {
|
|
7
|
+
throw new SmartlingException("Comment text length must not exceed 4000 characters");
|
|
8
|
+
}
|
|
9
|
+
this.set("commentText", commentText);
|
|
10
|
+
return this;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseParameters } from "../../parameters";
|
|
2
|
+
import { SmartlingException } from "../../exception";
|
|
3
|
+
|
|
4
|
+
export class EditIssueParameters extends BaseParameters {
|
|
5
|
+
setIssueText(issueText: string): EditIssueParameters {
|
|
6
|
+
if (issueText && issueText.length > 4000) {
|
|
7
|
+
throw new SmartlingException("Issue text length must not exceed 4000 characters");
|
|
8
|
+
}
|
|
9
|
+
this.set("issueText", issueText);
|
|
10
|
+
return this;
|
|
11
|
+
}
|
|
12
|
+
}
|