phrase 0.4.31 → 1.0.3

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 (663) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +6 -0
  3. data/LICENSE +17 -18
  4. data/README.md +449 -280
  5. data/Rakefile +7 -4
  6. data/docs/Account.md +27 -0
  7. data/docs/AccountDetails.md +27 -0
  8. data/docs/AccountDetails1.md +17 -0
  9. data/docs/AccountsApi.md +134 -0
  10. data/docs/AffectedCount.md +17 -0
  11. data/docs/AffectedResources.md +17 -0
  12. data/docs/Authorization.md +31 -0
  13. data/docs/AuthorizationCreateParameters.md +21 -0
  14. data/docs/AuthorizationUpdateParameters.md +21 -0
  15. data/docs/AuthorizationWithToken.md +33 -0
  16. data/docs/AuthorizationWithToken1.md +17 -0
  17. data/docs/AuthorizationsApi.md +321 -0
  18. data/docs/BitbucketSync.md +27 -0
  19. data/docs/BitbucketSyncApi.md +197 -0
  20. data/docs/BitbucketSyncExportParameters.md +17 -0
  21. data/docs/BitbucketSyncExportResponse.md +17 -0
  22. data/docs/BitbucketSyncImportParameters.md +17 -0
  23. data/docs/BlacklistedKey.md +23 -0
  24. data/docs/BlacklistedKeyCreateParameters.md +17 -0
  25. data/docs/BlacklistedKeyUpdateParameters.md +17 -0
  26. data/docs/BlacklistedKeysApi.md +333 -0
  27. data/docs/Branch.md +29 -0
  28. data/docs/BranchCreateParameters.md +17 -0
  29. data/docs/BranchMergeParameters.md +17 -0
  30. data/docs/BranchUpdateParameters.md +17 -0
  31. data/docs/BranchesApi.md +459 -0
  32. data/docs/Comment.md +25 -0
  33. data/docs/CommentCreateParameters.md +19 -0
  34. data/docs/CommentMarkReadParameters.md +17 -0
  35. data/docs/CommentUpdateParameters.md +19 -0
  36. data/docs/CommentsApi.md +548 -0
  37. data/docs/Distribution.md +29 -0
  38. data/docs/DistributionCreateParameters.md +29 -0
  39. data/docs/DistributionPreview.md +29 -0
  40. data/docs/DistributionUpdateParameters.md +29 -0
  41. data/docs/DistributionsApi.md +331 -0
  42. data/docs/Document.md +23 -0
  43. data/docs/DocumentsApi.md +137 -0
  44. data/docs/Format.md +35 -0
  45. data/docs/FormatsApi.md +68 -0
  46. data/docs/GitHubSyncApi.md +130 -0
  47. data/docs/GitLabSyncApi.md +463 -0
  48. data/docs/GithubSyncExportParameters.md +17 -0
  49. data/docs/GithubSyncImportParameters.md +17 -0
  50. data/docs/GitlabSync.md +37 -0
  51. data/docs/GitlabSyncExport.md +19 -0
  52. data/docs/GitlabSyncExportParameters.md +17 -0
  53. data/docs/GitlabSyncHistory.md +25 -0
  54. data/docs/GitlabSyncImportParameters.md +17 -0
  55. data/docs/GlossariesApi.md +331 -0
  56. data/docs/Glossary.md +25 -0
  57. data/docs/GlossaryCreateParameters.md +21 -0
  58. data/docs/GlossaryTerm.md +31 -0
  59. data/docs/GlossaryTermCreateParameters.md +23 -0
  60. data/docs/GlossaryTermTranslation.md +25 -0
  61. data/docs/GlossaryTermTranslationCreateParameters.md +19 -0
  62. data/docs/GlossaryTermTranslationUpdateParameters.md +19 -0
  63. data/docs/GlossaryTermTranslationsApi.md +213 -0
  64. data/docs/GlossaryTermUpdateParameters.md +23 -0
  65. data/docs/GlossaryTermsApi.md +341 -0
  66. data/docs/GlossaryUpdateParameters.md +21 -0
  67. data/docs/InlineResponse422.md +19 -0
  68. data/docs/InlineResponse422Errors.md +21 -0
  69. data/docs/Invitation.md +35 -0
  70. data/docs/InvitationCreateParameters.md +25 -0
  71. data/docs/InvitationUpdateParameters.md +23 -0
  72. data/docs/InvitationsApi.md +395 -0
  73. data/docs/Job.md +29 -0
  74. data/docs/JobCompleteParameters.md +17 -0
  75. data/docs/JobCreateParameters.md +27 -0
  76. data/docs/JobDetails.md +37 -0
  77. data/docs/JobDetails1.md +23 -0
  78. data/docs/JobKeysCreateParameters.md +19 -0
  79. data/docs/JobLocale.md +23 -0
  80. data/docs/JobLocaleCompleteParameters.md +17 -0
  81. data/docs/JobLocaleReopenParameters.md +17 -0
  82. data/docs/JobLocaleUpdateParameters.md +21 -0
  83. data/docs/JobLocalesApi.md +483 -0
  84. data/docs/JobLocalesCreateParameters.md +21 -0
  85. data/docs/JobPreview.md +21 -0
  86. data/docs/JobReopenParameters.md +17 -0
  87. data/docs/JobStartParameters.md +17 -0
  88. data/docs/JobUpdateParameters.md +23 -0
  89. data/docs/JobsApi.md +674 -0
  90. data/docs/KeyCreateParameters.md +45 -0
  91. data/docs/KeyPreview.md +21 -0
  92. data/docs/KeyUpdateParameters.md +45 -0
  93. data/docs/KeysApi.md +609 -0
  94. data/docs/KeysSearchParameters.md +25 -0
  95. data/docs/KeysTagParameters.md +23 -0
  96. data/docs/KeysUntagParameters.md +23 -0
  97. data/docs/Locale.md +35 -0
  98. data/docs/LocaleCreateParameters.md +35 -0
  99. data/docs/LocaleDetails.md +37 -0
  100. data/docs/LocaleDetails1.md +17 -0
  101. data/docs/LocalePreview.md +21 -0
  102. data/docs/LocaleStatistics.md +29 -0
  103. data/docs/LocaleUpdateParameters.md +35 -0
  104. data/docs/LocalesApi.md +428 -0
  105. data/docs/Member.md +25 -0
  106. data/docs/MemberUpdateParameters.md +23 -0
  107. data/docs/MembersApi.md +267 -0
  108. data/docs/OrderConfirmParameters.md +17 -0
  109. data/docs/OrderCreateParameters.md +43 -0
  110. data/docs/OrdersApi.md +337 -0
  111. data/docs/Project.md +31 -0
  112. data/docs/ProjectCreateParameters.md +29 -0
  113. data/docs/ProjectDetails.md +33 -0
  114. data/docs/ProjectDetails1.md +19 -0
  115. data/docs/ProjectLocales.md +27 -0
  116. data/docs/ProjectLocales1.md +17 -0
  117. data/docs/ProjectShort.md +25 -0
  118. data/docs/ProjectUpdateParameters.md +27 -0
  119. data/docs/ProjectsApi.md +321 -0
  120. data/docs/Release.md +37 -0
  121. data/docs/ReleaseCreateParameters.md +21 -0
  122. data/docs/ReleasePreview.md +37 -0
  123. data/docs/ReleaseUpdateParameters.md +21 -0
  124. data/docs/ReleasesApi.md +407 -0
  125. data/docs/Screenshot.md +29 -0
  126. data/docs/ScreenshotCreateParameters.md +21 -0
  127. data/docs/ScreenshotMarker.md +27 -0
  128. data/docs/ScreenshotMarkerCreateParameters.md +19 -0
  129. data/docs/ScreenshotMarkerUpdateParameters.md +19 -0
  130. data/docs/ScreenshotMarkersApi.md +337 -0
  131. data/docs/ScreenshotUpdateParameters.md +21 -0
  132. data/docs/ScreenshotsApi.md +331 -0
  133. data/docs/Space.md +27 -0
  134. data/docs/SpaceCreateParameters.md +17 -0
  135. data/docs/SpaceUpdateParameters.md +17 -0
  136. data/docs/SpacesApi.md +529 -0
  137. data/docs/SpacesProjectsCreateParameters.md +17 -0
  138. data/docs/StyleGuidesApi.md +331 -0
  139. data/docs/Styleguide.md +23 -0
  140. data/docs/StyleguideCreateParameters.md +41 -0
  141. data/docs/StyleguideDetails.md +49 -0
  142. data/docs/StyleguideDetails1.md +41 -0
  143. data/docs/StyleguidePreview.md +19 -0
  144. data/docs/StyleguideUpdateParameters.md +41 -0
  145. data/docs/Tag.md +23 -0
  146. data/docs/TagCreateParameters.md +19 -0
  147. data/docs/TagWithStats.md +25 -0
  148. data/docs/TagWithStats1.md +17 -0
  149. data/docs/TagWithStats1Statistics.md +23 -0
  150. data/docs/TagWithStats1Statistics1.md +19 -0
  151. data/docs/TagsApi.md +271 -0
  152. data/docs/Team.md +29 -0
  153. data/docs/TeamCreateParameters.md +17 -0
  154. data/docs/TeamDetail.md +29 -0
  155. data/docs/TeamUpdateParameters.md +17 -0
  156. data/docs/TeamsApi.md +721 -0
  157. data/docs/TeamsProjectsCreateParameters.md +17 -0
  158. data/docs/TeamsSpacesCreateParameters.md +17 -0
  159. data/docs/TeamsUsersCreateParameters.md +17 -0
  160. data/docs/Translation.md +37 -0
  161. data/docs/TranslationCreateParameters.md +31 -0
  162. data/docs/TranslationDetails.md +41 -0
  163. data/docs/TranslationDetails1.md +19 -0
  164. data/docs/TranslationExcludeParameters.md +17 -0
  165. data/docs/TranslationIncludeParameters.md +17 -0
  166. data/docs/TranslationKey.md +33 -0
  167. data/docs/TranslationKeyDetails.md +51 -0
  168. data/docs/TranslationKeyDetails1.md +33 -0
  169. data/docs/TranslationOrder.md +49 -0
  170. data/docs/TranslationReviewParameters.md +17 -0
  171. data/docs/TranslationUnverifyParameters.md +17 -0
  172. data/docs/TranslationUpdateParameters.md +27 -0
  173. data/docs/TranslationVerifyParameters.md +17 -0
  174. data/docs/TranslationVersion.md +31 -0
  175. data/docs/TranslationVersionWithUser.md +33 -0
  176. data/docs/TranslationVersionWithUser1.md +17 -0
  177. data/docs/TranslationsApi.md +1148 -0
  178. data/docs/TranslationsExcludeParameters.md +23 -0
  179. data/docs/TranslationsIncludeParameters.md +23 -0
  180. data/docs/TranslationsReviewParameters.md +19 -0
  181. data/docs/TranslationsSearchParameters.md +23 -0
  182. data/docs/TranslationsUnverifyParameters.md +23 -0
  183. data/docs/TranslationsVerifyParameters.md +23 -0
  184. data/docs/Upload.md +31 -0
  185. data/docs/UploadCreateParameters.md +45 -0
  186. data/docs/UploadSummary.md +31 -0
  187. data/docs/UploadsApi.md +234 -0
  188. data/docs/User.md +29 -0
  189. data/docs/UserPreview.md +21 -0
  190. data/docs/UsersApi.md +68 -0
  191. data/docs/VersionsHistoryApi.md +146 -0
  192. data/docs/Webhook.md +29 -0
  193. data/docs/WebhookCreateParameters.md +23 -0
  194. data/docs/WebhookUpdateParameters.md +23 -0
  195. data/docs/WebhooksApi.md +394 -0
  196. data/git_push.sh +58 -0
  197. data/lib/phrase.rb +212 -55
  198. data/lib/phrase/api/accounts_api.rb +142 -0
  199. data/lib/phrase/api/authorizations_api.rb +348 -0
  200. data/lib/phrase/api/bitbucket_sync_api.rb +219 -0
  201. data/lib/phrase/api/blacklisted_keys_api.rb +381 -0
  202. data/lib/phrase/api/branches_api.rb +526 -0
  203. data/lib/phrase/api/comments_api.rb +659 -0
  204. data/lib/phrase/api/distributions_api.rb +378 -0
  205. data/lib/phrase/api/documents_api.rb +152 -0
  206. data/lib/phrase/api/formats_api.rb +70 -0
  207. data/lib/phrase/api/git_hub_sync_api.rb +146 -0
  208. data/lib/phrase/api/git_lab_sync_api.rb +510 -0
  209. data/lib/phrase/api/glossaries_api.rb +378 -0
  210. data/lib/phrase/api/glossary_term_translations_api.rb +270 -0
  211. data/lib/phrase/api/glossary_terms_api.rb +408 -0
  212. data/lib/phrase/api/invitations_api.rb +450 -0
  213. data/lib/phrase/api/job_locales_api.rb +589 -0
  214. data/lib/phrase/api/jobs_api.rb +792 -0
  215. data/lib/phrase/api/keys_api.rb +702 -0
  216. data/lib/phrase/api/locales_api.rb +499 -0
  217. data/lib/phrase/api/members_api.rb +304 -0
  218. data/lib/phrase/api/orders_api.rb +387 -0
  219. data/lib/phrase/api/projects_api.rb +348 -0
  220. data/lib/phrase/api/releases_api.rb +486 -0
  221. data/lib/phrase/api/screenshot_markers_api.rb +396 -0
  222. data/lib/phrase/api/screenshots_api.rb +378 -0
  223. data/lib/phrase/api/spaces_api.rb +610 -0
  224. data/lib/phrase/api/style_guides_api.rb +378 -0
  225. data/lib/phrase/api/tags_api.rb +307 -0
  226. data/lib/phrase/api/teams_api.rb +840 -0
  227. data/lib/phrase/api/translations_api.rb +1353 -0
  228. data/lib/phrase/api/uploads_api.rb +273 -0
  229. data/lib/phrase/api/users_api.rb +70 -0
  230. data/lib/phrase/api/versions_history_api.rb +172 -0
  231. data/lib/phrase/api/webhooks_api.rb +448 -0
  232. data/lib/phrase/api_client.rb +376 -0
  233. data/lib/phrase/api_error.rb +45 -0
  234. data/lib/phrase/configuration.rb +243 -0
  235. data/lib/phrase/models/account.rb +239 -0
  236. data/lib/phrase/models/account_details.rb +247 -0
  237. data/lib/phrase/models/account_details1.rb +194 -0
  238. data/lib/phrase/models/affected_count.rb +194 -0
  239. data/lib/phrase/models/affected_resources.rb +194 -0
  240. data/lib/phrase/models/authorization.rb +259 -0
  241. data/lib/phrase/models/authorization_create_parameters.rb +217 -0
  242. data/lib/phrase/models/authorization_update_parameters.rb +217 -0
  243. data/lib/phrase/models/authorization_with_token.rb +276 -0
  244. data/lib/phrase/models/authorization_with_token1.rb +194 -0
  245. data/lib/phrase/models/bitbucket_sync.rb +241 -0
  246. data/lib/phrase/models/bitbucket_sync_export_parameters.rb +195 -0
  247. data/lib/phrase/models/bitbucket_sync_export_response.rb +194 -0
  248. data/lib/phrase/models/bitbucket_sync_import_parameters.rb +195 -0
  249. data/lib/phrase/models/blacklisted_key.rb +221 -0
  250. data/lib/phrase/models/blacklisted_key_create_parameters.rb +195 -0
  251. data/lib/phrase/models/blacklisted_key_update_parameters.rb +195 -0
  252. data/lib/phrase/models/branch.rb +248 -0
  253. data/lib/phrase/models/branch_create_parameters.rb +195 -0
  254. data/lib/phrase/models/branch_merge_parameters.rb +195 -0
  255. data/lib/phrase/models/branch_update_parameters.rb +195 -0
  256. data/lib/phrase/models/comment.rb +230 -0
  257. data/lib/phrase/models/comment_create_parameters.rb +205 -0
  258. data/lib/phrase/models/comment_mark_read_parameters.rb +195 -0
  259. data/lib/phrase/models/comment_update_parameters.rb +205 -0
  260. data/lib/phrase/models/distribution.rb +252 -0
  261. data/lib/phrase/models/distribution_create_parameters.rb +259 -0
  262. data/lib/phrase/models/distribution_preview.rb +250 -0
  263. data/lib/phrase/models/distribution_update_parameters.rb +259 -0
  264. data/lib/phrase/models/document.rb +221 -0
  265. data/lib/phrase/models/format.rb +275 -0
  266. data/lib/phrase/models/github_sync_export_parameters.rb +195 -0
  267. data/lib/phrase/models/github_sync_import_parameters.rb +195 -0
  268. data/lib/phrase/models/gitlab_sync.rb +284 -0
  269. data/lib/phrase/models/gitlab_sync_export.rb +203 -0
  270. data/lib/phrase/models/gitlab_sync_export_parameters.rb +195 -0
  271. data/lib/phrase/models/gitlab_sync_history.rb +232 -0
  272. data/lib/phrase/models/gitlab_sync_import_parameters.rb +195 -0
  273. data/lib/phrase/models/glossary.rb +232 -0
  274. data/lib/phrase/models/glossary_create_parameters.rb +217 -0
  275. data/lib/phrase/models/glossary_term.rb +259 -0
  276. data/lib/phrase/models/glossary_term_create_parameters.rb +225 -0
  277. data/lib/phrase/models/glossary_term_translation.rb +230 -0
  278. data/lib/phrase/models/glossary_term_translation_create_parameters.rb +205 -0
  279. data/lib/phrase/models/glossary_term_translation_update_parameters.rb +205 -0
  280. data/lib/phrase/models/glossary_term_update_parameters.rb +225 -0
  281. data/lib/phrase/models/glossary_update_parameters.rb +217 -0
  282. data/lib/phrase/models/inline_response422.rb +205 -0
  283. data/lib/phrase/models/inline_response422_errors.rb +212 -0
  284. data/lib/phrase/models/invitation.rb +279 -0
  285. data/lib/phrase/models/invitation_create_parameters.rb +237 -0
  286. data/lib/phrase/models/invitation_update_parameters.rb +227 -0
  287. data/lib/phrase/models/job.rb +248 -0
  288. data/lib/phrase/models/job_complete_parameters.rb +195 -0
  289. data/lib/phrase/models/job_create_parameters.rb +249 -0
  290. data/lib/phrase/models/job_details.rb +296 -0
  291. data/lib/phrase/models/job_details1.rb +225 -0
  292. data/lib/phrase/models/job_keys_create_parameters.rb +207 -0
  293. data/lib/phrase/models/job_locale.rb +223 -0
  294. data/lib/phrase/models/job_locale_complete_parameters.rb +195 -0
  295. data/lib/phrase/models/job_locale_reopen_parameters.rb +195 -0
  296. data/lib/phrase/models/job_locale_update_parameters.rb +217 -0
  297. data/lib/phrase/models/job_locales_create_parameters.rb +217 -0
  298. data/lib/phrase/models/job_preview.rb +212 -0
  299. data/lib/phrase/models/job_reopen_parameters.rb +195 -0
  300. data/lib/phrase/models/job_start_parameters.rb +195 -0
  301. data/lib/phrase/models/job_update_parameters.rb +225 -0
  302. data/lib/phrase/models/key_create_parameters.rb +335 -0
  303. data/lib/phrase/models/key_preview.rb +212 -0
  304. data/lib/phrase/models/key_update_parameters.rb +335 -0
  305. data/lib/phrase/models/keys_search_parameters.rb +235 -0
  306. data/lib/phrase/models/keys_tag_parameters.rb +225 -0
  307. data/lib/phrase/models/keys_untag_parameters.rb +225 -0
  308. data/lib/phrase/models/locale.rb +277 -0
  309. data/lib/phrase/models/locale_create_parameters.rb +285 -0
  310. data/lib/phrase/models/locale_details.rb +294 -0
  311. data/lib/phrase/models/locale_details1.rb +194 -0
  312. data/lib/phrase/models/locale_preview.rb +212 -0
  313. data/lib/phrase/models/locale_statistics.rb +248 -0
  314. data/lib/phrase/models/locale_update_parameters.rb +285 -0
  315. data/lib/phrase/models/member.rb +232 -0
  316. data/lib/phrase/models/member_update_parameters.rb +227 -0
  317. data/lib/phrase/models/order_confirm_parameters.rb +195 -0
  318. data/lib/phrase/models/order_create_parameters.rb +327 -0
  319. data/lib/phrase/models/project.rb +257 -0
  320. data/lib/phrase/models/project_create_parameters.rb +255 -0
  321. data/lib/phrase/models/project_details.rb +274 -0
  322. data/lib/phrase/models/project_details1.rb +203 -0
  323. data/lib/phrase/models/project_locales.rb +249 -0
  324. data/lib/phrase/models/project_locales1.rb +196 -0
  325. data/lib/phrase/models/project_short.rb +230 -0
  326. data/lib/phrase/models/project_update_parameters.rb +245 -0
  327. data/lib/phrase/models/release.rb +290 -0
  328. data/lib/phrase/models/release_create_parameters.rb +217 -0
  329. data/lib/phrase/models/release_preview.rb +290 -0
  330. data/lib/phrase/models/release_update_parameters.rb +217 -0
  331. data/lib/phrase/models/screenshot.rb +248 -0
  332. data/lib/phrase/models/screenshot_create_parameters.rb +215 -0
  333. data/lib/phrase/models/screenshot_marker.rb +239 -0
  334. data/lib/phrase/models/screenshot_marker_create_parameters.rb +205 -0
  335. data/lib/phrase/models/screenshot_marker_update_parameters.rb +205 -0
  336. data/lib/phrase/models/screenshot_update_parameters.rb +215 -0
  337. data/lib/phrase/models/space.rb +241 -0
  338. data/lib/phrase/models/space_create_parameters.rb +195 -0
  339. data/lib/phrase/models/space_update_parameters.rb +195 -0
  340. data/lib/phrase/models/spaces_projects_create_parameters.rb +195 -0
  341. data/lib/phrase/models/styleguide.rb +221 -0
  342. data/lib/phrase/models/styleguide_create_parameters.rb +315 -0
  343. data/lib/phrase/models/styleguide_details.rb +346 -0
  344. data/lib/phrase/models/styleguide_details1.rb +302 -0
  345. data/lib/phrase/models/styleguide_preview.rb +203 -0
  346. data/lib/phrase/models/styleguide_update_parameters.rb +315 -0
  347. data/lib/phrase/models/tag.rb +221 -0
  348. data/lib/phrase/models/tag_create_parameters.rb +205 -0
  349. data/lib/phrase/models/tag_with_stats.rb +240 -0
  350. data/lib/phrase/models/tag_with_stats1.rb +196 -0
  351. data/lib/phrase/models/tag_with_stats1_statistics.rb +221 -0
  352. data/lib/phrase/models/tag_with_stats1_statistics1.rb +203 -0
  353. data/lib/phrase/models/team.rb +254 -0
  354. data/lib/phrase/models/team_create_parameters.rb +195 -0
  355. data/lib/phrase/models/team_detail.rb +254 -0
  356. data/lib/phrase/models/team_update_parameters.rb +195 -0
  357. data/lib/phrase/models/teams_projects_create_parameters.rb +195 -0
  358. data/lib/phrase/models/teams_spaces_create_parameters.rb +195 -0
  359. data/lib/phrase/models/teams_users_create_parameters.rb +195 -0
  360. data/lib/phrase/models/translation.rb +286 -0
  361. data/lib/phrase/models/translation_create_parameters.rb +265 -0
  362. data/lib/phrase/models/translation_details.rb +312 -0
  363. data/lib/phrase/models/translation_details1.rb +203 -0
  364. data/lib/phrase/models/translation_exclude_parameters.rb +195 -0
  365. data/lib/phrase/models/translation_include_parameters.rb +195 -0
  366. data/lib/phrase/models/translation_key.rb +268 -0
  367. data/lib/phrase/models/translation_key_details.rb +357 -0
  368. data/lib/phrase/models/translation_key_details1.rb +266 -0
  369. data/lib/phrase/models/translation_order.rb +340 -0
  370. data/lib/phrase/models/translation_review_parameters.rb +195 -0
  371. data/lib/phrase/models/translation_unverify_parameters.rb +195 -0
  372. data/lib/phrase/models/translation_update_parameters.rb +245 -0
  373. data/lib/phrase/models/translation_verify_parameters.rb +195 -0
  374. data/lib/phrase/models/translation_version.rb +257 -0
  375. data/lib/phrase/models/translation_version_with_user.rb +274 -0
  376. data/lib/phrase/models/translation_version_with_user1.rb +194 -0
  377. data/lib/phrase/models/translations_exclude_parameters.rb +225 -0
  378. data/lib/phrase/models/translations_include_parameters.rb +225 -0
  379. data/lib/phrase/models/translations_review_parameters.rb +205 -0
  380. data/lib/phrase/models/translations_search_parameters.rb +225 -0
  381. data/lib/phrase/models/translations_unverify_parameters.rb +225 -0
  382. data/lib/phrase/models/translations_verify_parameters.rb +225 -0
  383. data/lib/phrase/models/upload.rb +257 -0
  384. data/lib/phrase/models/upload_create_parameters.rb +335 -0
  385. data/lib/phrase/models/upload_summary.rb +257 -0
  386. data/lib/phrase/models/user.rb +248 -0
  387. data/lib/phrase/models/user_preview.rb +212 -0
  388. data/lib/phrase/models/webhook.rb +250 -0
  389. data/lib/phrase/models/webhook_create_parameters.rb +225 -0
  390. data/lib/phrase/models/webhook_update_parameters.rb +225 -0
  391. data/lib/phrase/response.rb +41 -0
  392. data/lib/phrase/version.rb +1 -1
  393. data/phrase.gemspec +27 -27
  394. data/spec/api/accounts_api_spec.rb +50 -0
  395. data/spec/api/authorizations_api_spec.rb +90 -0
  396. data/spec/api/bitbucket_sync_api_spec.rb +64 -0
  397. data/spec/api/blacklisted_keys_api_spec.rb +96 -0
  398. data/spec/api/branches_api_spec.rb +124 -0
  399. data/spec/api/comments_api_spec.rb +151 -0
  400. data/spec/api/distributions_api_spec.rb +95 -0
  401. data/spec/api/documents_api_spec.rb +52 -0
  402. data/spec/api/formats_api_spec.rb +35 -0
  403. data/spec/api/git_hub_sync_api_spec.rb +49 -0
  404. data/spec/api/git_lab_sync_api_spec.rb +125 -0
  405. data/spec/api/glossaries_api_spec.rb +95 -0
  406. data/spec/api/glossary_term_translations_api_spec.rb +72 -0
  407. data/spec/api/glossary_terms_api_spec.rb +100 -0
  408. data/spec/api/invitations_api_spec.rb +109 -0
  409. data/spec/api/job_locales_api_spec.rb +135 -0
  410. data/spec/api/jobs_api_spec.rb +177 -0
  411. data/spec/api/keys_api_spec.rb +162 -0
  412. data/spec/api/locales_api_spec.rb +126 -0
  413. data/spec/api/members_api_spec.rb +81 -0
  414. data/spec/api/orders_api_spec.rb +98 -0
  415. data/spec/api/projects_api_spec.rb +90 -0
  416. data/spec/api/releases_api_spec.rb +115 -0
  417. data/spec/api/screenshot_markers_api_spec.rb +98 -0
  418. data/spec/api/screenshots_api_spec.rb +95 -0
  419. data/spec/api/spaces_api_spec.rb +141 -0
  420. data/spec/api/style_guides_api_spec.rb +95 -0
  421. data/spec/api/tags_api_spec.rb +83 -0
  422. data/spec/api/teams_api_spec.rb +185 -0
  423. data/spec/api/translations_api_spec.rb +287 -0
  424. data/spec/api/uploads_api_spec.rb +82 -0
  425. data/spec/api/users_api_spec.rb +35 -0
  426. data/spec/api/versions_history_api_spec.rb +56 -0
  427. data/spec/api/webhooks_api_spec.rb +109 -0
  428. data/spec/api_client_spec.rb +214 -0
  429. data/spec/configuration_spec.rb +30 -0
  430. data/spec/models/account_details1_spec.rb +29 -0
  431. data/spec/models/account_details_spec.rb +59 -0
  432. data/spec/models/account_spec.rb +59 -0
  433. data/spec/models/affected_count_spec.rb +29 -0
  434. data/spec/models/affected_resources_spec.rb +29 -0
  435. data/spec/models/authorization_create_parameters_spec.rb +41 -0
  436. data/spec/models/authorization_spec.rb +71 -0
  437. data/spec/models/authorization_update_parameters_spec.rb +41 -0
  438. data/spec/models/authorization_with_token1_spec.rb +29 -0
  439. data/spec/models/authorization_with_token_spec.rb +77 -0
  440. data/spec/models/bitbucket_sync_export_parameters_spec.rb +29 -0
  441. data/spec/models/bitbucket_sync_export_response_spec.rb +29 -0
  442. data/spec/models/bitbucket_sync_import_parameters_spec.rb +29 -0
  443. data/spec/models/bitbucket_sync_spec.rb +59 -0
  444. data/spec/models/blacklisted_key_create_parameters_spec.rb +29 -0
  445. data/spec/models/blacklisted_key_spec.rb +47 -0
  446. data/spec/models/blacklisted_key_update_parameters_spec.rb +29 -0
  447. data/spec/models/branch_create_parameters_spec.rb +29 -0
  448. data/spec/models/branch_merge_parameters_spec.rb +29 -0
  449. data/spec/models/branch_spec.rb +65 -0
  450. data/spec/models/branch_update_parameters_spec.rb +29 -0
  451. data/spec/models/comment_create_parameters_spec.rb +35 -0
  452. data/spec/models/comment_mark_read_parameters_spec.rb +29 -0
  453. data/spec/models/comment_spec.rb +53 -0
  454. data/spec/models/comment_update_parameters_spec.rb +35 -0
  455. data/spec/models/distribution_create_parameters_spec.rb +65 -0
  456. data/spec/models/distribution_preview_spec.rb +65 -0
  457. data/spec/models/distribution_spec.rb +65 -0
  458. data/spec/models/distribution_update_parameters_spec.rb +65 -0
  459. data/spec/models/document_spec.rb +47 -0
  460. data/spec/models/format_spec.rb +83 -0
  461. data/spec/models/github_sync_export_parameters_spec.rb +29 -0
  462. data/spec/models/github_sync_import_parameters_spec.rb +29 -0
  463. data/spec/models/gitlab_sync_export_parameters_spec.rb +29 -0
  464. data/spec/models/gitlab_sync_export_spec.rb +35 -0
  465. data/spec/models/gitlab_sync_history_spec.rb +53 -0
  466. data/spec/models/gitlab_sync_import_parameters_spec.rb +29 -0
  467. data/spec/models/gitlab_sync_spec.rb +89 -0
  468. data/spec/models/glossary_create_parameters_spec.rb +41 -0
  469. data/spec/models/glossary_spec.rb +53 -0
  470. data/spec/models/glossary_term_create_parameters_spec.rb +47 -0
  471. data/spec/models/glossary_term_spec.rb +71 -0
  472. data/spec/models/glossary_term_translation_create_parameters_spec.rb +35 -0
  473. data/spec/models/glossary_term_translation_spec.rb +53 -0
  474. data/spec/models/glossary_term_translation_update_parameters_spec.rb +35 -0
  475. data/spec/models/glossary_term_update_parameters_spec.rb +47 -0
  476. data/spec/models/glossary_update_parameters_spec.rb +41 -0
  477. data/spec/models/inline_response422_errors_spec.rb +41 -0
  478. data/spec/models/inline_response422_spec.rb +35 -0
  479. data/spec/models/invitation_create_parameters_spec.rb +53 -0
  480. data/spec/models/invitation_spec.rb +83 -0
  481. data/spec/models/invitation_update_parameters_spec.rb +47 -0
  482. data/spec/models/job_complete_parameters_spec.rb +29 -0
  483. data/spec/models/job_create_parameters_spec.rb +59 -0
  484. data/spec/models/job_details1_spec.rb +47 -0
  485. data/spec/models/job_details_spec.rb +89 -0
  486. data/spec/models/job_keys_create_parameters_spec.rb +35 -0
  487. data/spec/models/job_locale_complete_parameters_spec.rb +29 -0
  488. data/spec/models/job_locale_reopen_parameters_spec.rb +29 -0
  489. data/spec/models/job_locale_spec.rb +47 -0
  490. data/spec/models/job_locale_update_parameters_spec.rb +41 -0
  491. data/spec/models/job_locales_create_parameters_spec.rb +41 -0
  492. data/spec/models/job_preview_spec.rb +41 -0
  493. data/spec/models/job_reopen_parameters_spec.rb +29 -0
  494. data/spec/models/job_spec.rb +65 -0
  495. data/spec/models/job_start_parameters_spec.rb +29 -0
  496. data/spec/models/job_update_parameters_spec.rb +47 -0
  497. data/spec/models/key_create_parameters_spec.rb +113 -0
  498. data/spec/models/key_preview_spec.rb +41 -0
  499. data/spec/models/key_update_parameters_spec.rb +113 -0
  500. data/spec/models/keys_search_parameters_spec.rb +53 -0
  501. data/spec/models/keys_tag_parameters_spec.rb +47 -0
  502. data/spec/models/keys_untag_parameters_spec.rb +47 -0
  503. data/spec/models/locale_create_parameters_spec.rb +83 -0
  504. data/spec/models/locale_details1_spec.rb +29 -0
  505. data/spec/models/locale_details_spec.rb +89 -0
  506. data/spec/models/locale_preview_spec.rb +41 -0
  507. data/spec/models/locale_spec.rb +83 -0
  508. data/spec/models/locale_statistics_spec.rb +65 -0
  509. data/spec/models/locale_update_parameters_spec.rb +83 -0
  510. data/spec/models/member_spec.rb +53 -0
  511. data/spec/models/member_update_parameters_spec.rb +47 -0
  512. data/spec/models/order_confirm_parameters_spec.rb +29 -0
  513. data/spec/models/order_create_parameters_spec.rb +107 -0
  514. data/spec/models/project_create_parameters_spec.rb +65 -0
  515. data/spec/models/project_details1_spec.rb +35 -0
  516. data/spec/models/project_details_spec.rb +77 -0
  517. data/spec/models/project_locales1_spec.rb +29 -0
  518. data/spec/models/project_locales_spec.rb +59 -0
  519. data/spec/models/project_short_spec.rb +53 -0
  520. data/spec/models/project_spec.rb +71 -0
  521. data/spec/models/project_update_parameters_spec.rb +59 -0
  522. data/spec/models/release_create_parameters_spec.rb +41 -0
  523. data/spec/models/release_preview_spec.rb +89 -0
  524. data/spec/models/release_spec.rb +89 -0
  525. data/spec/models/release_update_parameters_spec.rb +41 -0
  526. data/spec/models/screenshot_create_parameters_spec.rb +41 -0
  527. data/spec/models/screenshot_marker_create_parameters_spec.rb +35 -0
  528. data/spec/models/screenshot_marker_spec.rb +59 -0
  529. data/spec/models/screenshot_marker_update_parameters_spec.rb +35 -0
  530. data/spec/models/screenshot_spec.rb +65 -0
  531. data/spec/models/screenshot_update_parameters_spec.rb +41 -0
  532. data/spec/models/space_create_parameters_spec.rb +29 -0
  533. data/spec/models/space_spec.rb +59 -0
  534. data/spec/models/space_update_parameters_spec.rb +29 -0
  535. data/spec/models/spaces_projects_create_parameters_spec.rb +29 -0
  536. data/spec/models/styleguide_create_parameters_spec.rb +101 -0
  537. data/spec/models/styleguide_details1_spec.rb +101 -0
  538. data/spec/models/styleguide_details_spec.rb +125 -0
  539. data/spec/models/styleguide_preview_spec.rb +35 -0
  540. data/spec/models/styleguide_spec.rb +47 -0
  541. data/spec/models/styleguide_update_parameters_spec.rb +101 -0
  542. data/spec/models/tag_create_parameters_spec.rb +35 -0
  543. data/spec/models/tag_spec.rb +47 -0
  544. data/spec/models/tag_with_stats1_spec.rb +29 -0
  545. data/spec/models/tag_with_stats1_statistics1_spec.rb +35 -0
  546. data/spec/models/tag_with_stats1_statistics_spec.rb +47 -0
  547. data/spec/models/tag_with_stats_spec.rb +53 -0
  548. data/spec/models/team_create_parameters_spec.rb +29 -0
  549. data/spec/models/team_detail_spec.rb +65 -0
  550. data/spec/models/team_spec.rb +65 -0
  551. data/spec/models/team_update_parameters_spec.rb +29 -0
  552. data/spec/models/teams_projects_create_parameters_spec.rb +29 -0
  553. data/spec/models/teams_spaces_create_parameters_spec.rb +29 -0
  554. data/spec/models/teams_users_create_parameters_spec.rb +29 -0
  555. data/spec/models/translation_create_parameters_spec.rb +71 -0
  556. data/spec/models/translation_details1_spec.rb +35 -0
  557. data/spec/models/translation_details_spec.rb +101 -0
  558. data/spec/models/translation_exclude_parameters_spec.rb +29 -0
  559. data/spec/models/translation_include_parameters_spec.rb +29 -0
  560. data/spec/models/translation_key_details1_spec.rb +77 -0
  561. data/spec/models/translation_key_details_spec.rb +131 -0
  562. data/spec/models/translation_key_spec.rb +77 -0
  563. data/spec/models/translation_order_spec.rb +125 -0
  564. data/spec/models/translation_review_parameters_spec.rb +29 -0
  565. data/spec/models/translation_spec.rb +89 -0
  566. data/spec/models/translation_unverify_parameters_spec.rb +29 -0
  567. data/spec/models/translation_update_parameters_spec.rb +59 -0
  568. data/spec/models/translation_verify_parameters_spec.rb +29 -0
  569. data/spec/models/translation_version_spec.rb +71 -0
  570. data/spec/models/translation_version_with_user1_spec.rb +29 -0
  571. data/spec/models/translation_version_with_user_spec.rb +77 -0
  572. data/spec/models/translations_exclude_parameters_spec.rb +47 -0
  573. data/spec/models/translations_include_parameters_spec.rb +47 -0
  574. data/spec/models/translations_review_parameters_spec.rb +35 -0
  575. data/spec/models/translations_search_parameters_spec.rb +47 -0
  576. data/spec/models/translations_unverify_parameters_spec.rb +47 -0
  577. data/spec/models/translations_verify_parameters_spec.rb +47 -0
  578. data/spec/models/upload_create_parameters_spec.rb +113 -0
  579. data/spec/models/upload_spec.rb +71 -0
  580. data/spec/models/upload_summary_spec.rb +71 -0
  581. data/spec/models/user_preview_spec.rb +41 -0
  582. data/spec/models/user_spec.rb +65 -0
  583. data/spec/models/webhook_create_parameters_spec.rb +47 -0
  584. data/spec/models/webhook_spec.rb +65 -0
  585. data/spec/models/webhook_update_parameters_spec.rb +47 -0
  586. data/spec/spec_helper.rb +99 -0
  587. metadata +819 -188
  588. data/.gitignore +0 -25
  589. data/.travis.yml +0 -4
  590. data/Guardfile +0 -29
  591. data/bin/phrase +0 -8
  592. data/cacert.pem +0 -3366
  593. data/lib/ext/all.rb +0 -5
  594. data/lib/ext/hash.rb +0 -8
  595. data/lib/ext/object.rb +0 -130
  596. data/lib/ext/try.rb +0 -57
  597. data/lib/generators/phrase/install_generator.rb +0 -37
  598. data/lib/generators/templates/README +0 -11
  599. data/lib/generators/templates/phrase.rb +0 -21
  600. data/lib/phrase/adapters/fast_gettext.rb +0 -25
  601. data/lib/phrase/adapters/i18n.rb +0 -12
  602. data/lib/phrase/api.rb +0 -7
  603. data/lib/phrase/api/client.rb +0 -308
  604. data/lib/phrase/api/client/http.rb +0 -56
  605. data/lib/phrase/api/config.rb +0 -34
  606. data/lib/phrase/api/exceptions.rb +0 -9
  607. data/lib/phrase/api/query_params.rb +0 -22
  608. data/lib/phrase/backend.rb +0 -7
  609. data/lib/phrase/backend/base.rb +0 -6
  610. data/lib/phrase/backend/phrase_service.rb +0 -163
  611. data/lib/phrase/cache.rb +0 -34
  612. data/lib/phrase/config.rb +0 -94
  613. data/lib/phrase/delegate.rb +0 -36
  614. data/lib/phrase/delegate/fast_gettext.rb +0 -27
  615. data/lib/phrase/delegate/i18n.rb +0 -166
  616. data/lib/phrase/engine.rb +0 -14
  617. data/lib/phrase/formats.rb +0 -172
  618. data/lib/phrase/formats/angular_translate.rb +0 -19
  619. data/lib/phrase/formats/csv.rb +0 -19
  620. data/lib/phrase/formats/custom.rb +0 -40
  621. data/lib/phrase/formats/gettext.rb +0 -27
  622. data/lib/phrase/formats/gettext_template.rb +0 -19
  623. data/lib/phrase/formats/ini.rb +0 -19
  624. data/lib/phrase/formats/json.rb +0 -19
  625. data/lib/phrase/formats/laravel.rb +0 -19
  626. data/lib/phrase/formats/mozilla_properties.rb +0 -8
  627. data/lib/phrase/formats/nested_json.rb +0 -19
  628. data/lib/phrase/formats/node_json.rb +0 -23
  629. data/lib/phrase/formats/php_array.rb +0 -19
  630. data/lib/phrase/formats/play_properties.rb +0 -15
  631. data/lib/phrase/formats/plist.rb +0 -19
  632. data/lib/phrase/formats/properties.rb +0 -19
  633. data/lib/phrase/formats/properties_xml.rb +0 -19
  634. data/lib/phrase/formats/qt_phrase_book.rb +0 -19
  635. data/lib/phrase/formats/qt_translation_source.rb +0 -19
  636. data/lib/phrase/formats/resx.rb +0 -19
  637. data/lib/phrase/formats/resx_windowsphone.rb +0 -19
  638. data/lib/phrase/formats/simple_json.rb +0 -19
  639. data/lib/phrase/formats/strings.rb +0 -45
  640. data/lib/phrase/formats/tmx.rb +0 -19
  641. data/lib/phrase/formats/windows8_resource.rb +0 -19
  642. data/lib/phrase/formats/xliff.rb +0 -19
  643. data/lib/phrase/formats/xml.rb +0 -49
  644. data/lib/phrase/formats/yaml.rb +0 -19
  645. data/lib/phrase/formats/yaml_symfony.rb +0 -19
  646. data/lib/phrase/formats/yaml_symfony2.rb +0 -8
  647. data/lib/phrase/hash_flattener.rb +0 -21
  648. data/lib/phrase/tool.rb +0 -46
  649. data/lib/phrase/tool/commands.rb +0 -56
  650. data/lib/phrase/tool/commands/base.rb +0 -73
  651. data/lib/phrase/tool/commands/init.rb +0 -51
  652. data/lib/phrase/tool/commands/pull.rb +0 -109
  653. data/lib/phrase/tool/commands/push.rb +0 -163
  654. data/lib/phrase/tool/commands/show_help.rb +0 -26
  655. data/lib/phrase/tool/commands/show_version.rb +0 -17
  656. data/lib/phrase/tool/commands/tags.rb +0 -29
  657. data/lib/phrase/tool/config.rb +0 -120
  658. data/lib/phrase/tool/encoding_detector.rb +0 -17
  659. data/lib/phrase/tool/locale.rb +0 -41
  660. data/lib/phrase/tool/options.rb +0 -32
  661. data/lib/phrase/tool/options_factory.rb +0 -150
  662. data/lib/phrase/tool/tag_validator.rb +0 -9
  663. data/lib/phrase/view_helpers.rb +0 -19
