imagekitio 3.0.0 → 4.0.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 (483) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +116 -0
  4. data/README.md +538 -679
  5. data/SECURITY.md +27 -0
  6. data/lib/imagekitio/client.rb +122 -195
  7. data/lib/imagekitio/errors.rb +226 -2
  8. data/lib/imagekitio/file_part.rb +58 -0
  9. data/lib/imagekitio/helpers/crypto_utils.rb +25 -0
  10. data/lib/imagekitio/helpers/helper.rb +689 -0
  11. data/lib/imagekitio/helpers/transformation_utils.rb +164 -0
  12. data/lib/imagekitio/helpers/uuid_utils.rb +18 -0
  13. data/lib/imagekitio/internal/transport/base_client.rb +567 -0
  14. data/lib/imagekitio/internal/transport/pooled_net_requester.rb +217 -0
  15. data/lib/imagekitio/internal/type/array_of.rb +168 -0
  16. data/lib/imagekitio/internal/type/base_model.rb +530 -0
  17. data/lib/imagekitio/internal/type/base_page.rb +55 -0
  18. data/lib/imagekitio/internal/type/boolean.rb +77 -0
  19. data/lib/imagekitio/internal/type/converter.rb +327 -0
  20. data/lib/imagekitio/internal/type/enum.rb +156 -0
  21. data/lib/imagekitio/internal/type/file_input.rb +111 -0
  22. data/lib/imagekitio/internal/type/hash_of.rb +188 -0
  23. data/lib/imagekitio/internal/type/request_parameters.rb +42 -0
  24. data/lib/imagekitio/internal/type/union.rb +250 -0
  25. data/lib/imagekitio/internal/type/unknown.rb +81 -0
  26. data/lib/imagekitio/internal/util.rb +915 -0
  27. data/lib/imagekitio/internal.rb +20 -0
  28. data/lib/imagekitio/models/accounts/origin_create_params.rb +24 -0
  29. data/lib/imagekitio/models/accounts/origin_delete_params.rb +16 -0
  30. data/lib/imagekitio/models/accounts/origin_get_params.rb +16 -0
  31. data/lib/imagekitio/models/accounts/origin_list_params.rb +16 -0
  32. data/lib/imagekitio/models/accounts/origin_list_response.rb +11 -0
  33. data/lib/imagekitio/models/accounts/origin_request.rb +547 -0
  34. data/lib/imagekitio/models/accounts/origin_response.rb +568 -0
  35. data/lib/imagekitio/models/accounts/origin_update_params.rb +24 -0
  36. data/lib/imagekitio/models/accounts/url_endpoint_create_params.rb +16 -0
  37. data/lib/imagekitio/models/accounts/url_endpoint_delete_params.rb +16 -0
  38. data/lib/imagekitio/models/accounts/url_endpoint_get_params.rb +16 -0
  39. data/lib/imagekitio/models/accounts/url_endpoint_list_params.rb +16 -0
  40. data/lib/imagekitio/models/accounts/url_endpoint_list_response.rb +11 -0
  41. data/lib/imagekitio/models/accounts/url_endpoint_request.rb +110 -0
  42. data/lib/imagekitio/models/accounts/url_endpoint_response.rb +123 -0
  43. data/lib/imagekitio/models/accounts/url_endpoint_update_params.rb +16 -0
  44. data/lib/imagekitio/models/accounts/usage_get_params.rb +37 -0
  45. data/lib/imagekitio/models/accounts/usage_get_response.rb +51 -0
  46. data/lib/imagekitio/models/asset_list_params.rb +158 -0
  47. data/lib/imagekitio/models/asset_list_response.rb +24 -0
  48. data/lib/imagekitio/models/base_overlay.rb +21 -0
  49. data/lib/imagekitio/models/base_webhook_event.rb +24 -0
  50. data/lib/imagekitio/models/beta/v2/file_upload_params.rb +510 -0
  51. data/lib/imagekitio/models/beta/v2/file_upload_response.rb +618 -0
  52. data/lib/imagekitio/models/cache/invalidation_create_params.rb +27 -0
  53. data/lib/imagekitio/models/cache/invalidation_create_response.rb +23 -0
  54. data/lib/imagekitio/models/cache/invalidation_get_params.rb +16 -0
  55. data/lib/imagekitio/models/cache/invalidation_get_response.rb +35 -0
  56. data/lib/imagekitio/models/custom_metadata_field.rb +243 -0
  57. data/lib/imagekitio/models/custom_metadata_field_create_params.rb +238 -0
  58. data/lib/imagekitio/models/custom_metadata_field_delete_params.rb +14 -0
  59. data/lib/imagekitio/models/custom_metadata_field_delete_response.rb +10 -0
  60. data/lib/imagekitio/models/custom_metadata_field_list_params.rb +36 -0
  61. data/lib/imagekitio/models/custom_metadata_field_list_response.rb +9 -0
  62. data/lib/imagekitio/models/custom_metadata_field_update_params.rb +212 -0
  63. data/lib/imagekitio/models/extensions.rb +136 -0
  64. data/lib/imagekitio/models/file.rb +497 -0
  65. data/lib/imagekitio/models/file_copy_params.rb +43 -0
  66. data/lib/imagekitio/models/file_copy_response.rb +10 -0
  67. data/lib/imagekitio/models/file_delete_params.rb +14 -0
  68. data/lib/imagekitio/models/file_get_params.rb +14 -0
  69. data/lib/imagekitio/models/file_move_params.rb +33 -0
  70. data/lib/imagekitio/models/file_move_response.rb +10 -0
  71. data/lib/imagekitio/models/file_rename_params.rb +61 -0
  72. data/lib/imagekitio/models/file_rename_response.rb +21 -0
  73. data/lib/imagekitio/models/file_update_params.rb +22 -0
  74. data/lib/imagekitio/models/file_update_response.rb +104 -0
  75. data/lib/imagekitio/models/file_upload_params.rb +540 -0
  76. data/lib/imagekitio/models/file_upload_response.rb +611 -0
  77. data/lib/imagekitio/models/files/bulk_add_tags_params.rb +35 -0
  78. data/lib/imagekitio/models/files/bulk_add_tags_response.rb +24 -0
  79. data/lib/imagekitio/models/files/bulk_delete_params.rb +27 -0
  80. data/lib/imagekitio/models/files/bulk_delete_response.rb +24 -0
  81. data/lib/imagekitio/models/files/bulk_remove_ai_tags_params.rb +35 -0
  82. data/lib/imagekitio/models/files/bulk_remove_ai_tags_response.rb +24 -0
  83. data/lib/imagekitio/models/files/bulk_remove_tags_params.rb +35 -0
  84. data/lib/imagekitio/models/files/bulk_remove_tags_response.rb +24 -0
  85. data/lib/imagekitio/models/files/metadata_get_from_url_params.rb +28 -0
  86. data/lib/imagekitio/models/files/metadata_get_params.rb +16 -0
  87. data/lib/imagekitio/models/files/version_delete_params.rb +22 -0
  88. data/lib/imagekitio/models/files/version_delete_response.rb +12 -0
  89. data/lib/imagekitio/models/files/version_get_params.rb +22 -0
  90. data/lib/imagekitio/models/files/version_list_params.rb +16 -0
  91. data/lib/imagekitio/models/files/version_list_response.rb +10 -0
  92. data/lib/imagekitio/models/files/version_restore_params.rb +22 -0
  93. data/lib/imagekitio/models/folder.rb +76 -0
  94. data/lib/imagekitio/models/folder_copy_params.rb +44 -0
  95. data/lib/imagekitio/models/folder_copy_response.rb +23 -0
  96. data/lib/imagekitio/models/folder_create_params.rb +43 -0
  97. data/lib/imagekitio/models/folder_create_response.rb +10 -0
  98. data/lib/imagekitio/models/folder_delete_params.rb +25 -0
  99. data/lib/imagekitio/models/folder_delete_response.rb +10 -0
  100. data/lib/imagekitio/models/folder_move_params.rb +34 -0
  101. data/lib/imagekitio/models/folder_move_response.rb +23 -0
  102. data/lib/imagekitio/models/folder_rename_params.rb +59 -0
  103. data/lib/imagekitio/models/folder_rename_response.rb +23 -0
  104. data/lib/imagekitio/models/folders/job_get_params.rb +16 -0
  105. data/lib/imagekitio/models/folders/job_get_response.rb +74 -0
  106. data/lib/imagekitio/models/get_image_attributes_options.rb +68 -0
  107. data/lib/imagekitio/models/image_overlay.rb +66 -0
  108. data/lib/imagekitio/models/metadata.rb +483 -0
  109. data/lib/imagekitio/models/overlay.rb +28 -0
  110. data/lib/imagekitio/models/overlay_position.rb +101 -0
  111. data/lib/imagekitio/models/overlay_timing.rb +97 -0
  112. data/lib/imagekitio/models/responsive_image_attributes.rb +48 -0
  113. data/lib/imagekitio/models/solid_color_overlay.rb +42 -0
  114. data/lib/imagekitio/models/solid_color_overlay_transformation.rb +135 -0
  115. data/lib/imagekitio/models/src_options.rb +96 -0
  116. data/lib/imagekitio/models/streaming_resolution.rb +22 -0
  117. data/lib/imagekitio/models/subtitle_overlay.rb +64 -0
  118. data/lib/imagekitio/models/subtitle_overlay_transformation.rb +113 -0
  119. data/lib/imagekitio/models/text_overlay.rb +65 -0
  120. data/lib/imagekitio/models/text_overlay_transformation.rb +267 -0
  121. data/lib/imagekitio/models/transformation.rb +1100 -0
  122. data/lib/imagekitio/models/transformation_position.rb +19 -0
  123. data/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb +36 -0
  124. data/lib/imagekitio/models/unwrap_webhook_event.rb +36 -0
  125. data/lib/imagekitio/models/update_file_request.rb +164 -0
  126. data/lib/imagekitio/models/upload_post_transform_error_event.rb +180 -0
  127. data/lib/imagekitio/models/upload_post_transform_success_event.rb +143 -0
  128. data/lib/imagekitio/models/upload_pre_transform_error_event.rb +108 -0
  129. data/lib/imagekitio/models/upload_pre_transform_success_event.rb +690 -0
  130. data/lib/imagekitio/models/video_overlay.rb +64 -0
  131. data/lib/imagekitio/models/video_transformation_accepted_event.rb +279 -0
  132. data/lib/imagekitio/models/video_transformation_error_event.rb +326 -0
  133. data/lib/imagekitio/models/video_transformation_ready_event.rb +379 -0
  134. data/lib/imagekitio/models/webhook_unsafe_unwrap_params.rb +14 -0
  135. data/lib/imagekitio/models/webhook_unwrap_params.rb +14 -0
  136. data/lib/imagekitio/models.rb +160 -0
  137. data/lib/imagekitio/request_options.rb +77 -0
  138. data/lib/imagekitio/resources/accounts/origins.rb +145 -0
  139. data/lib/imagekitio/resources/accounts/url_endpoints.rb +151 -0
  140. data/lib/imagekitio/resources/accounts/usage.rb +46 -0
  141. data/lib/imagekitio/resources/accounts.rb +26 -0
  142. data/lib/imagekitio/resources/assets.rb +54 -0
  143. data/lib/imagekitio/resources/beta/v2/files.rb +110 -0
  144. data/lib/imagekitio/resources/beta/v2.rb +20 -0
  145. data/lib/imagekitio/resources/beta.rb +18 -0
  146. data/lib/imagekitio/resources/cache/invalidation.rb +66 -0
  147. data/lib/imagekitio/resources/cache.rb +18 -0
  148. data/lib/imagekitio/resources/custom_metadata_fields.rb +133 -0
  149. data/lib/imagekitio/resources/files/bulk.rb +131 -0
  150. data/lib/imagekitio/resources/files/metadata.rb +69 -0
  151. data/lib/imagekitio/resources/files/versions.rb +132 -0
  152. data/lib/imagekitio/resources/files.rb +305 -0
  153. data/lib/imagekitio/resources/folders/job.rb +39 -0
  154. data/lib/imagekitio/resources/folders.rb +166 -0
  155. data/lib/imagekitio/resources/webhooks.rb +30 -0
  156. data/lib/imagekitio/version.rb +5 -0
  157. data/lib/imagekitio.rb +181 -13
  158. data/manifest.yaml +15 -0
  159. data/rbi/imagekitio/client.rbi +92 -0
  160. data/rbi/imagekitio/errors.rbi +205 -0
  161. data/rbi/imagekitio/file_part.rbi +37 -0
  162. data/rbi/imagekitio/helpers/helper.rbi +41 -0
  163. data/rbi/imagekitio/internal/transport/base_client.rbi +295 -0
  164. data/rbi/imagekitio/internal/transport/pooled_net_requester.rbi +80 -0
  165. data/rbi/imagekitio/internal/type/array_of.rbi +104 -0
  166. data/rbi/imagekitio/internal/type/base_model.rbi +304 -0
  167. data/rbi/imagekitio/internal/type/base_page.rbi +42 -0
  168. data/rbi/imagekitio/internal/type/boolean.rbi +58 -0
  169. data/rbi/imagekitio/internal/type/converter.rbi +216 -0
  170. data/rbi/imagekitio/internal/type/enum.rbi +82 -0
  171. data/rbi/imagekitio/internal/type/file_input.rbi +59 -0
  172. data/rbi/imagekitio/internal/type/hash_of.rbi +104 -0
  173. data/rbi/imagekitio/internal/type/request_parameters.rbi +29 -0
  174. data/rbi/imagekitio/internal/type/union.rbi +128 -0
  175. data/rbi/imagekitio/internal/type/unknown.rbi +58 -0
  176. data/rbi/imagekitio/internal/util.rbi +487 -0
  177. data/rbi/imagekitio/internal.rbi +18 -0
  178. data/rbi/imagekitio/models/accounts/origin_create_params.rbi +81 -0
  179. data/rbi/imagekitio/models/accounts/origin_delete_params.rbi +34 -0
  180. data/rbi/imagekitio/models/accounts/origin_get_params.rbi +34 -0
  181. data/rbi/imagekitio/models/accounts/origin_list_params.rbi +34 -0
  182. data/rbi/imagekitio/models/accounts/origin_list_response.rbi +15 -0
  183. data/rbi/imagekitio/models/accounts/origin_request.rbi +775 -0
  184. data/rbi/imagekitio/models/accounts/origin_response.rbi +718 -0
  185. data/rbi/imagekitio/models/accounts/origin_update_params.rbi +81 -0
  186. data/rbi/imagekitio/models/accounts/url_endpoint_create_params.rbi +34 -0
  187. data/rbi/imagekitio/models/accounts/url_endpoint_delete_params.rbi +34 -0
  188. data/rbi/imagekitio/models/accounts/url_endpoint_get_params.rbi +34 -0
  189. data/rbi/imagekitio/models/accounts/url_endpoint_list_params.rbi +34 -0
  190. data/rbi/imagekitio/models/accounts/url_endpoint_list_response.rbi +15 -0
  191. data/rbi/imagekitio/models/accounts/url_endpoint_request.rbi +218 -0
  192. data/rbi/imagekitio/models/accounts/url_endpoint_response.rbi +213 -0
  193. data/rbi/imagekitio/models/accounts/url_endpoint_update_params.rbi +34 -0
  194. data/rbi/imagekitio/models/accounts/usage_get_params.rbi +60 -0
  195. data/rbi/imagekitio/models/accounts/usage_get_response.rbi +89 -0
  196. data/rbi/imagekitio/models/asset_list_params.rbi +281 -0
  197. data/rbi/imagekitio/models/asset_list_response.rbi +28 -0
  198. data/rbi/imagekitio/models/base_overlay.rbi +44 -0
  199. data/rbi/imagekitio/models/base_webhook_event.rbi +33 -0
  200. data/rbi/imagekitio/models/beta/v2/file_upload_params.rbi +861 -0
  201. data/rbi/imagekitio/models/beta/v2/file_upload_response.rbi +1197 -0
  202. data/rbi/imagekitio/models/cache/invalidation_create_params.rbi +45 -0
  203. data/rbi/imagekitio/models/cache/invalidation_create_response.rbi +37 -0
  204. data/rbi/imagekitio/models/cache/invalidation_get_params.rbi +34 -0
  205. data/rbi/imagekitio/models/cache/invalidation_get_response.rbi +93 -0
  206. data/rbi/imagekitio/models/custom_metadata_field.rbi +422 -0
  207. data/rbi/imagekitio/models/custom_metadata_field_create_params.rbi +443 -0
  208. data/rbi/imagekitio/models/custom_metadata_field_delete_params.rbi +30 -0
  209. data/rbi/imagekitio/models/custom_metadata_field_delete_response.rbi +23 -0
  210. data/rbi/imagekitio/models/custom_metadata_field_list_params.rbi +66 -0
  211. data/rbi/imagekitio/models/custom_metadata_field_list_response.rbi +11 -0
  212. data/rbi/imagekitio/models/custom_metadata_field_update_params.rbi +376 -0
  213. data/rbi/imagekitio/models/extensions.rbi +274 -0
  214. data/rbi/imagekitio/models/file.rbi +789 -0
  215. data/rbi/imagekitio/models/file_copy_params.rbi +66 -0
  216. data/rbi/imagekitio/models/file_copy_response.rbi +23 -0
  217. data/rbi/imagekitio/models/file_delete_params.rbi +27 -0
  218. data/rbi/imagekitio/models/file_get_params.rbi +27 -0
  219. data/rbi/imagekitio/models/file_move_params.rbi +51 -0
  220. data/rbi/imagekitio/models/file_move_response.rbi +23 -0
  221. data/rbi/imagekitio/models/file_rename_params.rbi +102 -0
  222. data/rbi/imagekitio/models/file_rename_response.rbi +35 -0
  223. data/rbi/imagekitio/models/file_update_params.rbi +58 -0
  224. data/rbi/imagekitio/models/file_update_response.rbi +322 -0
  225. data/rbi/imagekitio/models/file_upload_params.rbi +897 -0
  226. data/rbi/imagekitio/models/file_upload_response.rbi +1176 -0
  227. data/rbi/imagekitio/models/files/bulk_add_tags_params.rbi +56 -0
  228. data/rbi/imagekitio/models/files/bulk_add_tags_response.rbi +41 -0
  229. data/rbi/imagekitio/models/files/bulk_delete_params.rbi +48 -0
  230. data/rbi/imagekitio/models/files/bulk_delete_response.rbi +41 -0
  231. data/rbi/imagekitio/models/files/bulk_remove_ai_tags_params.rbi +56 -0
  232. data/rbi/imagekitio/models/files/bulk_remove_ai_tags_response.rbi +41 -0
  233. data/rbi/imagekitio/models/files/bulk_remove_tags_params.rbi +56 -0
  234. data/rbi/imagekitio/models/files/bulk_remove_tags_response.rbi +41 -0
  235. data/rbi/imagekitio/models/files/metadata_get_from_url_params.rbi +47 -0
  236. data/rbi/imagekitio/models/files/metadata_get_params.rbi +34 -0
  237. data/rbi/imagekitio/models/files/version_delete_params.rbi +40 -0
  238. data/rbi/imagekitio/models/files/version_delete_response.rbi +25 -0
  239. data/rbi/imagekitio/models/files/version_get_params.rbi +40 -0
  240. data/rbi/imagekitio/models/files/version_list_params.rbi +34 -0
  241. data/rbi/imagekitio/models/files/version_list_response.rbi +13 -0
  242. data/rbi/imagekitio/models/files/version_restore_params.rbi +40 -0
  243. data/rbi/imagekitio/models/folder.rbi +121 -0
  244. data/rbi/imagekitio/models/folder_copy_params.rbi +68 -0
  245. data/rbi/imagekitio/models/folder_copy_response.rbi +33 -0
  246. data/rbi/imagekitio/models/folder_create_params.rbi +71 -0
  247. data/rbi/imagekitio/models/folder_create_response.rbi +23 -0
  248. data/rbi/imagekitio/models/folder_delete_params.rbi +40 -0
  249. data/rbi/imagekitio/models/folder_delete_response.rbi +23 -0
  250. data/rbi/imagekitio/models/folder_move_params.rbi +53 -0
  251. data/rbi/imagekitio/models/folder_move_response.rbi +33 -0
  252. data/rbi/imagekitio/models/folder_rename_params.rbi +98 -0
  253. data/rbi/imagekitio/models/folder_rename_response.rbi +33 -0
  254. data/rbi/imagekitio/models/folders/job_get_params.rbi +34 -0
  255. data/rbi/imagekitio/models/folders/job_get_response.rbi +173 -0
  256. data/rbi/imagekitio/models/get_image_attributes_options.rbi +121 -0
  257. data/rbi/imagekitio/models/image_overlay.rbi +109 -0
  258. data/rbi/imagekitio/models/metadata.rbi +813 -0
  259. data/rbi/imagekitio/models/overlay.rbi +28 -0
  260. data/rbi/imagekitio/models/overlay_position.rbi +148 -0
  261. data/rbi/imagekitio/models/overlay_timing.rbi +135 -0
  262. data/rbi/imagekitio/models/responsive_image_attributes.rbi +74 -0
  263. data/rbi/imagekitio/models/solid_color_overlay.rbi +79 -0
  264. data/rbi/imagekitio/models/solid_color_overlay_transformation.rbi +218 -0
  265. data/rbi/imagekitio/models/src_options.rbi +159 -0
  266. data/rbi/imagekitio/models/streaming_resolution.rbi +38 -0
  267. data/rbi/imagekitio/models/subtitle_overlay.rbi +114 -0
  268. data/rbi/imagekitio/models/subtitle_overlay_transformation.rbi +215 -0
  269. data/rbi/imagekitio/models/text_overlay.rbi +110 -0
  270. data/rbi/imagekitio/models/text_overlay_transformation.rbi +451 -0
  271. data/rbi/imagekitio/models/transformation.rbi +1646 -0
  272. data/rbi/imagekitio/models/transformation_position.rbi +28 -0
  273. data/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi +33 -0
  274. data/rbi/imagekitio/models/unwrap_webhook_event.rbi +31 -0
  275. data/rbi/imagekitio/models/update_file_request.rbi +316 -0
  276. data/rbi/imagekitio/models/upload_post_transform_error_event.rbi +434 -0
  277. data/rbi/imagekitio/models/upload_post_transform_success_event.rbi +327 -0
  278. data/rbi/imagekitio/models/upload_pre_transform_error_event.rbi +244 -0
  279. data/rbi/imagekitio/models/upload_pre_transform_success_event.rbi +1300 -0
  280. data/rbi/imagekitio/models/video_overlay.rbi +105 -0
  281. data/rbi/imagekitio/models/video_transformation_accepted_event.rbi +659 -0
  282. data/rbi/imagekitio/models/video_transformation_error_event.rbi +772 -0
  283. data/rbi/imagekitio/models/video_transformation_ready_event.rbi +864 -0
  284. data/rbi/imagekitio/models/webhook_unsafe_unwrap_params.rbi +30 -0
  285. data/rbi/imagekitio/models/webhook_unwrap_params.rbi +27 -0
  286. data/rbi/imagekitio/models.rbi +135 -0
  287. data/rbi/imagekitio/request_options.rbi +59 -0
  288. data/rbi/imagekitio/resources/accounts/origins.rbi +91 -0
  289. data/rbi/imagekitio/resources/accounts/url_endpoints.rbi +129 -0
  290. data/rbi/imagekitio/resources/accounts/usage.rbi +36 -0
  291. data/rbi/imagekitio/resources/accounts.rbi +21 -0
  292. data/rbi/imagekitio/resources/assets.rbi +74 -0
  293. data/rbi/imagekitio/resources/beta/v2/files.rbi +193 -0
  294. data/rbi/imagekitio/resources/beta/v2.rbi +17 -0
  295. data/rbi/imagekitio/resources/beta.rbi +15 -0
  296. data/rbi/imagekitio/resources/cache/invalidation.rbi +44 -0
  297. data/rbi/imagekitio/resources/cache.rbi +15 -0
  298. data/rbi/imagekitio/resources/custom_metadata_fields.rbi +106 -0
  299. data/rbi/imagekitio/resources/files/bulk.rbi +88 -0
  300. data/rbi/imagekitio/resources/files/metadata.rbi +49 -0
  301. data/rbi/imagekitio/resources/files/versions.rbi +89 -0
  302. data/rbi/imagekitio/resources/files.rbi +364 -0
  303. data/rbi/imagekitio/resources/folders/job.rbi +29 -0
  304. data/rbi/imagekitio/resources/folders.rbi +146 -0
  305. data/rbi/imagekitio/resources/webhooks.rbi +50 -0
  306. data/rbi/imagekitio/version.rbi +5 -0
  307. data/sig/imagekitio/client.rbs +47 -0
  308. data/sig/imagekitio/errors.rbs +117 -0
  309. data/sig/imagekitio/file_part.rbs +21 -0
  310. data/sig/imagekitio/helpers/helper.rbs +24 -0
  311. data/sig/imagekitio/internal/transport/base_client.rbs +131 -0
  312. data/sig/imagekitio/internal/transport/pooled_net_requester.rbs +45 -0
  313. data/sig/imagekitio/internal/type/array_of.rbs +48 -0
  314. data/sig/imagekitio/internal/type/base_model.rbs +102 -0
  315. data/sig/imagekitio/internal/type/base_page.rbs +24 -0
  316. data/sig/imagekitio/internal/type/boolean.rbs +26 -0
  317. data/sig/imagekitio/internal/type/converter.rbs +79 -0
  318. data/sig/imagekitio/internal/type/enum.rbs +32 -0
  319. data/sig/imagekitio/internal/type/file_input.rbs +25 -0
  320. data/sig/imagekitio/internal/type/hash_of.rbs +48 -0
  321. data/sig/imagekitio/internal/type/request_parameters.rbs +19 -0
  322. data/sig/imagekitio/internal/type/union.rbs +52 -0
  323. data/sig/imagekitio/internal/type/unknown.rbs +26 -0
  324. data/sig/imagekitio/internal/util.rbs +185 -0
  325. data/sig/imagekitio/internal.rbs +9 -0
  326. data/sig/imagekitio/models/accounts/origin_create_params.rbs +30 -0
  327. data/sig/imagekitio/models/accounts/origin_delete_params.rbs +17 -0
  328. data/sig/imagekitio/models/accounts/origin_get_params.rbs +17 -0
  329. data/sig/imagekitio/models/accounts/origin_list_params.rbs +17 -0
  330. data/sig/imagekitio/models/accounts/origin_list_response.rbs +10 -0
  331. data/sig/imagekitio/models/accounts/origin_request.rbs +468 -0
  332. data/sig/imagekitio/models/accounts/origin_response.rbs +418 -0
  333. data/sig/imagekitio/models/accounts/origin_update_params.rbs +30 -0
  334. data/sig/imagekitio/models/accounts/url_endpoint_create_params.rbs +17 -0
  335. data/sig/imagekitio/models/accounts/url_endpoint_delete_params.rbs +17 -0
  336. data/sig/imagekitio/models/accounts/url_endpoint_get_params.rbs +17 -0
  337. data/sig/imagekitio/models/accounts/url_endpoint_list_params.rbs +17 -0
  338. data/sig/imagekitio/models/accounts/url_endpoint_list_response.rbs +10 -0
  339. data/sig/imagekitio/models/accounts/url_endpoint_request.rbs +97 -0
  340. data/sig/imagekitio/models/accounts/url_endpoint_response.rbs +96 -0
  341. data/sig/imagekitio/models/accounts/url_endpoint_update_params.rbs +17 -0
  342. data/sig/imagekitio/models/accounts/usage_get_params.rbs +30 -0
  343. data/sig/imagekitio/models/accounts/usage_get_response.rbs +52 -0
  344. data/sig/imagekitio/models/asset_list_params.rbs +138 -0
  345. data/sig/imagekitio/models/asset_list_response.rbs +16 -0
  346. data/sig/imagekitio/models/base_overlay.rbs +31 -0
  347. data/sig/imagekitio/models/base_webhook_event.rbs +15 -0
  348. data/sig/imagekitio/models/beta/v2/file_upload_params.rbs +310 -0
  349. data/sig/imagekitio/models/beta/v2/file_upload_response.rbs +487 -0
  350. data/sig/imagekitio/models/cache/invalidation_create_params.rbs +25 -0
  351. data/sig/imagekitio/models/cache/invalidation_create_response.rbs +17 -0
  352. data/sig/imagekitio/models/cache/invalidation_get_params.rbs +17 -0
  353. data/sig/imagekitio/models/cache/invalidation_get_response.rbs +35 -0
  354. data/sig/imagekitio/models/custom_metadata_field.rbs +178 -0
  355. data/sig/imagekitio/models/custom_metadata_field_create_params.rbs +179 -0
  356. data/sig/imagekitio/models/custom_metadata_field_delete_params.rbs +15 -0
  357. data/sig/imagekitio/models/custom_metadata_field_delete_response.rbs +11 -0
  358. data/sig/imagekitio/models/custom_metadata_field_list_params.rbs +32 -0
  359. data/sig/imagekitio/models/custom_metadata_field_list_response.rbs +8 -0
  360. data/sig/imagekitio/models/custom_metadata_field_update_params.rbs +152 -0
  361. data/sig/imagekitio/models/extensions.rbs +132 -0
  362. data/sig/imagekitio/models/file.rbs +384 -0
  363. data/sig/imagekitio/models/file_copy_params.rbs +38 -0
  364. data/sig/imagekitio/models/file_copy_response.rbs +11 -0
  365. data/sig/imagekitio/models/file_delete_params.rbs +15 -0
  366. data/sig/imagekitio/models/file_get_params.rbs +14 -0
  367. data/sig/imagekitio/models/file_move_params.rbs +28 -0
  368. data/sig/imagekitio/models/file_move_response.rbs +11 -0
  369. data/sig/imagekitio/models/file_rename_params.rbs +34 -0
  370. data/sig/imagekitio/models/file_rename_response.rbs +15 -0
  371. data/sig/imagekitio/models/file_update_params.rbs +28 -0
  372. data/sig/imagekitio/models/file_update_response.rbs +120 -0
  373. data/sig/imagekitio/models/file_upload_params.rbs +327 -0
  374. data/sig/imagekitio/models/file_upload_response.rbs +483 -0
  375. data/sig/imagekitio/models/files/bulk_add_tags_params.rbs +30 -0
  376. data/sig/imagekitio/models/files/bulk_add_tags_response.rbs +20 -0
  377. data/sig/imagekitio/models/files/bulk_delete_params.rbs +26 -0
  378. data/sig/imagekitio/models/files/bulk_delete_response.rbs +20 -0
  379. data/sig/imagekitio/models/files/bulk_remove_ai_tags_params.rbs +30 -0
  380. data/sig/imagekitio/models/files/bulk_remove_ai_tags_response.rbs +20 -0
  381. data/sig/imagekitio/models/files/bulk_remove_tags_params.rbs +30 -0
  382. data/sig/imagekitio/models/files/bulk_remove_tags_response.rbs +20 -0
  383. data/sig/imagekitio/models/files/metadata_get_from_url_params.rbs +25 -0
  384. data/sig/imagekitio/models/files/metadata_get_params.rbs +17 -0
  385. data/sig/imagekitio/models/files/version_delete_params.rbs +25 -0
  386. data/sig/imagekitio/models/files/version_delete_response.rbs +13 -0
  387. data/sig/imagekitio/models/files/version_get_params.rbs +25 -0
  388. data/sig/imagekitio/models/files/version_list_params.rbs +17 -0
  389. data/sig/imagekitio/models/files/version_list_response.rbs +9 -0
  390. data/sig/imagekitio/models/files/version_restore_params.rbs +25 -0
  391. data/sig/imagekitio/models/folder.rbs +69 -0
  392. data/sig/imagekitio/models/folder_copy_params.rbs +38 -0
  393. data/sig/imagekitio/models/folder_copy_response.rbs +13 -0
  394. data/sig/imagekitio/models/folder_create_params.rbs +28 -0
  395. data/sig/imagekitio/models/folder_create_response.rbs +11 -0
  396. data/sig/imagekitio/models/folder_delete_params.rbs +23 -0
  397. data/sig/imagekitio/models/folder_delete_response.rbs +11 -0
  398. data/sig/imagekitio/models/folder_move_params.rbs +28 -0
  399. data/sig/imagekitio/models/folder_move_response.rbs +13 -0
  400. data/sig/imagekitio/models/folder_rename_params.rbs +34 -0
  401. data/sig/imagekitio/models/folder_rename_response.rbs +13 -0
  402. data/sig/imagekitio/models/folders/job_get_params.rbs +17 -0
  403. data/sig/imagekitio/models/folders/job_get_response.rbs +72 -0
  404. data/sig/imagekitio/models/get_image_attributes_options.rbs +43 -0
  405. data/sig/imagekitio/models/image_overlay.rbs +59 -0
  406. data/sig/imagekitio/models/metadata.rbs +546 -0
  407. data/sig/imagekitio/models/overlay.rbs +16 -0
  408. data/sig/imagekitio/models/overlay_position.rbs +85 -0
  409. data/sig/imagekitio/models/overlay_timing.rbs +66 -0
  410. data/sig/imagekitio/models/responsive_image_attributes.rbs +36 -0
  411. data/sig/imagekitio/models/solid_color_overlay.rbs +38 -0
  412. data/sig/imagekitio/models/solid_color_overlay_transformation.rbs +97 -0
  413. data/sig/imagekitio/models/src_options.rbs +64 -0
  414. data/sig/imagekitio/models/streaming_resolution.rbs +20 -0
  415. data/sig/imagekitio/models/subtitle_overlay.rbs +59 -0
  416. data/sig/imagekitio/models/subtitle_overlay_transformation.rbs +78 -0
  417. data/sig/imagekitio/models/text_overlay.rbs +59 -0
  418. data/sig/imagekitio/models/text_overlay_transformation.rbs +195 -0
  419. data/sig/imagekitio/models/transformation.rbs +763 -0
  420. data/sig/imagekitio/models/transformation_position.rbs +14 -0
  421. data/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs +18 -0
  422. data/sig/imagekitio/models/unwrap_webhook_event.rbs +18 -0
  423. data/sig/imagekitio/models/update_file_request.rbs +122 -0
  424. data/sig/imagekitio/models/upload_post_transform_error_event.rbs +192 -0
  425. data/sig/imagekitio/models/upload_post_transform_success_event.rbs +142 -0
  426. data/sig/imagekitio/models/upload_pre_transform_error_event.rbs +115 -0
  427. data/sig/imagekitio/models/upload_pre_transform_success_event.rbs +541 -0
  428. data/sig/imagekitio/models/video_overlay.rbs +59 -0
  429. data/sig/imagekitio/models/video_transformation_accepted_event.rbs +261 -0
  430. data/sig/imagekitio/models/video_transformation_error_event.rbs +300 -0
  431. data/sig/imagekitio/models/video_transformation_ready_event.rbs +359 -0
  432. data/sig/imagekitio/models/webhook_unsafe_unwrap_params.rbs +15 -0
  433. data/sig/imagekitio/models/webhook_unwrap_params.rbs +15 -0
  434. data/sig/imagekitio/models.rbs +119 -0
  435. data/sig/imagekitio/request_options.rbs +36 -0
  436. data/sig/imagekitio/resources/accounts/origins.rbs +34 -0
  437. data/sig/imagekitio/resources/accounts/url_endpoints.rbs +40 -0
  438. data/sig/imagekitio/resources/accounts/usage.rbs +15 -0
  439. data/sig/imagekitio/resources/accounts.rbs +13 -0
  440. data/sig/imagekitio/resources/assets.rbs +18 -0
  441. data/sig/imagekitio/resources/beta/v2/files.rbs +35 -0
  442. data/sig/imagekitio/resources/beta/v2.rbs +11 -0
  443. data/sig/imagekitio/resources/beta.rbs +9 -0
  444. data/sig/imagekitio/resources/cache/invalidation.rbs +19 -0
  445. data/sig/imagekitio/resources/cache.rbs +9 -0
  446. data/sig/imagekitio/resources/custom_metadata_fields.rbs +32 -0
  447. data/sig/imagekitio/resources/files/bulk.rbs +32 -0
  448. data/sig/imagekitio/resources/files/metadata.rbs +19 -0
  449. data/sig/imagekitio/resources/files/versions.rbs +32 -0
  450. data/sig/imagekitio/resources/files.rbs +76 -0
  451. data/sig/imagekitio/resources/folders/job.rbs +14 -0
  452. data/sig/imagekitio/resources/folders.rbs +40 -0
  453. data/sig/imagekitio/resources/webhooks.rbs +27 -0
  454. data/sig/imagekitio/version.rbs +3 -0
  455. metadata +470 -136
  456. data/Rakefile +0 -27
  457. data/lib/active_storage/active_storage.rb +0 -7
  458. data/lib/active_storage/service/ik_file.rb +0 -115
  459. data/lib/active_storage/service/image_kit_io_service.rb +0 -188
  460. data/lib/carrierwave/carrierwave.rb +0 -83
  461. data/lib/carrierwave/storage/ik_file.rb +0 -51
  462. data/lib/carrierwave/storage/imagekit_store.rb +0 -68
  463. data/lib/carrierwave/support/uri_filename.rb +0 -12
  464. data/lib/imagekitio/api_service/bulk.rb +0 -58
  465. data/lib/imagekitio/api_service/custom_metadata_field.rb +0 -52
  466. data/lib/imagekitio/api_service/file.rb +0 -221
  467. data/lib/imagekitio/api_service/folder.rb +0 -49
  468. data/lib/imagekitio/base.rb +0 -12
  469. data/lib/imagekitio/configurable.rb +0 -43
  470. data/lib/imagekitio/constant.rb +0 -36
  471. data/lib/imagekitio/constants/default.rb +0 -22
  472. data/lib/imagekitio/constants/error.rb +0 -69
  473. data/lib/imagekitio/constants/file.rb +0 -11
  474. data/lib/imagekitio/constants/supported_transformation.rb +0 -39
  475. data/lib/imagekitio/constants/url.rb +0 -14
  476. data/lib/imagekitio/railtie.rb +0 -4
  477. data/lib/imagekitio/request.rb +0 -98
  478. data/lib/imagekitio/sdk/version.rb +0 -5
  479. data/lib/imagekitio/url.rb +0 -216
  480. data/lib/imagekitio/utils/calculation.rb +0 -45
  481. data/lib/imagekitio/utils/formatter.rb +0 -48
  482. data/lib/imagekitio/utils/option_validator.rb +0 -36
  483. data/lib/tasks/imagekitio/imagekitio_tasks.rake +0 -4
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Resources
5
+ class CustomMetadataFields
6
+ # Some parameter documentations has been truncated, see
7
+ # {Imagekitio::Models::CustomMetadataFieldCreateParams} for more details.
8
+ #
9
+ # This API creates a new custom metadata field. Once a custom metadata field is
10
+ # created either through this API or using the dashboard UI, its value can be set
11
+ # on the assets. The value of a field for an asset can be set using the media
12
+ # library UI or programmatically through upload or update assets API.
13
+ #
14
+ # @overload create(label:, name:, schema:, request_options: {})
15
+ #
16
+ # @param label [String] Human readable name of the custom metadata field. This should be unique across a
17
+ #
18
+ # @param name [String] API name of the custom metadata field. This should be unique across all (includi
19
+ #
20
+ # @param schema [Imagekitio::Models::CustomMetadataFieldCreateParams::Schema]
21
+ #
22
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
23
+ #
24
+ # @return [Imagekitio::Models::CustomMetadataField]
25
+ #
26
+ # @see Imagekitio::Models::CustomMetadataFieldCreateParams
27
+ def create(params)
28
+ parsed, options = Imagekitio::CustomMetadataFieldCreateParams.dump_request(params)
29
+ @client.request(
30
+ method: :post,
31
+ path: "v1/customMetadataFields",
32
+ body: parsed,
33
+ model: Imagekitio::CustomMetadataField,
34
+ options: options
35
+ )
36
+ end
37
+
38
+ # Some parameter documentations has been truncated, see
39
+ # {Imagekitio::Models::CustomMetadataFieldUpdateParams} for more details.
40
+ #
41
+ # This API updates the label or schema of an existing custom metadata field.
42
+ #
43
+ # @overload update(id, label: nil, schema: nil, request_options: {})
44
+ #
45
+ # @param id [String] Should be a valid custom metadata field id.
46
+ #
47
+ # @param label [String] Human readable name of the custom metadata field. This should be unique across a
48
+ #
49
+ # @param schema [Imagekitio::Models::CustomMetadataFieldUpdateParams::Schema] An object that describes the rules for the custom metadata key. This parameter i
50
+ #
51
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
52
+ #
53
+ # @return [Imagekitio::Models::CustomMetadataField]
54
+ #
55
+ # @see Imagekitio::Models::CustomMetadataFieldUpdateParams
56
+ def update(id, params = {})
57
+ parsed, options = Imagekitio::CustomMetadataFieldUpdateParams.dump_request(params)
58
+ @client.request(
59
+ method: :patch,
60
+ path: ["v1/customMetadataFields/%1$s", id],
61
+ body: parsed,
62
+ model: Imagekitio::CustomMetadataField,
63
+ options: options
64
+ )
65
+ end
66
+
67
+ # Some parameter documentations has been truncated, see
68
+ # {Imagekitio::Models::CustomMetadataFieldListParams} for more details.
69
+ #
70
+ # This API returns the array of created custom metadata field objects. By default
71
+ # the API returns only non deleted field objects, but you can include deleted
72
+ # fields in the API response.
73
+ #
74
+ # You can also filter results by a specific folder path to retrieve custom
75
+ # metadata fields applicable at that location. This path-specific filtering is
76
+ # useful when using the **Path policy** feature to determine which custom metadata
77
+ # fields are selected for a given path.
78
+ #
79
+ # @overload list(folder_path: nil, include_deleted: nil, request_options: {})
80
+ #
81
+ # @param folder_path [String] The folder path (e.g., `/path/to/folder`) for which to retrieve applicable custo
82
+ #
83
+ # @param include_deleted [Boolean] Set it to `true` to include deleted field objects in the API response.
84
+ #
85
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
86
+ #
87
+ # @return [Array<Imagekitio::Models::CustomMetadataField>]
88
+ #
89
+ # @see Imagekitio::Models::CustomMetadataFieldListParams
90
+ def list(params = {})
91
+ parsed, options = Imagekitio::CustomMetadataFieldListParams.dump_request(params)
92
+ @client.request(
93
+ method: :get,
94
+ path: "v1/customMetadataFields",
95
+ query: parsed.transform_keys(folder_path: "folderPath", include_deleted: "includeDeleted"),
96
+ model: Imagekitio::Internal::Type::ArrayOf[Imagekitio::CustomMetadataField],
97
+ options: options
98
+ )
99
+ end
100
+
101
+ # Some parameter documentations has been truncated, see
102
+ # {Imagekitio::Models::CustomMetadataFieldDeleteParams} for more details.
103
+ #
104
+ # This API deletes a custom metadata field. Even after deleting a custom metadata
105
+ # field, you cannot create any new custom metadata field with the same name.
106
+ #
107
+ # @overload delete(id, request_options: {})
108
+ #
109
+ # @param id [String] Should be a valid custom metadata field id.
110
+ #
111
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
112
+ #
113
+ # @return [Imagekitio::Models::CustomMetadataFieldDeleteResponse]
114
+ #
115
+ # @see Imagekitio::Models::CustomMetadataFieldDeleteParams
116
+ def delete(id, params = {})
117
+ @client.request(
118
+ method: :delete,
119
+ path: ["v1/customMetadataFields/%1$s", id],
120
+ model: Imagekitio::Models::CustomMetadataFieldDeleteResponse,
121
+ options: params[:request_options]
122
+ )
123
+ end
124
+
125
+ # @api private
126
+ #
127
+ # @param client [Imagekitio::Client]
128
+ def initialize(client:)
129
+ @client = client
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,131 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Resources
5
+ class Files
6
+ class Bulk
7
+ # Some parameter documentations has been truncated, see
8
+ # {Imagekitio::Models::Files::BulkDeleteParams} for more details.
9
+ #
10
+ # This API deletes multiple files and all their file versions permanently.
11
+ #
12
+ # Note: If a file or specific transformation has been requested in the past, then
13
+ # the response is cached. Deleting a file does not purge the cache. You can purge
14
+ # the cache using purge cache API.
15
+ #
16
+ # A maximum of 100 files can be deleted at a time.
17
+ #
18
+ # @overload delete(file_ids:, request_options: {})
19
+ #
20
+ # @param file_ids [Array<String>] An array of fileIds which you want to delete.
21
+ #
22
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
23
+ #
24
+ # @return [Imagekitio::Models::Files::BulkDeleteResponse]
25
+ #
26
+ # @see Imagekitio::Models::Files::BulkDeleteParams
27
+ def delete(params)
28
+ parsed, options = Imagekitio::Files::BulkDeleteParams.dump_request(params)
29
+ @client.request(
30
+ method: :post,
31
+ path: "v1/files/batch/deleteByFileIds",
32
+ body: parsed,
33
+ model: Imagekitio::Models::Files::BulkDeleteResponse,
34
+ options: options
35
+ )
36
+ end
37
+
38
+ # Some parameter documentations has been truncated, see
39
+ # {Imagekitio::Models::Files::BulkAddTagsParams} for more details.
40
+ #
41
+ # This API adds tags to multiple files in bulk. A maximum of 50 files can be
42
+ # specified at a time.
43
+ #
44
+ # @overload add_tags(file_ids:, tags:, request_options: {})
45
+ #
46
+ # @param file_ids [Array<String>] An array of fileIds to which you want to add tags.
47
+ #
48
+ # @param tags [Array<String>] An array of tags that you want to add to the files.
49
+ #
50
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
51
+ #
52
+ # @return [Imagekitio::Models::Files::BulkAddTagsResponse]
53
+ #
54
+ # @see Imagekitio::Models::Files::BulkAddTagsParams
55
+ def add_tags(params)
56
+ parsed, options = Imagekitio::Files::BulkAddTagsParams.dump_request(params)
57
+ @client.request(
58
+ method: :post,
59
+ path: "v1/files/addTags",
60
+ body: parsed,
61
+ model: Imagekitio::Models::Files::BulkAddTagsResponse,
62
+ options: options
63
+ )
64
+ end
65
+
66
+ # Some parameter documentations has been truncated, see
67
+ # {Imagekitio::Models::Files::BulkRemoveAITagsParams} for more details.
68
+ #
69
+ # This API removes AITags from multiple files in bulk. A maximum of 50 files can
70
+ # be specified at a time.
71
+ #
72
+ # @overload remove_ai_tags(ai_tags:, file_ids:, request_options: {})
73
+ #
74
+ # @param ai_tags [Array<String>] An array of AITags that you want to remove from the files.
75
+ #
76
+ # @param file_ids [Array<String>] An array of fileIds from which you want to remove AITags.
77
+ #
78
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
79
+ #
80
+ # @return [Imagekitio::Models::Files::BulkRemoveAITagsResponse]
81
+ #
82
+ # @see Imagekitio::Models::Files::BulkRemoveAITagsParams
83
+ def remove_ai_tags(params)
84
+ parsed, options = Imagekitio::Files::BulkRemoveAITagsParams.dump_request(params)
85
+ @client.request(
86
+ method: :post,
87
+ path: "v1/files/removeAITags",
88
+ body: parsed,
89
+ model: Imagekitio::Models::Files::BulkRemoveAITagsResponse,
90
+ options: options
91
+ )
92
+ end
93
+
94
+ # Some parameter documentations has been truncated, see
95
+ # {Imagekitio::Models::Files::BulkRemoveTagsParams} for more details.
96
+ #
97
+ # This API removes tags from multiple files in bulk. A maximum of 50 files can be
98
+ # specified at a time.
99
+ #
100
+ # @overload remove_tags(file_ids:, tags:, request_options: {})
101
+ #
102
+ # @param file_ids [Array<String>] An array of fileIds from which you want to remove tags.
103
+ #
104
+ # @param tags [Array<String>] An array of tags that you want to remove from the files.
105
+ #
106
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
107
+ #
108
+ # @return [Imagekitio::Models::Files::BulkRemoveTagsResponse]
109
+ #
110
+ # @see Imagekitio::Models::Files::BulkRemoveTagsParams
111
+ def remove_tags(params)
112
+ parsed, options = Imagekitio::Files::BulkRemoveTagsParams.dump_request(params)
113
+ @client.request(
114
+ method: :post,
115
+ path: "v1/files/removeTags",
116
+ body: parsed,
117
+ model: Imagekitio::Models::Files::BulkRemoveTagsResponse,
118
+ options: options
119
+ )
120
+ end
121
+
122
+ # @api private
123
+ #
124
+ # @param client [Imagekitio::Client]
125
+ def initialize(client:)
126
+ @client = client
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Resources
5
+ class Files
6
+ class Metadata
7
+ # Some parameter documentations has been truncated, see
8
+ # {Imagekitio::Models::Files::MetadataGetParams} for more details.
9
+ #
10
+ # You can programmatically get image EXIF, pHash, and other metadata for uploaded
11
+ # files in the ImageKit.io media library using this API.
12
+ #
13
+ # You can also get the metadata in upload API response by passing `metadata` in
14
+ # `responseFields` parameter.
15
+ #
16
+ # @overload get(file_id, request_options: {})
17
+ #
18
+ # @param file_id [String] The unique `fileId` of the uploaded file. `fileId` is returned in the list and s
19
+ #
20
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
21
+ #
22
+ # @return [Imagekitio::Models::Metadata]
23
+ #
24
+ # @see Imagekitio::Models::Files::MetadataGetParams
25
+ def get(file_id, params = {})
26
+ @client.request(
27
+ method: :get,
28
+ path: ["v1/files/%1$s/metadata", file_id],
29
+ model: Imagekitio::Metadata,
30
+ options: params[:request_options]
31
+ )
32
+ end
33
+
34
+ # Some parameter documentations has been truncated, see
35
+ # {Imagekitio::Models::Files::MetadataGetFromURLParams} for more details.
36
+ #
37
+ # Get image EXIF, pHash, and other metadata from ImageKit.io powered remote URL
38
+ # using this API.
39
+ #
40
+ # @overload get_from_url(url:, request_options: {})
41
+ #
42
+ # @param url [String] Should be a valid file URL. It should be accessible using your ImageKit.io accou
43
+ #
44
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
45
+ #
46
+ # @return [Imagekitio::Models::Metadata]
47
+ #
48
+ # @see Imagekitio::Models::Files::MetadataGetFromURLParams
49
+ def get_from_url(params)
50
+ parsed, options = Imagekitio::Files::MetadataGetFromURLParams.dump_request(params)
51
+ @client.request(
52
+ method: :get,
53
+ path: "v1/files/metadata",
54
+ query: parsed,
55
+ model: Imagekitio::Metadata,
56
+ options: options
57
+ )
58
+ end
59
+
60
+ # @api private
61
+ #
62
+ # @param client [Imagekitio::Client]
63
+ def initialize(client:)
64
+ @client = client
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,132 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Resources
5
+ class Files
6
+ class Versions
7
+ # Some parameter documentations has been truncated, see
8
+ # {Imagekitio::Models::Files::VersionListParams} for more details.
9
+ #
10
+ # This API returns details of all versions of a file.
11
+ #
12
+ # @overload list(file_id, request_options: {})
13
+ #
14
+ # @param file_id [String] The unique `fileId` of the uploaded file. `fileId` is returned in list and searc
15
+ #
16
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [Array<Imagekitio::Models::File>]
19
+ #
20
+ # @see Imagekitio::Models::Files::VersionListParams
21
+ def list(file_id, params = {})
22
+ @client.request(
23
+ method: :get,
24
+ path: ["v1/files/%1$s/versions", file_id],
25
+ model: Imagekitio::Internal::Type::ArrayOf[Imagekitio::File],
26
+ options: params[:request_options]
27
+ )
28
+ end
29
+
30
+ # Some parameter documentations has been truncated, see
31
+ # {Imagekitio::Models::Files::VersionDeleteParams} for more details.
32
+ #
33
+ # This API deletes a non-current file version permanently. The API returns an
34
+ # empty response.
35
+ #
36
+ # Note: If you want to delete all versions of a file, use the delete file API.
37
+ #
38
+ # @overload delete(version_id, file_id:, request_options: {})
39
+ #
40
+ # @param version_id [String] The unique `versionId` of the uploaded file. `versionId` is returned in list and
41
+ #
42
+ # @param file_id [String] The unique `fileId` of the uploaded file. `fileId` is returned in list and searc
43
+ #
44
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
45
+ #
46
+ # @return [Imagekitio::Models::Files::VersionDeleteResponse]
47
+ #
48
+ # @see Imagekitio::Models::Files::VersionDeleteParams
49
+ def delete(version_id, params)
50
+ parsed, options = Imagekitio::Files::VersionDeleteParams.dump_request(params)
51
+ file_id =
52
+ parsed.delete(:file_id) do
53
+ raise ArgumentError.new("missing required path argument #{_1}")
54
+ end
55
+ @client.request(
56
+ method: :delete,
57
+ path: ["v1/files/%1$s/versions/%2$s", file_id, version_id],
58
+ model: Imagekitio::Models::Files::VersionDeleteResponse,
59
+ options: options
60
+ )
61
+ end
62
+
63
+ # Some parameter documentations has been truncated, see
64
+ # {Imagekitio::Models::Files::VersionGetParams} for more details.
65
+ #
66
+ # This API returns an object with details or attributes of a file version.
67
+ #
68
+ # @overload get(version_id, file_id:, request_options: {})
69
+ #
70
+ # @param version_id [String] The unique `versionId` of the uploaded file. `versionId` is returned in list and
71
+ #
72
+ # @param file_id [String] The unique `fileId` of the uploaded file. `fileId` is returned in list and searc
73
+ #
74
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
75
+ #
76
+ # @return [Imagekitio::Models::File]
77
+ #
78
+ # @see Imagekitio::Models::Files::VersionGetParams
79
+ def get(version_id, params)
80
+ parsed, options = Imagekitio::Files::VersionGetParams.dump_request(params)
81
+ file_id =
82
+ parsed.delete(:file_id) do
83
+ raise ArgumentError.new("missing required path argument #{_1}")
84
+ end
85
+ @client.request(
86
+ method: :get,
87
+ path: ["v1/files/%1$s/versions/%2$s", file_id, version_id],
88
+ model: Imagekitio::File,
89
+ options: options
90
+ )
91
+ end
92
+
93
+ # Some parameter documentations has been truncated, see
94
+ # {Imagekitio::Models::Files::VersionRestoreParams} for more details.
95
+ #
96
+ # This API restores a file version as the current file version.
97
+ #
98
+ # @overload restore(version_id, file_id:, request_options: {})
99
+ #
100
+ # @param version_id [String] The unique `versionId` of the uploaded file. `versionId` is returned in list and
101
+ #
102
+ # @param file_id [String] The unique `fileId` of the uploaded file. `fileId` is returned in list and searc
103
+ #
104
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
105
+ #
106
+ # @return [Imagekitio::Models::File]
107
+ #
108
+ # @see Imagekitio::Models::Files::VersionRestoreParams
109
+ def restore(version_id, params)
110
+ parsed, options = Imagekitio::Files::VersionRestoreParams.dump_request(params)
111
+ file_id =
112
+ parsed.delete(:file_id) do
113
+ raise ArgumentError.new("missing required path argument #{_1}")
114
+ end
115
+ @client.request(
116
+ method: :put,
117
+ path: ["v1/files/%1$s/versions/%2$s/restore", file_id, version_id],
118
+ model: Imagekitio::File,
119
+ options: options
120
+ )
121
+ end
122
+
123
+ # @api private
124
+ #
125
+ # @param client [Imagekitio::Client]
126
+ def initialize(client:)
127
+ @client = client
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end