@@ -18,13 +18,29 @@ export class StringTranslations extends CrowdinApi {
1818 limit ?: number ,
1919 offset ?: number ,
2020 fileId ?: number ,
21+ ) : Promise < ResponseList < StringTranslationsModel . Approval > > ;
22+
23+ listTranslationApprovals (
24+ projectId : number ,
25+ stringIdOrRequest ?: number | StringTranslationsModel . ListTranslationApprovalsRequest ,
26+ languageId ?: string ,
27+ translationId ?: number ,
28+ limit ?: number ,
29+ offset ?: number ,
30+ fileId ?: number ,
2131 ) : Promise < ResponseList < StringTranslationsModel . Approval > > {
2232 let url = `${ this . url } /projects/${ projectId } /approvals` ;
23- url = this . addQueryParam ( url , 'stringId' , stringId ) ;
24- url = this . addQueryParam ( url , 'languageId' , languageId ) ;
25- url = this . addQueryParam ( url , 'translationId' , translationId ) ;
26- url = this . addQueryParam ( url , 'fileId' , fileId ) ;
27- return this . getList ( url , limit , offset ) ;
33+ let request : StringTranslationsModel . ListTranslationApprovalsRequest ;
34+ if ( stringIdOrRequest && typeof stringIdOrRequest === 'object' ) {
35+ request = stringIdOrRequest ;
36+ } else {
37+ request = { stringId : stringIdOrRequest , languageId, translationId, limit, offset, fileId } ;
38+ }
39+ url = this . addQueryParam ( url , 'stringId' , request . stringId ) ;
40+ url = this . addQueryParam ( url , 'languageId' , request . languageId ) ;
41+ url = this . addQueryParam ( url , 'translationId' , request . translationId ) ;
42+ url = this . addQueryParam ( url , 'fileId' , request . fileId ) ;
43+ return this . getList ( url , request . limit , request . offset ) ;
2844 }
2945
3046 /**
@@ -84,14 +100,46 @@ export class StringTranslations extends CrowdinApi {
84100 | StringTranslationsModel . PluralLanguageTranslation
85101 | StringTranslationsModel . IcuLanguageTranslation
86102 >
103+ > ;
104+
105+ listLanguageTranslations (
106+ projectId : number ,
107+ languageId : string ,
108+ stringIdsOrRequest ?: string | StringTranslationsModel . ListLanguageTranslationsRequest ,
109+ fileId ?: number ,
110+ limit ?: number ,
111+ offset ?: number ,
112+ labelIds ?: string ,
113+ denormalizePlaceholders ?: BooleanInt ,
114+ croql ?: string ,
115+ ) : Promise <
116+ ResponseList <
117+ | StringTranslationsModel . PlainLanguageTranslation
118+ | StringTranslationsModel . PluralLanguageTranslation
119+ | StringTranslationsModel . IcuLanguageTranslation
120+ >
87121 > {
88122 let url = `${ this . url } /projects/${ projectId } /languages/${ languageId } /translations` ;
89- url = this . addQueryParam ( url , 'stringIds' , stringIds ) ;
90- url = this . addQueryParam ( url , 'fileId' , fileId ) ;
91- url = this . addQueryParam ( url , 'labelIds' , labelIds ) ;
92- url = this . addQueryParam ( url , 'denormalizePlaceholders' , denormalizePlaceholders ) ;
93- url = this . addQueryParam ( url , 'croql' , croql ) ;
94- return this . getList ( url , limit , offset ) ;
123+ let request : StringTranslationsModel . ListLanguageTranslationsRequest ;
124+ if ( stringIdsOrRequest && typeof stringIdsOrRequest === 'object' ) {
125+ request = stringIdsOrRequest ;
126+ } else {
127+ request = {
128+ stringIds : stringIdsOrRequest ,
129+ fileId,
130+ limit,
131+ offset,
132+ labelIds,
133+ denormalizePlaceholders,
134+ croql,
135+ } ;
136+ }
137+ url = this . addQueryParam ( url , 'stringIds' , request . stringIds ) ;
138+ url = this . addQueryParam ( url , 'fileId' , request . fileId ) ;
139+ url = this . addQueryParam ( url , 'labelIds' , request . labelIds ) ;
140+ url = this . addQueryParam ( url , 'denormalizePlaceholders' , request . denormalizePlaceholders ) ;
141+ url = this . addQueryParam ( url , 'croql' , request . croql ) ;
142+ return this . getList ( url , request . limit , request . offset ) ;
95143 }
96144
97145 /**
@@ -189,12 +237,27 @@ export class StringTranslations extends CrowdinApi {
189237 translationId ?: number ,
190238 limit ?: number ,
191239 offset ?: number ,
240+ ) : Promise < ResponseList < StringTranslationsModel . Vote > > ;
241+
242+ listTranslationVotes (
243+ projectId : number ,
244+ stringIdOrRequest ?: number | StringTranslationsModel . ListTranslationVotesRequest ,
245+ languageId ?: string ,
246+ translationId ?: number ,
247+ limit ?: number ,
248+ offset ?: number ,
192249 ) : Promise < ResponseList < StringTranslationsModel . Vote > > {
193250 let url = `${ this . url } /projects/${ projectId } /votes` ;
194- url = this . addQueryParam ( url , 'stringId' , stringId ) ;
195- url = this . addQueryParam ( url , 'languageId' , languageId ) ;
196- url = this . addQueryParam ( url , 'translationId' , translationId ) ;
197- return this . getList ( url , limit , offset ) ;
251+ let request : StringTranslationsModel . ListTranslationVotesRequest ;
252+ if ( stringIdOrRequest && typeof stringIdOrRequest === 'object' ) {
253+ request = stringIdOrRequest ;
254+ } else {
255+ request = { stringId : stringIdOrRequest , languageId, translationId, limit, offset } ;
256+ }
257+ url = this . addQueryParam ( url , 'stringId' , request . stringId ) ;
258+ url = this . addQueryParam ( url , 'languageId' , request . languageId ) ;
259+ url = this . addQueryParam ( url , 'translationId' , request . translationId ) ;
260+ return this . getList ( url , request . limit , request . offset ) ;
198261 }
199262
200263 /**
@@ -229,6 +292,15 @@ export class StringTranslations extends CrowdinApi {
229292}
230293
231294export namespace StringTranslationsModel {
295+ export interface ListTranslationApprovalsRequest {
296+ stringId ?: number ;
297+ languageId ?: string ;
298+ translationId ?: number ;
299+ limit ?: number ;
300+ offset ?: number ;
301+ fileId ?: number ;
302+ }
303+
232304 export interface Approval {
233305 id : number ;
234306 user : User ;
@@ -252,6 +324,16 @@ export namespace StringTranslationsModel {
252324 createdAt : string ;
253325 }
254326
327+ export interface ListLanguageTranslationsRequest {
328+ stringIds ?: string ;
329+ fileId ?: number ;
330+ limit ?: number ;
331+ offset ?: number ;
332+ labelIds ?: string ;
333+ denormalizePlaceholders ?: BooleanInt ;
334+ croql ?: string ;
335+ }
336+
255337 export interface PlainLanguageTranslation {
256338 stringId : number ;
257339 contentType : string ;
@@ -291,6 +373,14 @@ export namespace StringTranslationsModel {
291373 pluralCategoryName ?: string ;
292374 }
293375
376+ export interface ListTranslationVotesRequest {
377+ stringId ?: number ;
378+ languageId ?: string ;
379+ translationId ?: number ;
380+ limit ?: number ;
381+ offset ?: number ;
382+ }
383+
294384 export interface Vote {
295385 id : number ;
296386 user : User ;
0 commit comments