diff --git a/src/main/java/com/crowdin/client/translations/TranslationsApi.java b/src/main/java/com/crowdin/client/translations/TranslationsApi.java index 72160a206..7351eb6b5 100644 --- a/src/main/java/com/crowdin/client/translations/TranslationsApi.java +++ b/src/main/java/com/crowdin/client/translations/TranslationsApi.java @@ -43,15 +43,15 @@ public ResponseObject applyPreTranslationStringsBased(Long /** * @param projectId project identifier - * @param preTranslationId pre-translation identifier + * @param jobIdentifier pre-translation job identifier * @return pre-translation status * @see */ - public ResponseObject preTranslationStatus(Long projectId, String preTranslationId) throws HttpException, HttpBadRequestException { - PreTranslationStatusResponseObject preTranslationStatusResponseObject = this.httpClient.get(this.url + "/projects/" + projectId + "/pre-translations/" + preTranslationId, new HttpRequestConfig(), PreTranslationStatusResponseObject.class); + public ResponseObject preTranslationStatus(Long projectId, String jobIdentifier) throws HttpException, HttpBadRequestException { + PreTranslationStatusResponseObject preTranslationStatusResponseObject = this.httpClient.get(this.url + "/projects/" + projectId + "/pre-translations/" + jobIdentifier, new HttpRequestConfig(), PreTranslationStatusResponseObject.class); return ResponseObject.of(preTranslationStatusResponseObject.getData()); } @@ -280,36 +280,36 @@ public ResponseList batchEditPreTranslations(Long projectId, Lis * Edit Pre-Translation * * @param projectId project identifier - * @param preTranslationId pre-translation identifier + * @param jobIdentifier pre-translation job identifier * @see */ - public ResponseObject editPreTranslation(Long projectId, String preTranslationId, List request) throws HttpException, HttpBadRequestException { + public ResponseObject editPreTranslation(Long projectId, String jobIdentifier, List request) throws HttpException, HttpBadRequestException { PreTranslationResponseObject preTranslationResponseObject = this.httpClient.patch( - this.url + "/projects/" + projectId + "/pre-translations/" + preTranslationId, + this.url + "/projects/" + projectId + "/pre-translations/" + jobIdentifier, request, new HttpRequestConfig(), PreTranslationResponseObject.class ); return ResponseObject.of(preTranslationResponseObject.getData()); } - + /** * Pre-Translation Report - * + * * @param projectId project identifier - * @param preTranslationId pre-translation identifier + * @param jobIdentifier pre-translation job identifier * @return pre-translation report data * @see */ - public ResponseObject getPreTranslationReport(Long projectId, String preTranslationId) throws HttpException, HttpBadRequestException { + public ResponseObject getPreTranslationReport(Long projectId, String jobIdentifier) throws HttpException, HttpBadRequestException { PreTranslationReportResponseObject response = this.httpClient.get( - this.url + "/projects/" + projectId + "/pre-translations/" + preTranslationId + "/report", + this.url + "/projects/" + projectId + "/pre-translations/" + jobIdentifier + "/report", new HttpRequestConfig(), PreTranslationReportResponseObject.class ); diff --git a/src/main/java/com/crowdin/client/translations/model/ApplyPreTranslationRequest.java b/src/main/java/com/crowdin/client/translations/model/ApplyPreTranslationRequest.java index d36f5b492..5415db0e4 100644 --- a/src/main/java/com/crowdin/client/translations/model/ApplyPreTranslationRequest.java +++ b/src/main/java/com/crowdin/client/translations/model/ApplyPreTranslationRequest.java @@ -10,6 +10,8 @@ public class ApplyPreTranslationRequest { private List languageIds; private List fileIds; + private List directoryIds; + private List branchIds; private Method method; private Long engineId; private Long aiPromptId; diff --git a/src/main/java/com/crowdin/client/translations/model/PreTranslationStatus.java b/src/main/java/com/crowdin/client/translations/model/PreTranslationStatus.java index 7f64e7f2a..932f2d5d7 100644 --- a/src/main/java/com/crowdin/client/translations/model/PreTranslationStatus.java +++ b/src/main/java/com/crowdin/client/translations/model/PreTranslationStatus.java @@ -21,6 +21,7 @@ public class PreTranslationStatus { public static class Attributes { private List languageIds; private List fileIds; + private List directoryIds; private List branchIds; private Method method; private AutoApproveOption autoApproveOption; diff --git a/src/test/java/com/crowdin/client/translations/TranslationsApiTest.java b/src/test/java/com/crowdin/client/translations/TranslationsApiTest.java index 26db06d19..803bc87f8 100644 --- a/src/test/java/com/crowdin/client/translations/TranslationsApiTest.java +++ b/src/test/java/com/crowdin/client/translations/TranslationsApiTest.java @@ -40,6 +40,7 @@ public List getMocks() { RequestMock.build(this.url + "/projects/" + projectId + "/pre-translations", HttpPost.METHOD_NAME, "api/translations/preTranslationStringsBasedRequest.json", "api/translations/preTranslationStatusStringsBased.json"), RequestMock.build(this.url + "/projects/" + projectId + "/pre-translations", HttpPost.METHOD_NAME, "api/translations/preTranslationScopeRequest.json", "api/translations/preTranslationStatus.json"), RequestMock.build(this.url + "/projects/" + projectId + "/pre-translations", HttpPost.METHOD_NAME, "api/translations/preTranslationScopeStringsBasedRequest.json", "api/translations/preTranslationStatusStringsBased.json"), + RequestMock.build(this.url + "/projects/" + projectId + "/pre-translations", HttpPost.METHOD_NAME, "api/translations/preTranslationDirectoryBranchRequest.json", "api/translations/preTranslationStatusWithDirectoryBranch.json"), RequestMock.build(this.url + "/projects/" + projectId + "/pre-translations/" + preTranslationId, HttpGet.METHOD_NAME, "api/translations/preTranslationStatus.json"), RequestMock.build(String.format("%s/projects/%d/translations/builds/directories/%d", this.url, projectId, directoryId), HttpPost.METHOD_NAME, "api/translations/buildProjectDirectoryRequest.json", "api/translations/downloadLink.json"), RequestMock.build(this.url + "/projects/" + projectId + "/translations/builds/files/" + fileId, HttpPost.METHOD_NAME, "api/translations/buildFileRequest.json", "api/translations/downloadLink.json"), @@ -97,6 +98,20 @@ public void applyPreTranslationStringsBasedTest() { assertEquals(20000L, preTranslationStatusResponseObject.getData().getAttributes().getExcludeLabelIds().get(0)); } + @Test + public void applyPreTranslationDirectoryAndBranchTest() { + ApplyPreTranslationRequest request = new ApplyPreTranslationRequest(); + request.setLanguageIds(singletonList(language)); + request.setDirectoryIds(singletonList(directoryId)); + request.setBranchIds(singletonList(branchId)); + request.setAutoApproveOption(AutoApproveOption.NONE); + request.setMethod(Method.MT); + ResponseObject preTranslationStatusResponseObject = this.getTranslationsApi().applyPreTranslation(projectId, request); + assertEquals(preTranslationStatusResponseObject.getData().getIdentifier(), preTranslationId); + assertEquals(directoryId, preTranslationStatusResponseObject.getData().getAttributes().getDirectoryIds().get(0)); + assertEquals(branchId, preTranslationStatusResponseObject.getData().getAttributes().getBranchIds().get(0)); + } + @Test public void applyPreTranslationScopeTest() { ApplyPreTranslationRequest request = new ApplyPreTranslationRequest(); diff --git a/src/test/resources/api/translations/preTranslationDirectoryBranchRequest.json b/src/test/resources/api/translations/preTranslationDirectoryBranchRequest.json new file mode 100644 index 000000000..f6c116747 --- /dev/null +++ b/src/test/resources/api/translations/preTranslationDirectoryBranchRequest.json @@ -0,0 +1,13 @@ +{ + "languageIds": [ + "uk" + ], + "directoryIds": [ + 3 + ], + "branchIds": [ + 211 + ], + "method": "mt", + "autoApproveOption": "none" +} diff --git a/src/test/resources/api/translations/preTranslationStatusWithDirectoryBranch.json b/src/test/resources/api/translations/preTranslationStatusWithDirectoryBranch.json new file mode 100644 index 000000000..b97d021a0 --- /dev/null +++ b/src/test/resources/api/translations/preTranslationStatusWithDirectoryBranch.json @@ -0,0 +1,24 @@ +{ + "data": { + "identifier": "9e7de270-4f83-41cb-b606-2f90631f26e2", + "status": "created", + "progress": 0, + "attributes": { + "languageIds": [ + "uk" + ], + "directoryIds": [ + 3 + ], + "branchIds": [ + 211 + ], + "method": "mt", + "autoApproveOption": "none" + }, + "createdAt": "2019-09-20T14:05:50+00:00", + "updatedAt": "2019-09-20T14:05:50+00:00", + "startedAt": "2020-04-14T10:32:39Z", + "finishedAt": "2020-04-14T10:32:39Z" + } +}