smartling-api-sdk-nodejs 3.2.3 → 3.4.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.
Files changed (261) hide show
  1. package/.env.example +13 -0
  2. package/api/base/base-api.ts +2 -1
  3. package/api/glossaries/dto/custom-field-value-dto.ts +6 -0
  4. package/api/glossaries/dto/entry-request-translation-status-dto.ts +7 -0
  5. package/api/glossaries/dto/glossary-entries-count-dto.ts +5 -0
  6. package/api/glossaries/dto/glossary-entry-dto.ts +23 -0
  7. package/api/glossaries/dto/glossary-import-result-dto.ts +11 -0
  8. package/api/glossaries/dto/glossary-import-status-dto.ts +7 -0
  9. package/api/glossaries/dto/glossary-uids-dto.ts +3 -0
  10. package/api/glossaries/dto/import-entry-changes-dto.ts +6 -0
  11. package/api/glossaries/dto/import-entry-translation-changes-dto.ts +6 -0
  12. package/api/glossaries/dto/import-warning-dto.ts +4 -0
  13. package/api/glossaries/dto/label-dto.ts +4 -0
  14. package/api/glossaries/dto/locale-workflow-dto.ts +4 -0
  15. package/api/glossaries/dto/operation-dto.ts +3 -0
  16. package/api/glossaries/dto/translation-dto.ts +20 -0
  17. package/api/glossaries/dto/translation-request-status-dto.ts +5 -0
  18. package/api/glossaries/enums/import-file-media-type.ts +5 -0
  19. package/api/glossaries/enums/import-status.ts +6 -0
  20. package/api/glossaries/enums/index.ts +4 -0
  21. package/api/glossaries/enums/part-of-speech.ts +11 -0
  22. package/api/glossaries/enums/suggestion-status.ts +5 -0
  23. package/api/glossaries/index.ts +281 -0
  24. package/api/glossaries/params/archive-glossaries-parameters.ts +9 -0
  25. package/api/glossaries/params/authorize-entries-parameters.ts +37 -0
  26. package/api/glossaries/params/create-glossary-entry-parameters.ts +50 -0
  27. package/api/glossaries/params/create-glossary-parameters.ts +40 -0
  28. package/api/glossaries/params/create-label-parameters.ts +9 -0
  29. package/api/glossaries/params/entries-bulk-action-parameters.ts +149 -0
  30. package/api/glossaries/params/entries-bulk-labels-parameters.ts +123 -0
  31. package/api/glossaries/params/export-entries-parameters.ts +16 -48
  32. package/api/glossaries/params/initialize-import-parameters.ts +42 -0
  33. package/api/glossaries/params/search-glossary-counts-parameters.ts +41 -0
  34. package/api/glossaries/params/search-glossary-entries-parameters.ts +105 -0
  35. package/api/translation-memory/dto/async-action-result-dto.ts +12 -0
  36. package/api/translation-memory/dto/async-action-status.ts +8 -0
  37. package/api/translation-memory/dto/create-string-search-result-dto.ts +16 -0
  38. package/api/translation-memory/dto/duplicate-string-dto.ts +9 -0
  39. package/api/translation-memory/dto/locale-summary-dto.ts +10 -0
  40. package/api/translation-memory/dto/strings-export-async-action-result-dto.ts +8 -0
  41. package/api/translation-memory/dto/tm-dto.ts +23 -0
  42. package/api/translation-memory/dto/tm-locale-dto.ts +8 -0
  43. package/api/translation-memory/dto/tmx-import-summary-dto.ts +16 -0
  44. package/api/translation-memory/dto/tmx-parsing-error-dto.ts +7 -0
  45. package/api/translation-memory/dto/user-dto.ts +6 -0
  46. package/api/translation-memory/index.ts +368 -0
  47. package/api/translation-memory/params/bulk-export-tm-strings-parameters.ts +30 -0
  48. package/api/translation-memory/params/create-string-search-filter-parameters.ts +232 -0
  49. package/api/translation-memory/params/create-string-search-options.ts +8 -0
  50. package/api/translation-memory/params/create-tm-parameters.ts +28 -0
  51. package/api/translation-memory/params/escape-smp-unicode-parser-directive.ts +6 -0
  52. package/api/translation-memory/params/extended-export-metadata-type.ts +4 -0
  53. package/api/translation-memory/params/import-tmx-file-parameters.ts +76 -0
  54. package/api/translation-memory/params/keyword-search-type.ts +5 -0
  55. package/api/translation-memory/params/leverage-type.ts +5 -0
  56. package/api/translation-memory/params/search-keyword.ts +10 -0
  57. package/api/translation-memory/params/source-type.ts +7 -0
  58. package/api/translation-memory/params/string-search-tags.ts +7 -0
  59. package/api/translation-memory/params/translation-quality-type.ts +5 -0
  60. package/api/translation-memory/params/tu-translation-quality-type.ts +6 -0
  61. package/api/translation-memory/params/update-tm-parameters.ts +23 -0
  62. package/built/api/base/base-api.js +2 -1
  63. package/built/api/base/base-api.js.map +1 -1
  64. package/built/api/glossaries/dto/custom-field-value-dto.d.ts +6 -0
  65. package/built/api/glossaries/dto/custom-field-value-dto.js +3 -0
  66. package/built/api/glossaries/dto/custom-field-value-dto.js.map +1 -0
  67. package/built/api/glossaries/dto/entry-request-translation-status-dto.d.ts +6 -0
  68. package/built/api/glossaries/dto/entry-request-translation-status-dto.js +3 -0
  69. package/built/api/glossaries/dto/entry-request-translation-status-dto.js.map +1 -0
  70. package/built/api/glossaries/dto/glossary-entries-count-dto.d.ts +5 -0
  71. package/built/api/glossaries/dto/glossary-entries-count-dto.js +3 -0
  72. package/built/api/glossaries/dto/glossary-entries-count-dto.js.map +1 -0
  73. package/built/api/glossaries/dto/glossary-entry-dto.d.ts +22 -0
  74. package/built/api/glossaries/dto/glossary-entry-dto.js +3 -0
  75. package/built/api/glossaries/dto/glossary-entry-dto.js.map +1 -0
  76. package/built/api/glossaries/dto/glossary-import-result-dto.d.ts +10 -0
  77. package/built/api/glossaries/dto/glossary-import-result-dto.js +3 -0
  78. package/built/api/glossaries/dto/glossary-import-result-dto.js.map +1 -0
  79. package/built/api/glossaries/dto/glossary-import-status-dto.d.ts +6 -0
  80. package/built/api/glossaries/dto/glossary-import-status-dto.js +3 -0
  81. package/built/api/glossaries/dto/glossary-import-status-dto.js.map +1 -0
  82. package/built/api/glossaries/dto/glossary-uids-dto.d.ts +3 -0
  83. package/built/api/glossaries/dto/glossary-uids-dto.js +3 -0
  84. package/built/api/glossaries/dto/glossary-uids-dto.js.map +1 -0
  85. package/built/api/glossaries/dto/import-entry-changes-dto.d.ts +6 -0
  86. package/built/api/glossaries/dto/import-entry-changes-dto.js +3 -0
  87. package/built/api/glossaries/dto/import-entry-changes-dto.js.map +1 -0
  88. package/built/api/glossaries/dto/import-entry-translation-changes-dto.d.ts +6 -0
  89. package/built/api/glossaries/dto/import-entry-translation-changes-dto.js +3 -0
  90. package/built/api/glossaries/dto/import-entry-translation-changes-dto.js.map +1 -0
  91. package/built/api/glossaries/dto/import-warning-dto.d.ts +4 -0
  92. package/built/api/glossaries/dto/import-warning-dto.js +3 -0
  93. package/built/api/glossaries/dto/import-warning-dto.js.map +1 -0
  94. package/built/api/glossaries/dto/label-dto.d.ts +4 -0
  95. package/built/api/glossaries/dto/label-dto.js +3 -0
  96. package/built/api/glossaries/dto/label-dto.js.map +1 -0
  97. package/built/api/glossaries/dto/locale-workflow-dto.d.ts +4 -0
  98. package/built/api/glossaries/dto/locale-workflow-dto.js +3 -0
  99. package/built/api/glossaries/dto/locale-workflow-dto.js.map +1 -0
  100. package/built/api/glossaries/dto/operation-dto.d.ts +3 -0
  101. package/built/api/glossaries/dto/operation-dto.js +3 -0
  102. package/built/api/glossaries/dto/operation-dto.js.map +1 -0
  103. package/built/api/glossaries/dto/translation-dto.d.ts +19 -0
  104. package/built/api/glossaries/dto/translation-dto.js +3 -0
  105. package/built/api/glossaries/dto/translation-dto.js.map +1 -0
  106. package/built/api/glossaries/dto/translation-request-status-dto.d.ts +5 -0
  107. package/built/api/glossaries/dto/translation-request-status-dto.js +3 -0
  108. package/built/api/glossaries/dto/translation-request-status-dto.js.map +1 -0
  109. package/built/api/glossaries/enums/import-file-media-type.d.ts +5 -0
  110. package/built/api/glossaries/enums/import-file-media-type.js +10 -0
  111. package/built/api/glossaries/enums/import-file-media-type.js.map +1 -0
  112. package/built/api/glossaries/enums/import-status.d.ts +6 -0
  113. package/built/api/glossaries/enums/import-status.js +11 -0
  114. package/built/api/glossaries/enums/import-status.js.map +1 -0
  115. package/built/api/glossaries/enums/index.d.ts +4 -0
  116. package/built/api/glossaries/enums/index.js +9 -1
  117. package/built/api/glossaries/enums/index.js.map +1 -1
  118. package/built/api/glossaries/enums/part-of-speech.d.ts +11 -0
  119. package/built/api/glossaries/enums/part-of-speech.js +16 -0
  120. package/built/api/glossaries/enums/part-of-speech.js.map +1 -0
  121. package/built/api/glossaries/enums/suggestion-status.d.ts +5 -0
  122. package/built/api/glossaries/enums/suggestion-status.js +10 -0
  123. package/built/api/glossaries/enums/suggestion-status.js.map +1 -0
  124. package/built/api/glossaries/index.d.ts +39 -0
  125. package/built/api/glossaries/index.js +127 -0
  126. package/built/api/glossaries/index.js.map +1 -1
  127. package/built/api/glossaries/params/archive-glossaries-parameters.d.ts +4 -0
  128. package/built/api/glossaries/params/archive-glossaries-parameters.js +12 -0
  129. package/built/api/glossaries/params/archive-glossaries-parameters.js.map +1 -0
  130. package/built/api/glossaries/params/authorize-entries-parameters.d.ts +10 -0
  131. package/built/api/glossaries/params/authorize-entries-parameters.js +28 -0
  132. package/built/api/glossaries/params/authorize-entries-parameters.js.map +1 -0
  133. package/built/api/glossaries/params/create-glossary-entry-parameters.d.ts +13 -0
  134. package/built/api/glossaries/params/create-glossary-entry-parameters.js +36 -0
  135. package/built/api/glossaries/params/create-glossary-entry-parameters.js.map +1 -0
  136. package/built/api/glossaries/params/create-glossary-parameters.d.ts +10 -0
  137. package/built/api/glossaries/params/create-glossary-parameters.js +32 -0
  138. package/built/api/glossaries/params/create-glossary-parameters.js.map +1 -0
  139. package/built/api/glossaries/params/create-label-parameters.d.ts +4 -0
  140. package/built/api/glossaries/params/create-label-parameters.js +12 -0
  141. package/built/api/glossaries/params/create-label-parameters.js.map +1 -0
  142. package/built/api/glossaries/params/entries-bulk-action-parameters.d.ts +28 -0
  143. package/built/api/glossaries/params/entries-bulk-action-parameters.js +112 -0
  144. package/built/api/glossaries/params/entries-bulk-action-parameters.js.map +1 -0
  145. package/built/api/glossaries/params/entries-bulk-labels-parameters.d.ts +29 -0
  146. package/built/api/glossaries/params/entries-bulk-labels-parameters.js +84 -0
  147. package/built/api/glossaries/params/entries-bulk-labels-parameters.js.map +1 -0
  148. package/built/api/glossaries/params/export-entries-parameters.js +16 -48
  149. package/built/api/glossaries/params/export-entries-parameters.js.map +1 -1
  150. package/built/api/glossaries/params/initialize-import-parameters.d.ts +12 -0
  151. package/built/api/glossaries/params/initialize-import-parameters.js +60 -0
  152. package/built/api/glossaries/params/initialize-import-parameters.js.map +1 -0
  153. package/built/api/glossaries/params/search-glossary-counts-parameters.d.ts +11 -0
  154. package/built/api/glossaries/params/search-glossary-counts-parameters.js +32 -0
  155. package/built/api/glossaries/params/search-glossary-counts-parameters.js.map +1 -0
  156. package/built/api/glossaries/params/search-glossary-entries-parameters.d.ts +25 -0
  157. package/built/api/glossaries/params/search-glossary-entries-parameters.js +72 -0
  158. package/built/api/glossaries/params/search-glossary-entries-parameters.js.map +1 -0
  159. package/built/api/translation-memory/dto/async-action-result-dto.d.ts +10 -0
  160. package/built/api/translation-memory/dto/async-action-result-dto.js +3 -0
  161. package/built/api/translation-memory/dto/async-action-result-dto.js.map +1 -0
  162. package/built/api/translation-memory/dto/async-action-status.d.ts +8 -0
  163. package/built/api/translation-memory/dto/async-action-status.js +13 -0
  164. package/built/api/translation-memory/dto/async-action-status.js.map +1 -0
  165. package/built/api/translation-memory/dto/create-string-search-result-dto.d.ts +11 -0
  166. package/built/api/translation-memory/dto/create-string-search-result-dto.js +3 -0
  167. package/built/api/translation-memory/dto/create-string-search-result-dto.js.map +1 -0
  168. package/built/api/translation-memory/dto/duplicate-string-dto.d.ts +8 -0
  169. package/built/api/translation-memory/dto/duplicate-string-dto.js +3 -0
  170. package/built/api/translation-memory/dto/duplicate-string-dto.js.map +1 -0
  171. package/built/api/translation-memory/dto/locale-summary-dto.d.ts +8 -0
  172. package/built/api/translation-memory/dto/locale-summary-dto.js +3 -0
  173. package/built/api/translation-memory/dto/locale-summary-dto.js.map +1 -0
  174. package/built/api/translation-memory/dto/strings-export-async-action-result-dto.d.ts +6 -0
  175. package/built/api/translation-memory/dto/strings-export-async-action-result-dto.js +3 -0
  176. package/built/api/translation-memory/dto/strings-export-async-action-result-dto.js.map +1 -0
  177. package/built/api/translation-memory/dto/tm-dto.d.ts +19 -0
  178. package/built/api/translation-memory/dto/tm-dto.js +3 -0
  179. package/built/api/translation-memory/dto/tm-dto.js.map +1 -0
  180. package/built/api/translation-memory/dto/tm-locale-dto.d.ts +7 -0
  181. package/built/api/translation-memory/dto/tm-locale-dto.js +3 -0
  182. package/built/api/translation-memory/dto/tm-locale-dto.js.map +1 -0
  183. package/built/api/translation-memory/dto/tmx-import-summary-dto.d.ts +11 -0
  184. package/built/api/translation-memory/dto/tmx-import-summary-dto.js +3 -0
  185. package/built/api/translation-memory/dto/tmx-import-summary-dto.js.map +1 -0
  186. package/built/api/translation-memory/dto/tmx-parsing-error-dto.d.ts +6 -0
  187. package/built/api/translation-memory/dto/tmx-parsing-error-dto.js +3 -0
  188. package/built/api/translation-memory/dto/tmx-parsing-error-dto.js.map +1 -0
  189. package/built/api/translation-memory/dto/user-dto.d.ts +5 -0
  190. package/built/api/translation-memory/dto/user-dto.js +3 -0
  191. package/built/api/translation-memory/dto/user-dto.js.map +1 -0
  192. package/built/api/translation-memory/index.d.ts +27 -0
  193. package/built/api/translation-memory/index.js +250 -0
  194. package/built/api/translation-memory/index.js.map +1 -0
  195. package/built/api/translation-memory/params/bulk-export-tm-strings-parameters.d.ts +8 -0
  196. package/built/api/translation-memory/params/bulk-export-tm-strings-parameters.js +24 -0
  197. package/built/api/translation-memory/params/bulk-export-tm-strings-parameters.js.map +1 -0
  198. package/built/api/translation-memory/params/create-string-search-filter-parameters.d.ts +43 -0
  199. package/built/api/translation-memory/params/create-string-search-filter-parameters.js +151 -0
  200. package/built/api/translation-memory/params/create-string-search-filter-parameters.js.map +1 -0
  201. package/built/api/translation-memory/params/create-string-search-options.d.ts +7 -0
  202. package/built/api/translation-memory/params/create-string-search-options.js +3 -0
  203. package/built/api/translation-memory/params/create-string-search-options.js.map +1 -0
  204. package/built/api/translation-memory/params/create-tm-parameters.d.ts +8 -0
  205. package/built/api/translation-memory/params/create-tm-parameters.js +24 -0
  206. package/built/api/translation-memory/params/create-tm-parameters.js.map +1 -0
  207. package/built/api/translation-memory/params/escape-smp-unicode-parser-directive.d.ts +4 -0
  208. package/built/api/translation-memory/params/escape-smp-unicode-parser-directive.js +9 -0
  209. package/built/api/translation-memory/params/escape-smp-unicode-parser-directive.js.map +1 -0
  210. package/built/api/translation-memory/params/extended-export-metadata-type.d.ts +4 -0
  211. package/built/api/translation-memory/params/extended-export-metadata-type.js +9 -0
  212. package/built/api/translation-memory/params/extended-export-metadata-type.js.map +1 -0
  213. package/built/api/translation-memory/params/import-tmx-file-parameters.d.ts +17 -0
  214. package/built/api/translation-memory/params/import-tmx-file-parameters.js +80 -0
  215. package/built/api/translation-memory/params/import-tmx-file-parameters.js.map +1 -0
  216. package/built/api/translation-memory/params/keyword-search-type.d.ts +5 -0
  217. package/built/api/translation-memory/params/keyword-search-type.js +10 -0
  218. package/built/api/translation-memory/params/keyword-search-type.js.map +1 -0
  219. package/built/api/translation-memory/params/leverage-type.d.ts +5 -0
  220. package/built/api/translation-memory/params/leverage-type.js +10 -0
  221. package/built/api/translation-memory/params/leverage-type.js.map +1 -0
  222. package/built/api/translation-memory/params/search-keyword.d.ts +8 -0
  223. package/built/api/translation-memory/params/search-keyword.js +3 -0
  224. package/built/api/translation-memory/params/search-keyword.js.map +1 -0
  225. package/built/api/translation-memory/params/source-type.d.ts +7 -0
  226. package/built/api/translation-memory/params/source-type.js +12 -0
  227. package/built/api/translation-memory/params/source-type.js.map +1 -0
  228. package/built/api/translation-memory/params/string-search-tags.d.ts +6 -0
  229. package/built/api/translation-memory/params/string-search-tags.js +3 -0
  230. package/built/api/translation-memory/params/string-search-tags.js.map +1 -0
  231. package/built/api/translation-memory/params/translation-quality-type.d.ts +5 -0
  232. package/built/api/translation-memory/params/translation-quality-type.js +10 -0
  233. package/built/api/translation-memory/params/translation-quality-type.js.map +1 -0
  234. package/built/api/translation-memory/params/tu-translation-quality-type.d.ts +6 -0
  235. package/built/api/translation-memory/params/tu-translation-quality-type.js +11 -0
  236. package/built/api/translation-memory/params/tu-translation-quality-type.js.map +1 -0
  237. package/built/api/translation-memory/params/update-tm-parameters.d.ts +6 -0
  238. package/built/api/translation-memory/params/update-tm-parameters.js +20 -0
  239. package/built/api/translation-memory/params/update-tm-parameters.js.map +1 -0
  240. package/built/index.d.ts +56 -0
  241. package/built/index.js +56 -0
  242. package/built/index.js.map +1 -1
  243. package/built/package.json +5 -3
  244. package/built/test/glossaries.spec.js +404 -0
  245. package/built/test/glossaries.spec.js.map +1 -1
  246. package/built/test/integration/glossaries.spec.d.ts +1 -0
  247. package/built/test/integration/glossaries.spec.js +222 -0
  248. package/built/test/integration/glossaries.spec.js.map +1 -0
  249. package/built/test/integration/translation-memory.spec.d.ts +1 -0
  250. package/built/test/integration/translation-memory.spec.js +138 -0
  251. package/built/test/integration/translation-memory.spec.js.map +1 -0
  252. package/built/test/translation-memory.spec.d.ts +1 -0
  253. package/built/test/translation-memory.spec.js +712 -0
  254. package/built/test/translation-memory.spec.js.map +1 -0
  255. package/index.ts +56 -0
  256. package/package.json +5 -3
  257. package/test/data/sample.tmx +12 -0
  258. package/test/glossaries.spec.ts +559 -0
  259. package/test/integration/glossaries.spec.ts +358 -0
  260. package/test/integration/translation-memory.spec.ts +182 -0
  261. package/test/translation-memory.spec.ts +868 -0
