Skip to content

Commit 39e5cbf

Browse files
committed
- String Translation API update
1 parent 8fcfcc7 commit 39e5cbf

File tree

2 files changed

+156
-164
lines changed

2 files changed

+156
-164
lines changed

src/CrowdinApiClient/Api/StringTranslationApi.php

+19-25
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,10 @@ public function createApproval(int $projectId, array $data): ?StringTranslationA
5959
* Approval Info
6060
* @link https://developer.crowdin.com/api/v2/#operation/api.projects.approvals.get API Documentation
6161
* @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.approvals.get API Documentation Enterprise
62-
*
63-
* @param int $projectId
64-
* @param int $approvalId
65-
* @return StringTranslationApproval|null
6662
*/
6763
public function getApproval(int $projectId, int $approvalId): ?StringTranslationApproval
6864
{
6965
$path = sprintf('projects/%d/approvals/%d', $projectId, $approvalId);
70-
7166
return $this->_get($path, StringTranslationApproval::class);
7267
}
7368

@@ -86,10 +81,21 @@ public function deleteApproval(int $projectId, int $approvalId)
8681
return $this->_delete($path);
8782
}
8883

84+
/**
85+
* Remove String Approvals
86+
* @link https://developer.crowdin.com/api/v2/#operation/api.projects.approvals.deleteMany API Documentation
87+
* @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.approvals.deleteMany API Documentation Enterprise
88+
*/
89+
public function deleteStringApprovals(int $projectId, int $stringId): void
90+
{
91+
$this->_delete(sprintf('projects/%d/approvals', $projectId), ['stringId' => $stringId]);
92+
}
93+
8994
/**
9095
* List Language Translations
9196
* @link https://developer.crowdin.com/api/v2/#operation/api.projects.languages.translations.getMany API Documentation
9297
* @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.languages.translations.getMany API Documentation Enterprise
98+
*
9399
* @param int $projectId
94100
* @param string $languageId
95101
* @param array $params
@@ -162,28 +168,26 @@ public function create(int $projectId, array $data): ?StringTranslation
162168
*
163169
* @param int $projectId
164170
* @param int $stringId
165-
* @param string $languageId
171+
* @param null|string $languageId
166172
* @return mixed
167173
*/
168-
public function deleteStringTranslations(int $projectId, int $stringId, string $languageId)
174+
public function deleteStringTranslations(int $projectId, int $stringId, ?string $languageId = null)
169175
{
170-
$path = sprintf('projects/%d/translations', $projectId);
171176
$params = [
172177
'stringId' => $stringId,
173-
'languageId' => $languageId,
174178
];
175179

176-
return $this->_delete($path, $params);
180+
if ($languageId !== null) {
181+
$params['languageId'] = $languageId;
182+
}
183+
184+
return $this->_delete(sprintf('projects/%d/translations', $projectId), $params);
177185
}
178186

179187
/**
180188
* Get Translation
181189
* @link https://developer.crowdin.com/api/v2/#operation/api.projects.translations.get API Documentation
182190
* @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.translations.get API Documentation Enterprise
183-
*
184-
* @param int $projectId
185-
* @param int $translationId
186-
* @return StringTranslation|null
187191
*/
188192
public function get(int $projectId, int $translationId): ?StringTranslation
189193
{
@@ -195,15 +199,10 @@ public function get(int $projectId, int $translationId): ?StringTranslation
195199
* Restore Translation
196200
* @link https://developer.crowdin.com/api/v2/#operation/api.projects.translations.put API Documentation Enterprise
197201
* @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.translations.put API Documentation Enterprise
198-
*
199-
* @param int $projectId
200-
* @param int $translationId
201-
* @return StringTranslation|null
202202
*/
203203
public function restore(int $projectId, int $translationId): ?StringTranslation
204204
{
205205
$path = sprintf('projects/%d/translations/%d', $projectId, $translationId);
206-
207206
return $this->_put($path, StringTranslation::class, []);
208207
}
209208

@@ -248,16 +247,11 @@ public function listVotes(int $projectId, array $params = []): ModelCollection
248247
* Get Vote
249248
* @link https://developer.crowdin.com/api/v2/#operation/api.projects.votes.get API Documentation
250249
* @link https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.votes.get API Documentation Enterprise
251-
*
252-
* @param int $projectId
253-
* @param int $voteId
254-
* @return Vote|null
255250
*/
256251
public function getVote(int $projectId, int $voteId): ?Vote
257252
{
258253
$path = sprintf('projects/%d/votes/%d', $projectId, $voteId);
259-
260-
return $this->_get($path, Vote::class);
254+
return $this->_get($path, Vote::class);
261255
}
262256

263257
/**

0 commit comments

Comments
 (0)