@@ -0,0 +1,702 @@
1
+ require 'cgi'
2
+
3
+ module Phrase
4
+ class KeysApi
5
+ attr_accessor :api_client
6
+
7
+ def initialize(api_client = ApiClient.default)
8
+ @api_client = api_client
9
+ end
10
+ # Create a key
11
+ # Create a new key.
12
+ # @param project_id [String] Project ID
13
+ # @param key_create_parameters [KeyCreateParameters]
14
+ # @param [Hash] opts the optional parameters
15
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
16
+ # @return [TranslationKeyDetails]
17
+ def key_create(project_id, key_create_parameters, opts = {})
18
+ data, _status_code, _headers = key_create_with_http_info(project_id, key_create_parameters, opts)
19
+ data
20
+ end
21
+
22
+ # Create a key
23
+ # Create a new key.
24
+ # @param project_id [String] Project ID
25
+ # @param key_create_parameters [KeyCreateParameters]
26
+ # @param [Hash] opts the optional parameters
27
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
28
+ # @return [Array<(Response<(TranslationKeyDetails)>, Integer, Hash)>] Response<(TranslationKeyDetails)> data, response status code and response headers
29
+ def key_create_with_http_info(project_id, key_create_parameters, opts = {})
30
+ if @api_client.config.debugging
31
+ @api_client.config.logger.debug 'Calling API: KeysApi.key_create ...'
32
+ end
33
+ # verify the required parameter 'project_id' is set
34
+ if @api_client.config.client_side_validation && project_id.nil?
35
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysApi.key_create"
36
+ end
37
+ # verify the required parameter 'key_create_parameters' is set
38
+ if @api_client.config.client_side_validation && key_create_parameters.nil?
39
+ fail ArgumentError, "Missing the required parameter 'key_create_parameters' when calling KeysApi.key_create"
40
+ end
41
+ # resource path
42
+ local_var_path = '/projects/{project_id}/keys'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s))
43
+
44
+ # query parameters
45
+ query_params = opts[:query_params] || {}
46
+
47
+ # header parameters
48
+ header_params = opts[:header_params] || {}
49
+ # HTTP header 'Accept' (if needed)
50
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
51
+ # HTTP header 'Content-Type'
52
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
53
+ header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
54
+
55
+ # form parameters
56
+ form_params = opts[:form_params] || {}
57
+
58
+ # http body (model)
59
+ post_body = opts[:body] || @api_client.object_to_http_body(key_create_parameters)
60
+
61
+ # return_type
62
+ return_type = opts[:return_type] || 'TranslationKeyDetails'
63
+
64
+ # auth_names
65
+ auth_names = opts[:auth_names] || ['Basic', 'Token']
66
+
67
+ new_options = opts.merge(
68
+ :header_params => header_params,
69
+ :query_params => query_params,
70
+ :form_params => form_params,
71
+ :body => post_body,
72
+ :auth_names => auth_names,
73
+ :return_type => return_type
74
+ )
75
+
76
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
77
+ if @api_client.config.debugging
78
+ @api_client.config.logger.debug "API called: KeysApi#key_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
+ end
80
+ response = ::Phrase::Response.new(data, headers)
81
+ return response, status_code, headers
82
+ end
83
+
84
+ # Delete a key
85
+ # Delete an existing key.
86
+ # @param project_id [String] Project ID
87
+ # @param id [String] ID
88
+ # @param [Hash] opts the optional parameters
89
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
90
+ # @option opts [String] :branch specify the branch to use
91
+ # @return [nil]
92
+ def key_delete(project_id, id, opts = {})
93
+ data, _status_code, _headers = key_delete_with_http_info(project_id, id, opts)
94
+ data
95
+ end
96
+
97
+ # Delete a key
98
+ # Delete an existing key.
99
+ # @param project_id [String] Project ID
100
+ # @param id [String] ID
101
+ # @param [Hash] opts the optional parameters
102
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
103
+ # @option opts [String] :branch specify the branch to use
104
+ # @return [Array<(Response, Integer, Hash)>] Response<(nil, response status code and response headers
105
+ def key_delete_with_http_info(project_id, id, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: KeysApi.key_delete ...'
108
+ end
109
+ # verify the required parameter 'project_id' is set
110
+ if @api_client.config.client_side_validation && project_id.nil?
111
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysApi.key_delete"
112
+ end
113
+ # verify the required parameter 'id' is set
114
+ if @api_client.config.client_side_validation && id.nil?
115
+ fail ArgumentError, "Missing the required parameter 'id' when calling KeysApi.key_delete"
116
+ end
117
+ # resource path
118
+ local_var_path = '/projects/{project_id}/keys/{id}'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s))
119
+
120
+ # query parameters
121
+ query_params = opts[:query_params] || {}
122
+ query_params[:'branch'] = opts[:'branch'] if !opts[:'branch'].nil?
123
+
124
+ # header parameters
125
+ header_params = opts[:header_params] || {}
126
+ header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
127
+
128
+ # form parameters
129
+ form_params = opts[:form_params] || {}
130
+
131
+ # http body (model)
132
+ post_body = opts[:body]
133
+
134
+ # return_type
135
+ return_type = opts[:return_type]
136
+
137
+ # auth_names
138
+ auth_names = opts[:auth_names] || ['Basic', 'Token']
139
+
140
+ new_options = opts.merge(
141
+ :header_params => header_params,
142
+ :query_params => query_params,
143
+ :form_params => form_params,
144
+ :body => post_body,
145
+ :auth_names => auth_names,
146
+ :return_type => return_type
147
+ )
148
+
149
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
150
+ if @api_client.config.debugging
151
+ @api_client.config.logger.debug "API called: KeysApi#key_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
152
+ end
153
+ response = ::Phrase::Response.new(data, headers)
154
+ return response, status_code, headers
155
+ end
156
+
157
+ # Get a single key
158
+ # Get details on a single key for a given project.
159
+ # @param project_id [String] Project ID
160
+ # @param id [String] ID
161
+ # @param [Hash] opts the optional parameters
162
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
163
+ # @option opts [String] :branch specify the branch to use
164
+ # @return [TranslationKeyDetails]
165
+ def key_show(project_id, id, opts = {})
166
+ data, _status_code, _headers = key_show_with_http_info(project_id, id, opts)
167
+ data
168
+ end
169
+
170
+ # Get a single key
171
+ # Get details on a single key for a given project.
172
+ # @param project_id [String] Project ID
173
+ # @param id [String] ID
174
+ # @param [Hash] opts the optional parameters
175
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
176
+ # @option opts [String] :branch specify the branch to use
177
+ # @return [Array<(Response<(TranslationKeyDetails)>, Integer, Hash)>] Response<(TranslationKeyDetails)> data, response status code and response headers
178
+ def key_show_with_http_info(project_id, id, opts = {})
179
+ if @api_client.config.debugging
180
+ @api_client.config.logger.debug 'Calling API: KeysApi.key_show ...'
181
+ end
182
+ # verify the required parameter 'project_id' is set
183
+ if @api_client.config.client_side_validation && project_id.nil?
184
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysApi.key_show"
185
+ end
186
+ # verify the required parameter 'id' is set
187
+ if @api_client.config.client_side_validation && id.nil?
188
+ fail ArgumentError, "Missing the required parameter 'id' when calling KeysApi.key_show"
189
+ end
190
+ # resource path
191
+ local_var_path = '/projects/{project_id}/keys/{id}'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s))
192
+
193
+ # query parameters
194
+ query_params = opts[:query_params] || {}
195
+ query_params[:'branch'] = opts[:'branch'] if !opts[:'branch'].nil?
196
+
197
+ # header parameters
198
+ header_params = opts[:header_params] || {}
199
+ # HTTP header 'Accept' (if needed)
200
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
201
+ header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
202
+
203
+ # form parameters
204
+ form_params = opts[:form_params] || {}
205
+
206
+ # http body (model)
207
+ post_body = opts[:body]
208
+
209
+ # return_type
210
+ return_type = opts[:return_type] || 'TranslationKeyDetails'
211
+
212
+ # auth_names
213
+ auth_names = opts[:auth_names] || ['Basic', 'Token']
214
+
215
+ new_options = opts.merge(
216
+ :header_params => header_params,
217
+ :query_params => query_params,
218
+ :form_params => form_params,
219
+ :body => post_body,
220
+ :auth_names => auth_names,
221
+ :return_type => return_type
222
+ )
223
+
224
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
225
+ if @api_client.config.debugging
226
+ @api_client.config.logger.debug "API called: KeysApi#key_show\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
227
+ end
228
+ response = ::Phrase::Response.new(data, headers)
229
+ return response, status_code, headers
230
+ end
231
+
232
+ # Update a key
233
+ # Update an existing key.
234
+ # @param project_id [String] Project ID
235
+ # @param id [String] ID
236
+ # @param key_update_parameters [KeyUpdateParameters]
237
+ # @param [Hash] opts the optional parameters
238
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
239
+ # @return [TranslationKeyDetails]
240
+ def key_update(project_id, id, key_update_parameters, opts = {})
241
+ data, _status_code, _headers = key_update_with_http_info(project_id, id, key_update_parameters, opts)
242
+ data
243
+ end
244
+
245
+ # Update a key
246
+ # Update an existing key.
247
+ # @param project_id [String] Project ID
248
+ # @param id [String] ID
249
+ # @param key_update_parameters [KeyUpdateParameters]
250
+ # @param [Hash] opts the optional parameters
251
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
252
+ # @return [Array<(Response<(TranslationKeyDetails)>, Integer, Hash)>] Response<(TranslationKeyDetails)> data, response status code and response headers
253
+ def key_update_with_http_info(project_id, id, key_update_parameters, opts = {})
254
+ if @api_client.config.debugging
255
+ @api_client.config.logger.debug 'Calling API: KeysApi.key_update ...'
256
+ end
257
+ # verify the required parameter 'project_id' is set
258
+ if @api_client.config.client_side_validation && project_id.nil?
259
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysApi.key_update"
260
+ end
261
+ # verify the required parameter 'id' is set
262
+ if @api_client.config.client_side_validation && id.nil?
263
+ fail ArgumentError, "Missing the required parameter 'id' when calling KeysApi.key_update"
264
+ end
265
+ # verify the required parameter 'key_update_parameters' is set
266
+ if @api_client.config.client_side_validation && key_update_parameters.nil?
267
+ fail ArgumentError, "Missing the required parameter 'key_update_parameters' when calling KeysApi.key_update"
268
+ end
269
+ # resource path
270
+ local_var_path = '/projects/{project_id}/keys/{id}'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s))
271
+
272
+ # query parameters
273
+ query_params = opts[:query_params] || {}
274
+
275
+ # header parameters
276
+ header_params = opts[:header_params] || {}
277
+ # HTTP header 'Accept' (if needed)
278
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
279
+ # HTTP header 'Content-Type'
280
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
281
+ header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
282
+
283
+ # form parameters
284
+ form_params = opts[:form_params] || {}
285
+
286
+ # http body (model)
287
+ post_body = opts[:body] || @api_client.object_to_http_body(key_update_parameters)
288
+
289
+ # return_type
290
+ return_type = opts[:return_type] || 'TranslationKeyDetails'
291
+
292
+ # auth_names
293
+ auth_names = opts[:auth_names] || ['Basic', 'Token']
294
+
295
+ new_options = opts.merge(
296
+ :header_params => header_params,
297
+ :query_params => query_params,
298
+ :form_params => form_params,
299
+ :body => post_body,
300
+ :auth_names => auth_names,
301
+ :return_type => return_type
302
+ )
303
+
304
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
305
+ if @api_client.config.debugging
306
+ @api_client.config.logger.debug "API called: KeysApi#key_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
307
+ end
308
+ response = ::Phrase::Response.new(data, headers)
309
+ return response, status_code, headers
310
+ end
311
+
312
+ # Delete collection of keys
313
+ # Delete all keys matching query. Same constraints as list. Please limit the number of affected keys to about 1,000 as you might experience timeouts otherwise.
314
+ # @param project_id [String] Project ID
315
+ # @param [Hash] opts the optional parameters
316
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
317
+ # @option opts [String] :branch specify the branch to use
318
+ # @option opts [String] :q Specify a query to do broad search for keys by name (including wildcards).&lt;br&gt;&lt;br&gt; The following qualifiers are also supported in the search term:&lt;br&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;ids:key_id,...&lt;/code&gt; for queries on a comma-separated list of ids&lt;/li&gt; &lt;li&gt;&lt;code&gt;name:key_name&lt;/code&gt; for text queries on exact key names - whitespaces need to be prefixed with a backspace (\\\&quot;\\\\\\\&quot;)&lt;/li&gt; &lt;li&gt;&lt;code&gt;tags:tag_name&lt;/code&gt; to filter for keys with certain tags&lt;/li&gt; &lt;li&gt;&lt;code&gt;translated:{true|false}&lt;/code&gt; for translation status (also requires &lt;code&gt;locale_id&lt;/code&gt; to be specified)&lt;/li&gt; &lt;li&gt;&lt;code&gt;updated_at:{&gt;&#x3D;|&lt;&#x3D;}2013-02-21T00:00:00Z&lt;/code&gt; for date range queries&lt;/li&gt; &lt;li&gt;&lt;code&gt;unmentioned_in_upload:upload_id&lt;/code&gt; to filter keys unmentioned within upload&lt;/li&gt; &lt;/ul&gt; Find more examples &lt;a href&#x3D;\&quot;#overview--usage-examples\&quot;&gt;here&lt;/a&gt;.
319
+ # @option opts [String] :locale_id Locale used to determine the translation state of a key when filtering for untranslated or translated keys.
320
+ # @return [AffectedResources]
321
+ def keys_delete(project_id, opts = {})
322
+ data, _status_code, _headers = keys_delete_with_http_info(project_id, opts)
323
+ data
324
+ end
325
+
326
+ # Delete collection of keys
327
+ # Delete all keys matching query. Same constraints as list. Please limit the number of affected keys to about 1,000 as you might experience timeouts otherwise.
328
+ # @param project_id [String] Project ID
329
+ # @param [Hash] opts the optional parameters
330
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
331
+ # @option opts [String] :branch specify the branch to use
332
+ # @option opts [String] :q Specify a query to do broad search for keys by name (including wildcards).&lt;br&gt;&lt;br&gt; The following qualifiers are also supported in the search term:&lt;br&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;ids:key_id,...&lt;/code&gt; for queries on a comma-separated list of ids&lt;/li&gt; &lt;li&gt;&lt;code&gt;name:key_name&lt;/code&gt; for text queries on exact key names - whitespaces need to be prefixed with a backspace (\\\&quot;\\\\\\\&quot;)&lt;/li&gt; &lt;li&gt;&lt;code&gt;tags:tag_name&lt;/code&gt; to filter for keys with certain tags&lt;/li&gt; &lt;li&gt;&lt;code&gt;translated:{true|false}&lt;/code&gt; for translation status (also requires &lt;code&gt;locale_id&lt;/code&gt; to be specified)&lt;/li&gt; &lt;li&gt;&lt;code&gt;updated_at:{&gt;&#x3D;|&lt;&#x3D;}2013-02-21T00:00:00Z&lt;/code&gt; for date range queries&lt;/li&gt; &lt;li&gt;&lt;code&gt;unmentioned_in_upload:upload_id&lt;/code&gt; to filter keys unmentioned within upload&lt;/li&gt; &lt;/ul&gt; Find more examples &lt;a href&#x3D;\&quot;#overview--usage-examples\&quot;&gt;here&lt;/a&gt;.
333
+ # @option opts [String] :locale_id Locale used to determine the translation state of a key when filtering for untranslated or translated keys.
334
+ # @return [Array<(Response<(AffectedResources)>, Integer, Hash)>] Response<(AffectedResources)> data, response status code and response headers
335
+ def keys_delete_with_http_info(project_id, opts = {})
336
+ if @api_client.config.debugging
337
+ @api_client.config.logger.debug 'Calling API: KeysApi.keys_delete ...'
338
+ end
339
+ # verify the required parameter 'project_id' is set
340
+ if @api_client.config.client_side_validation && project_id.nil?
341
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysApi.keys_delete"
342
+ end
343
+ # resource path
344
+ local_var_path = '/projects/{project_id}/keys'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s))
345
+
346
+ # query parameters
347
+ query_params = opts[:query_params] || {}
348
+ query_params[:'branch'] = opts[:'branch'] if !opts[:'branch'].nil?
349
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
350
+ query_params[:'locale_id'] = opts[:'locale_id'] if !opts[:'locale_id'].nil?
351
+
352
+ # header parameters
353
+ header_params = opts[:header_params] || {}
354
+ # HTTP header 'Accept' (if needed)
355
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
356
+ header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
357
+
358
+ # form parameters
359
+ form_params = opts[:form_params] || {}
360
+
361
+ # http body (model)
362
+ post_body = opts[:body]
363
+
364
+ # return_type
365
+ return_type = opts[:return_type] || 'AffectedResources'
366
+
367
+ # auth_names
368
+ auth_names = opts[:auth_names] || ['Basic', 'Token']
369
+
370
+ new_options = opts.merge(
371
+ :header_params => header_params,
372
+ :query_params => query_params,
373
+ :form_params => form_params,
374
+ :body => post_body,
375
+ :auth_names => auth_names,
376
+ :return_type => return_type
377
+ )
378
+
379
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
380
+ if @api_client.config.debugging
381
+ @api_client.config.logger.debug "API called: KeysApi#keys_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
382
+ end
383
+ response = ::Phrase::Response.new(data, headers)
384
+ return response, status_code, headers
385
+ end
386
+
387
+ # List keys
388
+ # List all keys for the given project. Alternatively you can POST requests to /search.
389
+ # @param project_id [String] Project ID
390
+ # @param [Hash] opts the optional parameters
391
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
392
+ # @option opts [Integer] :page Page number
393
+ # @option opts [Integer] :per_page allows you to specify a page size up to 100 items, 25 by default
394
+ # @option opts [String] :branch specify the branch to use
395
+ # @option opts [String] :sort Sort by field. Can be one of: name, created_at, updated_at.
396
+ # @option opts [String] :order Order direction. Can be one of: asc, desc.
397
+ # @option opts [String] :q Specify a query to do broad search for keys by name (including wildcards).&lt;br&gt;&lt;br&gt; The following qualifiers are also supported in the search term:&lt;br&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;ids:key_id,...&lt;/code&gt; for queries on a comma-separated list of ids&lt;/li&gt; &lt;li&gt;&lt;code&gt;name:key_name&lt;/code&gt; for text queries on exact key names - whitespaces need to be prefixed with a backspace (\\\&quot;\\\\\\\&quot;)&lt;/li&gt; &lt;li&gt;&lt;code&gt;tags:tag_name&lt;/code&gt; to filter for keys with certain tags&lt;/li&gt; &lt;li&gt;&lt;code&gt;translated:{true|false}&lt;/code&gt; for translation status (also requires &lt;code&gt;locale_id&lt;/code&gt; to be specified)&lt;/li&gt; &lt;li&gt;&lt;code&gt;updated_at:{&gt;&#x3D;|&lt;&#x3D;}2013-02-21T00:00:00Z&lt;/code&gt; for date range queries&lt;/li&gt; &lt;li&gt;&lt;code&gt;unmentioned_in_upload:upload_id&lt;/code&gt; to filter keys unmentioned within upload&lt;/li&gt; &lt;/ul&gt; Find more examples &lt;a href&#x3D;\&quot;#overview--usage-examples\&quot;&gt;here&lt;/a&gt;.
398
+ # @option opts [String] :locale_id Locale used to determine the translation state of a key when filtering for untranslated or translated keys.
399
+ # @return [Array<TranslationKey>]
400
+ def keys_list(project_id, opts = {})
401
+ data, _status_code, _headers = keys_list_with_http_info(project_id, opts)
402
+ data
403
+ end
404
+
405
+ # List keys
406
+ # List all keys for the given project. Alternatively you can POST requests to /search.
407
+ # @param project_id [String] Project ID
408
+ # @param [Hash] opts the optional parameters
409
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
410
+ # @option opts [Integer] :page Page number
411
+ # @option opts [Integer] :per_page allows you to specify a page size up to 100 items, 25 by default
412
+ # @option opts [String] :branch specify the branch to use
413
+ # @option opts [String] :sort Sort by field. Can be one of: name, created_at, updated_at.
414
+ # @option opts [String] :order Order direction. Can be one of: asc, desc.
415
+ # @option opts [String] :q Specify a query to do broad search for keys by name (including wildcards).&lt;br&gt;&lt;br&gt; The following qualifiers are also supported in the search term:&lt;br&gt; &lt;ul&gt; &lt;li&gt;&lt;code&gt;ids:key_id,...&lt;/code&gt; for queries on a comma-separated list of ids&lt;/li&gt; &lt;li&gt;&lt;code&gt;name:key_name&lt;/code&gt; for text queries on exact key names - whitespaces need to be prefixed with a backspace (\\\&quot;\\\\\\\&quot;)&lt;/li&gt; &lt;li&gt;&lt;code&gt;tags:tag_name&lt;/code&gt; to filter for keys with certain tags&lt;/li&gt; &lt;li&gt;&lt;code&gt;translated:{true|false}&lt;/code&gt; for translation status (also requires &lt;code&gt;locale_id&lt;/code&gt; to be specified)&lt;/li&gt; &lt;li&gt;&lt;code&gt;updated_at:{&gt;&#x3D;|&lt;&#x3D;}2013-02-21T00:00:00Z&lt;/code&gt; for date range queries&lt;/li&gt; &lt;li&gt;&lt;code&gt;unmentioned_in_upload:upload_id&lt;/code&gt; to filter keys unmentioned within upload&lt;/li&gt; &lt;/ul&gt; Find more examples &lt;a href&#x3D;\&quot;#overview--usage-examples\&quot;&gt;here&lt;/a&gt;.
416
+ # @option opts [String] :locale_id Locale used to determine the translation state of a key when filtering for untranslated or translated keys.
417
+ # @return [Array<(Response<(Array<TranslationKey>)>, Integer, Hash)>] Response<(Array<TranslationKey>)> data, response status code and response headers
418
+ def keys_list_with_http_info(project_id, opts = {})
419
+ if @api_client.config.debugging
420
+ @api_client.config.logger.debug 'Calling API: KeysApi.keys_list ...'
421
+ end
422
+ # verify the required parameter 'project_id' is set
423
+ if @api_client.config.client_side_validation && project_id.nil?
424
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysApi.keys_list"
425
+ end
426
+ # resource path
427
+ local_var_path = '/projects/{project_id}/keys'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s))
428
+
429
+ # query parameters
430
+ query_params = opts[:query_params] || {}
431
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
432
+ query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
433
+ query_params[:'branch'] = opts[:'branch'] if !opts[:'branch'].nil?
434
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
435
+ query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
436
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
437
+ query_params[:'locale_id'] = opts[:'locale_id'] if !opts[:'locale_id'].nil?
438
+
439
+ # header parameters
440
+ header_params = opts[:header_params] || {}
441
+ # HTTP header 'Accept' (if needed)
442
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
443
+ header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
444
+
445
+ # form parameters
446
+ form_params = opts[:form_params] || {}
447
+
448
+ # http body (model)
449
+ post_body = opts[:body]
450
+
451
+ # return_type
452
+ return_type = opts[:return_type] || 'Array<TranslationKey>'
453
+
454
+ # auth_names
455
+ auth_names = opts[:auth_names] || ['Basic', 'Token']
456
+
457
+ new_options = opts.merge(
458
+ :header_params => header_params,
459
+ :query_params => query_params,
460
+ :form_params => form_params,
461
+ :body => post_body,
462
+ :auth_names => auth_names,
463
+ :return_type => return_type
464
+ )
465
+
466
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
467
+ if @api_client.config.debugging
468
+ @api_client.config.logger.debug "API called: KeysApi#keys_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
469
+ end
470
+ response = ::Phrase::Response.new(data, headers)
471
+ return response, status_code, headers
472
+ end
473
+
474
+ # Search keys
475
+ # Search keys for the given project matching query.
476
+ # @param project_id [String] Project ID
477
+ # @param keys_search_parameters [KeysSearchParameters]
478
+ # @param [Hash] opts the optional parameters
479
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
480
+ # @option opts [Integer] :page Page number
481
+ # @option opts [Integer] :per_page allows you to specify a page size up to 100 items, 25 by default
482
+ # @return [Array<TranslationKey>]
483
+ def keys_search(project_id, keys_search_parameters, opts = {})
484
+ data, _status_code, _headers = keys_search_with_http_info(project_id, keys_search_parameters, opts)
485
+ data
486
+ end
487
+
488
+ # Search keys
489
+ # Search keys for the given project matching query.
490
+ # @param project_id [String] Project ID
491
+ # @param keys_search_parameters [KeysSearchParameters]
492
+ # @param [Hash] opts the optional parameters
493
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
494
+ # @option opts [Integer] :page Page number
495
+ # @option opts [Integer] :per_page allows you to specify a page size up to 100 items, 25 by default
496
+ # @return [Array<(Response<(Array<TranslationKey>)>, Integer, Hash)>] Response<(Array<TranslationKey>)> data, response status code and response headers
497
+ def keys_search_with_http_info(project_id, keys_search_parameters, opts = {})
498
+ if @api_client.config.debugging
499
+ @api_client.config.logger.debug 'Calling API: KeysApi.keys_search ...'
500
+ end
501
+ # verify the required parameter 'project_id' is set
502
+ if @api_client.config.client_side_validation && project_id.nil?
503
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysApi.keys_search"
504
+ end
505
+ # verify the required parameter 'keys_search_parameters' is set
506
+ if @api_client.config.client_side_validation && keys_search_parameters.nil?
507
+ fail ArgumentError, "Missing the required parameter 'keys_search_parameters' when calling KeysApi.keys_search"
508
+ end
509
+ # resource path
510
+ local_var_path = '/projects/{project_id}/keys/search'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s))
511
+
512
+ # query parameters
513
+ query_params = opts[:query_params] || {}
514
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
515
+ query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
516
+
517
+ # header parameters
518
+ header_params = opts[:header_params] || {}
519
+ # HTTP header 'Accept' (if needed)
520
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
521
+ # HTTP header 'Content-Type'
522
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
523
+ header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
524
+
525
+ # form parameters
526
+ form_params = opts[:form_params] || {}
527
+
528
+ # http body (model)
529
+ post_body = opts[:body] || @api_client.object_to_http_body(keys_search_parameters)
530
+
531
+ # return_type
532
+ return_type = opts[:return_type] || 'Array<TranslationKey>'
533
+
534
+ # auth_names
535
+ auth_names = opts[:auth_names] || ['Basic', 'Token']
536
+
537
+ new_options = opts.merge(
538
+ :header_params => header_params,
539
+ :query_params => query_params,
540
+ :form_params => form_params,
541
+ :body => post_body,
542
+ :auth_names => auth_names,
543
+ :return_type => return_type
544
+ )
545
+
546
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
547
+ if @api_client.config.debugging
548
+ @api_client.config.logger.debug "API called: KeysApi#keys_search\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
549
+ end
550
+ response = ::Phrase::Response.new(data, headers)
551
+ return response, status_code, headers
552
+ end
553
+
554
+ # Add tags to collection of keys
555
+ # Tags all keys matching query. Same constraints as list.
556
+ # @param project_id [String] Project ID
557
+ # @param keys_tag_parameters [KeysTagParameters]
558
+ # @param [Hash] opts the optional parameters
559
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
560
+ # @return [AffectedResources]
561
+ def keys_tag(project_id, keys_tag_parameters, opts = {})
562
+ data, _status_code, _headers = keys_tag_with_http_info(project_id, keys_tag_parameters, opts)
563
+ data
564
+ end
565
+
566
+ # Add tags to collection of keys
567
+ # Tags all keys matching query. Same constraints as list.
568
+ # @param project_id [String] Project ID
569
+ # @param keys_tag_parameters [KeysTagParameters]
570
+ # @param [Hash] opts the optional parameters
571
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
572
+ # @return [Array<(Response<(AffectedResources)>, Integer, Hash)>] Response<(AffectedResources)> data, response status code and response headers
573
+ def keys_tag_with_http_info(project_id, keys_tag_parameters, opts = {})
574
+ if @api_client.config.debugging
575
+ @api_client.config.logger.debug 'Calling API: KeysApi.keys_tag ...'
576
+ end
577
+ # verify the required parameter 'project_id' is set
578
+ if @api_client.config.client_side_validation && project_id.nil?
579
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysApi.keys_tag"
580
+ end
581
+ # verify the required parameter 'keys_tag_parameters' is set
582
+ if @api_client.config.client_side_validation && keys_tag_parameters.nil?
583
+ fail ArgumentError, "Missing the required parameter 'keys_tag_parameters' when calling KeysApi.keys_tag"
584
+ end
585
+ # resource path
586
+ local_var_path = '/projects/{project_id}/keys/tag'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s))
587
+
588
+ # query parameters
589
+ query_params = opts[:query_params] || {}
590
+
591
+ # header parameters
592
+ header_params = opts[:header_params] || {}
593
+ # HTTP header 'Accept' (if needed)
594
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
595
+ # HTTP header 'Content-Type'
596
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
597
+ header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
598
+
599
+ # form parameters
600
+ form_params = opts[:form_params] || {}
601
+
602
+ # http body (model)
603
+ post_body = opts[:body] || @api_client.object_to_http_body(keys_tag_parameters)
604
+
605
+ # return_type
606
+ return_type = opts[:return_type] || 'AffectedResources'
607
+
608
+ # auth_names
609
+ auth_names = opts[:auth_names] || ['Basic', 'Token']
610
+
611
+ new_options = opts.merge(
612
+ :header_params => header_params,
613
+ :query_params => query_params,
614
+ :form_params => form_params,
615
+ :body => post_body,
616
+ :auth_names => auth_names,
617
+ :return_type => return_type
618
+ )
619
+
620
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
621
+ if @api_client.config.debugging
622
+ @api_client.config.logger.debug "API called: KeysApi#keys_tag\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
623
+ end
624
+ response = ::Phrase::Response.new(data, headers)
625
+ return response, status_code, headers
626
+ end
627
+
628
+ # Remove tags from collection of keys
629
+ # Removes specified tags from keys matching query.
630
+ # @param project_id [String] Project ID
631
+ # @param keys_untag_parameters [KeysUntagParameters]
632
+ # @param [Hash] opts the optional parameters
633
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
634
+ # @return [AffectedResources]
635
+ def keys_untag(project_id, keys_untag_parameters, opts = {})
636
+ data, _status_code, _headers = keys_untag_with_http_info(project_id, keys_untag_parameters, opts)
637
+ data
638
+ end
639
+
640
+ # Remove tags from collection of keys
641
+ # Removes specified tags from keys matching query.
642
+ # @param project_id [String] Project ID
643
+ # @param keys_untag_parameters [KeysUntagParameters]
644
+ # @param [Hash] opts the optional parameters
645
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
646
+ # @return [Array<(Response<(AffectedResources)>, Integer, Hash)>] Response<(AffectedResources)> data, response status code and response headers
647
+ def keys_untag_with_http_info(project_id, keys_untag_parameters, opts = {})
648
+ if @api_client.config.debugging
649
+ @api_client.config.logger.debug 'Calling API: KeysApi.keys_untag ...'
650
+ end
651
+ # verify the required parameter 'project_id' is set
652
+ if @api_client.config.client_side_validation && project_id.nil?
653
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling KeysApi.keys_untag"
654
+ end
655
+ # verify the required parameter 'keys_untag_parameters' is set
656
+ if @api_client.config.client_side_validation && keys_untag_parameters.nil?
657
+ fail ArgumentError, "Missing the required parameter 'keys_untag_parameters' when calling KeysApi.keys_untag"
658
+ end
659
+ # resource path
660
+ local_var_path = '/projects/{project_id}/keys/untag'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s))
661
+
662
+ # query parameters
663
+ query_params = opts[:query_params] || {}
664
+
665
+ # header parameters
666
+ header_params = opts[:header_params] || {}
667
+ # HTTP header 'Accept' (if needed)
668
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
669
+ # HTTP header 'Content-Type'
670
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
671
+ header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil?
672
+
673
+ # form parameters
674
+ form_params = opts[:form_params] || {}
675
+
676
+ # http body (model)
677
+ post_body = opts[:body] || @api_client.object_to_http_body(keys_untag_parameters)
678
+
679
+ # return_type
680
+ return_type = opts[:return_type] || 'AffectedResources'
681
+
682
+ # auth_names
683
+ auth_names = opts[:auth_names] || ['Basic', 'Token']
684
+
685
+ new_options = opts.merge(
686
+ :header_params => header_params,
687
+ :query_params => query_params,
688
+ :form_params => form_params,
689
+ :body => post_body,
690
+ :auth_names => auth_names,
691
+ :return_type => return_type
692
+ )
693
+
694
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
695
+ if @api_client.config.debugging
696
+ @api_client.config.logger.debug "API called: KeysApi#keys_untag\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
697
+ end
698
+ response = ::Phrase::Response.new(data, headers)
699
+ return response, status_code, headers
700
+ end
701
+ end
702
+ end