package/.env.example ADDED
@@ -0,0 +1,13 @@
1
+ # Credentials for test/integration/glossaries.spec.ts and test/integration/translation-memory.spec.ts.
2
+ # Copy this file to .env and fill in real values to run: npm run test:integration
3
+ # Without a real .env, the integration suite skips (shows as pending) rather than failing.
4
+
5
+ # Optional: override the Smartling API base URL (defaults to https://api.smartling.com)
6
+ # SMARTLING_API_BASE_URL=https://api.smartling.com
7
+
8
+ SMARTLING_ACCOUNT_UID=
9
+ SMARTLING_USER_ID=
10
+ SMARTLING_USER_SECRET=
11
+
12
+ # Optional: set to "true" to print every integration test's raw API response to the console.
13
+ SMARTLING_LOG_RESPONSES=false
@@ -166,7 +166,8 @@ export class SmartlingBaseApi {
166
166
  "lastModified",
167
167
  "attemptDate",
168
168
  "translationJobWorkflowStepDueDate",
169
- "translationJobOverallDueDate"
169
+ "translationJobOverallDueDate",
170
+ "requestDateTime"
170
171
  ];
171
172
 
172
173
  if (dateProperties.includes(key) && value) {
@@ -0,0 +1,6 @@
1
+ export interface CustomFieldValueDto {
2
+ fieldUid: string;
3
+ fieldValue: string;
4
+ fieldName?: string;
5
+ localeId?: string;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { TranslationRequestStatusDto } from "./translation-request-status-dto";
2
+
3
+ export interface EntryRequestTranslationStatusDto extends TranslationRequestStatusDto {
4
+ projectId: string;
5
+ hashCode: string;
6
+ jobUid: string;
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface GlossaryEntriesCountDto {
2
+ glossaryUid: string;
3
+ entriesCount: number;
4
+ blocklistsCount: number;
5
+ }
@@ -0,0 +1,23 @@
1
+ import { PartOfSpeech } from "../enums/part-of-speech";
2
+ import { SuggestionStatus } from "../enums/suggestion-status";
3
+ import { GlossaryTranslationDto } from "./translation-dto";
4
+ import { CustomFieldValueDto } from "./custom-field-value-dto";
5
+ import { EntryRequestTranslationStatusDto } from "./entry-request-translation-status-dto";
6
+
7
+ export interface GlossaryEntryDto {
8
+ entryUid: string;
9
+ glossaryUid: string;
10
+ definition: string;
11
+ partOfSpeech?: PartOfSpeech;
12
+ labelUids: Array<string>;
13
+ translations: Array<GlossaryTranslationDto>;
14
+ customFieldValues: Array<CustomFieldValueDto>;
15
+ archived: boolean;
16
+ createdByUserUid: string;
17
+ modifiedByUserUid: string;
18
+ createdDate: Date;
19
+ modifiedDate: Date;
20
+ requestTranslationStatuses?: Record<string, EntryRequestTranslationStatusDto>;
21
+ mtOptimizedLabel?: string;
22
+ suggestionStatus?: SuggestionStatus;
23
+ }
@@ -0,0 +1,11 @@
1
+ import { GlossaryImportStatusDto } from "./glossary-import-status-dto";
2
+ import { ImportEntryChangesDto } from "./import-entry-changes-dto";
3
+ import { ImportEntryTranslationChangesDto } from "./import-entry-translation-changes-dto";
4
+ import { ImportWarningDto } from "./import-warning-dto";
5
+
6
+ export interface GlossaryImportResultDto {
7
+ glossaryImport: GlossaryImportStatusDto;
8
+ entryChanges: ImportEntryChangesDto;
9
+ translationChanges: Array<ImportEntryTranslationChangesDto>;
10
+ warnings: Array<ImportWarningDto>;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { ImportStatus } from "../enums/import-status";
2
+
3
+ export interface GlossaryImportStatusDto {
4
+ glossaryUid: string;
5
+ importUid: string;
6
+ importStatus: ImportStatus;
7
+ }
@@ -0,0 +1,3 @@
1
+ export interface GlossaryUidsDto {
2
+ glossaryUids: Array<string>;
3
+ }
@@ -0,0 +1,6 @@
1
+ export interface ImportEntryChangesDto {
2
+ newEntries: number;
3
+ existingEntryUpdates: number;
4
+ notMatchedEntries: number;
5
+ entriesToArchive: number;
6
+ }
@@ -0,0 +1,6 @@
1
+ export interface ImportEntryTranslationChangesDto {
2
+ localeId: string;
3
+ newTranslations: number;
4
+ updatedTranslations: number;
5
+ translationsToRemove: number;
6
+ }
@@ -0,0 +1,4 @@
1
+ export interface ImportWarningDto {
2
+ key: string;
3
+ message: string;
4
+ }
@@ -0,0 +1,4 @@
1
+ export interface LabelDto {
2
+ labelUid: string;
3
+ labelText: string;
4
+ }
@@ -0,0 +1,4 @@
1
+ export interface GlossaryLocaleWorkflowDto {
2
+ localeId: string;
3
+ workflowUid: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ export interface OperationDto {
2
+ operationUid: string;
3
+ }
@@ -0,0 +1,20 @@
1
+ import { CustomFieldValueDto } from "./custom-field-value-dto";
2
+ import { TranslationRequestStatusDto } from "./translation-request-status-dto";
3
+
4
+ export interface GlossaryTranslationDto {
5
+ localeId: string;
6
+ fallbackLocaleId?: string;
7
+ term: string;
8
+ notes?: string;
9
+ caseSensitive?: boolean;
10
+ exactMatch?: boolean;
11
+ doNotTranslate?: boolean;
12
+ disabled?: boolean;
13
+ variants?: Array<string>;
14
+ customFieldValues?: Array<CustomFieldValueDto>;
15
+ requestTranslationStatus?: TranslationRequestStatusDto;
16
+ createdByUserUid?: string;
17
+ modifiedByUserUid?: string;
18
+ createdDate?: Date;
19
+ modifiedDate?: Date;
20
+ }
@@ -0,0 +1,5 @@
1
+ export interface TranslationRequestStatusDto {
2
+ localeId: string;
3
+ requestDateTime: Date;
4
+ requestUserUid: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ export enum ImportFileMediaType {
2
+ CSV = "text/csv",
3
+ XML = "text/xml",
4
+ XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
5
+ }
@@ -0,0 +1,6 @@
1
+ export enum ImportStatus {
2
+ PENDING = "PENDING",
3
+ IN_PROGRESS = "IN_PROGRESS",
4
+ SUCCESSFUL = "SUCCESSFUL",
5
+ FAILED = "FAILED"
6
+ }
@@ -6,3 +6,7 @@ export { DateFilterType } from "./date-filter-type";
6
6
  export { LabelType } from "./label-type";
7
7
  export { SortDirection } from "./sort-direction";
8
8
  export { SortField } from "./sort-field";
9
+ export { PartOfSpeech } from "./part-of-speech";
10
+ export { SuggestionStatus } from "./suggestion-status";
11
+ export { ImportStatus } from "./import-status";
12
+ export { ImportFileMediaType } from "./import-file-media-type";
@@ -0,0 +1,11 @@
1
+ export enum PartOfSpeech {
2
+ NOUN = "NOUN",
3
+ VERB = "VERB",
4
+ ADJECTIVE = "ADJECTIVE",
5
+ ADVERB = "ADVERB",
6
+ PRONOUN = "PRONOUN",
7
+ PREPOSITION = "PREPOSITION",
8
+ INTERJECTION = "INTERJECTION",
9
+ CONJUNCTION = "CONJUNCTION",
10
+ PROPER_NOUN = "PROPER_NOUN"
11
+ }
@@ -0,0 +1,5 @@
1
+ export enum SuggestionStatus {
2
+ STANDARD = "STANDARD",
3
+ SUGGESTED = "SUGGESTED",
4
+ APPROVED = "APPROVED"
5
+ }
@@ -1,3 +1,5 @@
1
+ import FormData from "form-data";
2
+ import { fixContentTypeHeaderCase } from "../http/form-data-utils";
1
3
  import { SmartlingBaseApi } from "../base/index";
2
4
  import { AccessTokenProvider } from "../auth/access-token-provider";
3
5
  import { Logger } from "../logger";
@@ -6,6 +8,23 @@ import { SearchGlossariesParameters } from "./params/search-glossaries-parameter
6
8
  import { SmartlingListResponse } from "../http/smartling-list-response";
7
9
  import { ExportEntriesParameters } from "./params/export-entries-parameters";
8
10
  import { ResponseBodyType } from "../base/enum/response-body-type";
11
+ import { CreateGlossaryParameters } from "./params/create-glossary-parameters";
12
+ import { ArchiveGlossariesParameters } from "./params/archive-glossaries-parameters";
13
+ import { SearchGlossaryCountsParameters } from "./params/search-glossary-counts-parameters";
14
+ import { GlossaryUidsDto } from "./dto/glossary-uids-dto";
15
+ import { GlossaryEntriesCountDto } from "./dto/glossary-entries-count-dto";
16
+ import { CreateGlossaryEntryParameters } from "./params/create-glossary-entry-parameters";
17
+ import { SearchGlossaryEntriesParameters } from "./params/search-glossary-entries-parameters";
18
+ import { GlossaryEntryDto } from "./dto/glossary-entry-dto";
19
+ import { EntriesBulkActionParameters } from "./params/entries-bulk-action-parameters";
20
+ import { EntriesBulkLabelsParameters } from "./params/entries-bulk-labels-parameters";
21
+ import { OperationDto } from "./dto/operation-dto";
22
+ import { AuthorizeEntriesParameters } from "./params/authorize-entries-parameters";
23
+ import { InitializeImportParameters } from "./params/initialize-import-parameters";
24
+ import { GlossaryImportResultDto } from "./dto/glossary-import-result-dto";
25
+ import { GlossaryImportStatusDto } from "./dto/glossary-import-status-dto";
26
+ import { CreateLabelParameters } from "./params/create-label-parameters";
27
+ import { LabelDto } from "./dto/label-dto";
9
28
 
10
29
  export class SmartlingGlossariesApi extends SmartlingBaseApi {
11
30
  constructor(smartlingApiBaseUrl: string, authApi: AccessTokenProvider, logger: Logger) {
@@ -32,6 +51,268 @@ export class SmartlingGlossariesApi extends SmartlingBaseApi {
32
51
  );
33
52
  }
34
53
 
54
+ async createGlossary(
55
+ accountUid: string,
56
+ parameters: CreateGlossaryParameters
57
+ ): Promise<GlossaryDto> {
58
+ return await this.makeRequest(
59
+ "post",
60
+ `${this.entrypoint}/accounts/${accountUid}/glossaries`,
61
+ JSON.stringify(parameters.export())
62
+ );
63
+ }
64
+
65
+ async updateGlossary(
66
+ accountUid: string,
67
+ glossaryUid: string,
68
+ parameters: CreateGlossaryParameters
69
+ ): Promise<GlossaryDto> {
70
+ return await this.makeRequest(
71
+ "put",
72
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}`,
73
+ JSON.stringify(parameters.export())
74
+ );
75
+ }
76
+
77
+ async archiveGlossaries(
78
+ accountUid: string,
79
+ parameters: ArchiveGlossariesParameters
80
+ ): Promise<GlossaryUidsDto> {
81
+ return await this.makeRequest(
82
+ "post",
83
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/archive`,
84
+ JSON.stringify(parameters.export())
85
+ );
86
+ }
87
+
88
+ async restoreGlossaries(
89
+ accountUid: string,
90
+ parameters: ArchiveGlossariesParameters
91
+ ): Promise<GlossaryUidsDto> {
92
+ return await this.makeRequest(
93
+ "post",
94
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/unarchive`,
95
+ JSON.stringify(parameters.export())
96
+ );
97
+ }
98
+
99
+ async searchGlossariesWithEntriesCounts(
100
+ accountUid: string,
101
+ parameters: SearchGlossaryCountsParameters
102
+ ): Promise<SmartlingListResponse<GlossaryEntriesCountDto>> {
103
+ return await this.makeRequest(
104
+ "post",
105
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/search/count`,
106
+ JSON.stringify(parameters.export())
107
+ );
108
+ }
109
+
110
+ async createGlossaryEntry(
111
+ accountUid: string,
112
+ glossaryUid: string,
113
+ parameters: CreateGlossaryEntryParameters
114
+ ): Promise<GlossaryEntryDto> {
115
+ return await this.makeRequest(
116
+ "post",
117
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries`,
118
+ JSON.stringify(parameters.export())
119
+ );
120
+ }
121
+
122
+ async readGlossaryEntry(
123
+ accountUid: string,
124
+ glossaryUid: string,
125
+ entryUid: string
126
+ ): Promise<GlossaryEntryDto> {
127
+ return await this.makeRequest(
128
+ "get",
129
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries/${entryUid}`
130
+ );
131
+ }
132
+
133
+ async updateGlossaryEntry(
134
+ accountUid: string,
135
+ glossaryUid: string,
136
+ entryUid: string,
137
+ parameters: CreateGlossaryEntryParameters
138
+ ): Promise<GlossaryEntryDto> {
139
+ return await this.makeRequest(
140
+ "put",
141
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries/${entryUid}`,
142
+ JSON.stringify(parameters.export())
143
+ );
144
+ }
145
+
146
+ async searchGlossaryEntries(
147
+ accountUid: string,
148
+ glossaryUid: string,
149
+ parameters: SearchGlossaryEntriesParameters
150
+ ): Promise<SmartlingListResponse<GlossaryEntryDto>> {
151
+ return await this.makeRequest(
152
+ "post",
153
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries/search`,
154
+ JSON.stringify(parameters.export())
155
+ );
156
+ }
157
+
158
+ async archiveGlossaryEntries(
159
+ accountUid: string,
160
+ glossaryUid: string,
161
+ parameters: EntriesBulkActionParameters
162
+ ): Promise<OperationDto> {
163
+ return await this.makeRequest(
164
+ "post",
165
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries/archive`,
166
+ JSON.stringify(parameters.export())
167
+ );
168
+ }
169
+
170
+ async restoreGlossaryEntries(
171
+ accountUid: string,
172
+ glossaryUid: string,
173
+ parameters: EntriesBulkActionParameters
174
+ ): Promise<OperationDto> {
175
+ return await this.makeRequest(
176
+ "post",
177
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries/unarchive`,
178
+ JSON.stringify(parameters.export())
179
+ );
180
+ }
181
+
182
+ async removeGlossaryEntries(
183
+ accountUid: string,
184
+ glossaryUid: string,
185
+ parameters: EntriesBulkActionParameters
186
+ ): Promise<OperationDto> {
187
+ return await this.makeRequest(
188
+ "post",
189
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries/delete`,
190
+ JSON.stringify(parameters.export())
191
+ );
192
+ }
193
+
194
+ async addLabelsToGlossaryEntries(
195
+ accountUid: string,
196
+ glossaryUid: string,
197
+ parameters: EntriesBulkLabelsParameters
198
+ ): Promise<OperationDto> {
199
+ return await this.makeRequest(
200
+ "post",
201
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries/add-labels`,
202
+ JSON.stringify(parameters.export())
203
+ );
204
+ }
205
+
206
+ async removeLabelsFromGlossaryEntries(
207
+ accountUid: string,
208
+ glossaryUid: string,
209
+ parameters: EntriesBulkLabelsParameters
210
+ ): Promise<OperationDto> {
211
+ return await this.makeRequest(
212
+ "post",
213
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries/remove-labels`,
214
+ JSON.stringify(parameters.export())
215
+ );
216
+ }
217
+
218
+ async authorizeEntriesForTranslation(
219
+ accountUid: string,
220
+ glossaryUid: string,
221
+ parameters: AuthorizeEntriesParameters
222
+ ): Promise<OperationDto> {
223
+ return await this.makeRequest(
224
+ "post",
225
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/entries/authorization`,
226
+ JSON.stringify(parameters.export())
227
+ );
228
+ }
229
+
230
+ async initializeGlossaryImport(
231
+ accountUid: string,
232
+ glossaryUid: string,
233
+ parameters: InitializeImportParameters
234
+ ): Promise<GlossaryImportResultDto> {
235
+ const exported = parameters.export();
236
+ const formData = new FormData();
237
+
238
+ Object.keys(exported).forEach((key) => {
239
+ if (Array.isArray(exported[key])) {
240
+ exported[key].forEach((value) => {
241
+ formData.append(`${key}[]`, value);
242
+ });
243
+ } else {
244
+ formData.append(key, exported[key]);
245
+ }
246
+ });
247
+
248
+ return await this.makeRequest(
249
+ "post",
250
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/import`,
251
+ formData,
252
+ false,
253
+ fixContentTypeHeaderCase(formData)
254
+ );
255
+ }
256
+
257
+ async importStatus(
258
+ accountUid: string,
259
+ glossaryUid: string,
260
+ importUid: string
261
+ ): Promise<GlossaryImportStatusDto> {
262
+ return await this.makeRequest(
263
+ "get",
264
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/import/${importUid}`
265
+ );
266
+ }
267
+
268
+ async confirmGlossaryImport(
269
+ accountUid: string,
270
+ glossaryUid: string,
271
+ importUid: string
272
+ ): Promise<GlossaryImportStatusDto> {
273
+ return await this.makeRequest(
274
+ "post",
275
+ `${this.entrypoint}/accounts/${accountUid}/glossaries/${glossaryUid}/import/${importUid}/confirm`
276
+ );
277
+ }
278
+
279
+ async readAllGlossaryLabels(accountUid: string): Promise<SmartlingListResponse<LabelDto>> {
280
+ return await this.makeRequest(
281
+ "get",
282
+ `${this.entrypoint}/accounts/${accountUid}/labels`
283
+ );
284
+ }
285
+
286
+ async createGlossaryLabel(
287
+ accountUid: string,
288
+ parameters: CreateLabelParameters
289
+ ): Promise<LabelDto> {
290
+ return await this.makeRequest(
291
+ "post",
292
+ `${this.entrypoint}/accounts/${accountUid}/labels`,
293
+ JSON.stringify(parameters.export())
294
+ );
295
+ }
296
+
297
+ async updateGlossaryLabel(
298
+ accountUid: string,
299
+ labelUid: string,
300
+ parameters: CreateLabelParameters
301
+ ): Promise<LabelDto> {
302
+ return await this.makeRequest(
303
+ "put",
304
+ `${this.entrypoint}/accounts/${accountUid}/labels/${labelUid}`,
305
+ JSON.stringify(parameters.export())
306
+ );
307
+ }
308
+
309
+ async deleteGlossaryLabel(accountUid: string, labelUid: string): Promise<void> {
310
+ await this.makeRequest(
311
+ "delete",
312
+ `${this.entrypoint}/accounts/${accountUid}/labels/${labelUid}`
313
+ );
314
+ }
315
+
35
316
  async exportGlossaryEntries(
36
317
  accountUid: string,
37
318
  glossaryUid: string,
@@ -0,0 +1,9 @@
1
+ import { BaseParameters } from "../../parameters/index";
2
+
3
+ export class ArchiveGlossariesParameters extends BaseParameters {
4
+ setGlossaryUids(glossaryUids: Array<string>): ArchiveGlossariesParameters {
5
+ this.set("glossaryUids", glossaryUids);
6
+
7
+ return this;
8
+ }
9
+ }
@@ -0,0 +1,37 @@
1
+ import { BaseParameters } from "../../parameters/index";
2
+ import { ExportEntriesFilterDto } from "../dto/export-entries-filter-dto";
3
+ import { GlossaryLocaleWorkflowDto } from "../dto/locale-workflow-dto";
4
+
5
+ export class AuthorizeEntriesParameters extends BaseParameters {
6
+ setSourceLocale(sourceLocale: string): AuthorizeEntriesParameters {
7
+ this.set("sourceLocale", sourceLocale);
8
+
9
+ return this;
10
+ }
11
+
12
+ setProjectId(projectId: string): AuthorizeEntriesParameters {
13
+ this.set("projectId", projectId);
14
+
15
+ return this;
16
+ }
17
+
18
+ setFilter(filter: ExportEntriesFilterDto): AuthorizeEntriesParameters {
19
+ this.set("filter", filter);
20
+
21
+ return this;
22
+ }
23
+
24
+ setLocaleWorkflows(
25
+ localeWorkflows: Array<GlossaryLocaleWorkflowDto>
26
+ ): AuthorizeEntriesParameters {
27
+ this.set("localeWorkflows", localeWorkflows);
28
+
29
+ return this;
30
+ }
31
+
32
+ setMissingTranslationsOnly(missingTranslationsOnly: boolean): AuthorizeEntriesParameters {
33
+ this.set("missingTranslationsOnly", missingTranslationsOnly);
34
+
35
+ return this;
36
+ }
37
+ }
@@ -0,0 +1,50 @@
1
+ import { BaseParameters } from "../../parameters/index";
2
+ import { PartOfSpeech } from "../enums/part-of-speech";
3
+ import { GlossaryTranslationDto } from "../dto/translation-dto";
4
+ import { CustomFieldValueDto } from "../dto/custom-field-value-dto";
5
+
6
+ export class CreateGlossaryEntryParameters extends BaseParameters {
7
+ setDefinition(definition: string): CreateGlossaryEntryParameters {
8
+ this.set("definition", definition);
9
+
10
+ return this;
11
+ }
12
+
13
+ setPartOfSpeech(partOfSpeech: PartOfSpeech): CreateGlossaryEntryParameters {
14
+ this.set("partOfSpeech", partOfSpeech);
15
+
16
+ return this;
17
+ }
18
+
19
+ setLabelUids(labelUids: Array<string>): CreateGlossaryEntryParameters {
20
+ this.set("labelUids", labelUids);
21
+
22
+ return this;
23
+ }
24
+
25
+ setSkipMissingTranslations(skipMissingTranslations: boolean): CreateGlossaryEntryParameters {
26
+ this.set("skipMissingTranslations", skipMissingTranslations);
27
+
28
+ return this;
29
+ }
30
+
31
+ setTranslations(translations: Array<GlossaryTranslationDto>): CreateGlossaryEntryParameters {
32
+ this.set("translations", translations);
33
+
34
+ return this;
35
+ }
36
+
37
+ setCustomFieldValues(
38
+ customFieldValues: Array<CustomFieldValueDto>
39
+ ): CreateGlossaryEntryParameters {
40
+ this.set("customFieldValues", customFieldValues);
41
+
42
+ return this;
43
+ }
44
+
45
+ setSuggestion(suggestion: boolean): CreateGlossaryEntryParameters {
46
+ this.set("suggestion", suggestion);
47
+
48
+ return this;
49
+ }
50
+ }
@@ -0,0 +1,40 @@
1
+ import { BaseParameters } from "../../parameters/index";
2
+ import { FallbackLocaleDto } from "../dto/fallback-locale-dto";
3
+
4
+ export class CreateGlossaryParameters extends BaseParameters {
5
+ setGlossaryName(glossaryName: string): CreateGlossaryParameters {
6
+ this.set("glossaryName", glossaryName);
7
+
8
+ return this;
9
+ }
10
+
11
+ setDescription(description: string): CreateGlossaryParameters {
12
+ this.set("description", description);
13
+
14
+ return this;
15
+ }
16
+
17
+ setVerificationMode(verificationMode: boolean): CreateGlossaryParameters {
18
+ this.set("verificationMode", verificationMode);
19
+
20
+ return this;
21
+ }
22
+
23
+ setLocaleIds(localeIds: Array<string>): CreateGlossaryParameters {
24
+ this.set("localeIds", localeIds);
25
+
26
+ return this;
27
+ }
28
+
29
+ setFallbackLocales(fallbackLocales: Array<FallbackLocaleDto>): CreateGlossaryParameters {
30
+ this.set("fallbackLocales", fallbackLocales);
31
+
32
+ return this;
33
+ }
34
+
35
+ setMtOptimized(mtOptimized: boolean): CreateGlossaryParameters {
36
+ this.set("mtOptimized", mtOptimized);
37
+
38
+ return this;
39
+ }
40
+ }
@@ -0,0 +1,9 @@
1
+ import { BaseParameters } from "../../parameters/index";
2
+
3
+ export class CreateLabelParameters extends BaseParameters {
4
+ setLabelText(labelText: string): CreateLabelParameters {
5
+ this.set("labelText", labelText);
6
+
7
+ return this;
8
+ }
9
+ }