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,305 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Resources
5
+ class Files
6
+ # @return [Imagekitio::Resources::Files::Bulk]
7
+ attr_reader :bulk
8
+
9
+ # @return [Imagekitio::Resources::Files::Versions]
10
+ attr_reader :versions
11
+
12
+ # @return [Imagekitio::Resources::Files::Metadata]
13
+ attr_reader :metadata
14
+
15
+ # Some parameter documentations has been truncated, see
16
+ # {Imagekitio::Models::FileUpdateParams} for more details.
17
+ #
18
+ # This API updates the details or attributes of the current version of the file.
19
+ # You can update `tags`, `customCoordinates`, `customMetadata`, publication
20
+ # status, remove existing `AITags` and apply extensions using this API.
21
+ #
22
+ # @overload update(file_id, update_file_request:, request_options: {})
23
+ #
24
+ # @param file_id [String] The unique `fileId` of the uploaded file. `fileId` is returned in list and searc
25
+ #
26
+ # @param update_file_request [Imagekitio::UpdateFileRequest] Schema for update file update request.
27
+ #
28
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
29
+ #
30
+ # @return [Imagekitio::Models::FileUpdateResponse]
31
+ #
32
+ # @see Imagekitio::Models::FileUpdateParams
33
+ def update(file_id, params)
34
+ parsed, options = Imagekitio::FileUpdateParams.dump_request(params)
35
+ case parsed
36
+ in {update_file_request: Hash => union, **rest}
37
+ parsed = {**rest, **union}
38
+ else
39
+ end
40
+ @client.request(
41
+ method: :patch,
42
+ path: ["v1/files/%1$s/details", file_id],
43
+ body: parsed,
44
+ model: Imagekitio::Models::FileUpdateResponse,
45
+ options: options
46
+ )
47
+ end
48
+
49
+ # Some parameter documentations has been truncated, see
50
+ # {Imagekitio::Models::FileDeleteParams} for more details.
51
+ #
52
+ # This API deletes the file and all its file versions permanently.
53
+ #
54
+ # Note: If a file or specific transformation has been requested in the past, then
55
+ # the response is cached. Deleting a file does not purge the cache. You can purge
56
+ # the cache using purge cache API.
57
+ #
58
+ # @overload delete(file_id, request_options: {})
59
+ #
60
+ # @param file_id [String] The unique `fileId` of the uploaded file. `fileId` is returned in list and searc
61
+ #
62
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
63
+ #
64
+ # @return [nil]
65
+ #
66
+ # @see Imagekitio::Models::FileDeleteParams
67
+ def delete(file_id, params = {})
68
+ @client.request(
69
+ method: :delete,
70
+ path: ["v1/files/%1$s", file_id],
71
+ model: NilClass,
72
+ options: params[:request_options]
73
+ )
74
+ end
75
+
76
+ # Some parameter documentations has been truncated, see
77
+ # {Imagekitio::Models::FileCopyParams} for more details.
78
+ #
79
+ # This will copy a file from one folder to another.
80
+ #
81
+ # Note: If any file at the destination has the same name as the source file, then
82
+ # the source file and its versions (if `includeFileVersions` is set to true) will
83
+ # be appended to the destination file version history.
84
+ #
85
+ # @overload copy(destination_path:, source_file_path:, include_file_versions: nil, request_options: {})
86
+ #
87
+ # @param destination_path [String] Full path to the folder you want to copy the above file into.
88
+ #
89
+ # @param source_file_path [String] The full path of the file you want to copy.
90
+ #
91
+ # @param include_file_versions [Boolean] Option to copy all versions of a file. By default, only the current version of t
92
+ #
93
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
94
+ #
95
+ # @return [Imagekitio::Models::FileCopyResponse]
96
+ #
97
+ # @see Imagekitio::Models::FileCopyParams
98
+ def copy(params)
99
+ parsed, options = Imagekitio::FileCopyParams.dump_request(params)
100
+ @client.request(
101
+ method: :post,
102
+ path: "v1/files/copy",
103
+ body: parsed,
104
+ model: Imagekitio::Models::FileCopyResponse,
105
+ options: options
106
+ )
107
+ end
108
+
109
+ # Some parameter documentations has been truncated, see
110
+ # {Imagekitio::Models::FileGetParams} for more details.
111
+ #
112
+ # This API returns an object with details or attributes about the current version
113
+ # of the file.
114
+ #
115
+ # @overload get(file_id, request_options: {})
116
+ #
117
+ # @param file_id [String] The unique `fileId` of the uploaded file. `fileId` is returned in the list and s
118
+ #
119
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
120
+ #
121
+ # @return [Imagekitio::Models::File]
122
+ #
123
+ # @see Imagekitio::Models::FileGetParams
124
+ def get(file_id, params = {})
125
+ @client.request(
126
+ method: :get,
127
+ path: ["v1/files/%1$s/details", file_id],
128
+ model: Imagekitio::File,
129
+ options: params[:request_options]
130
+ )
131
+ end
132
+
133
+ # Some parameter documentations has been truncated, see
134
+ # {Imagekitio::Models::FileMoveParams} for more details.
135
+ #
136
+ # This will move a file and all its versions from one folder to another.
137
+ #
138
+ # Note: If any file at the destination has the same name as the source file, then
139
+ # the source file and its versions will be appended to the destination file.
140
+ #
141
+ # @overload move(destination_path:, source_file_path:, request_options: {})
142
+ #
143
+ # @param destination_path [String] Full path to the folder you want to move the above file into.
144
+ #
145
+ # @param source_file_path [String] The full path of the file you want to move.
146
+ #
147
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
148
+ #
149
+ # @return [Imagekitio::Models::FileMoveResponse]
150
+ #
151
+ # @see Imagekitio::Models::FileMoveParams
152
+ def move(params)
153
+ parsed, options = Imagekitio::FileMoveParams.dump_request(params)
154
+ @client.request(
155
+ method: :post,
156
+ path: "v1/files/move",
157
+ body: parsed,
158
+ model: Imagekitio::Models::FileMoveResponse,
159
+ options: options
160
+ )
161
+ end
162
+
163
+ # Some parameter documentations has been truncated, see
164
+ # {Imagekitio::Models::FileRenameParams} for more details.
165
+ #
166
+ # You can rename an already existing file in the media library using rename file
167
+ # API. This operation would rename all file versions of the file.
168
+ #
169
+ # Note: The old URLs will stop working. The file/file version URLs cached on CDN
170
+ # will continue to work unless a purge is requested.
171
+ #
172
+ # @overload rename(file_path:, new_file_name:, purge_cache: nil, request_options: {})
173
+ #
174
+ # @param file_path [String] The full path of the file you want to rename.
175
+ #
176
+ # @param new_file_name [String] The new name of the file. A filename can contain:
177
+ #
178
+ # @param purge_cache [Boolean] Option to purge cache for the old file and its versions' URLs.
179
+ #
180
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
181
+ #
182
+ # @return [Imagekitio::Models::FileRenameResponse]
183
+ #
184
+ # @see Imagekitio::Models::FileRenameParams
185
+ def rename(params)
186
+ parsed, options = Imagekitio::FileRenameParams.dump_request(params)
187
+ @client.request(
188
+ method: :put,
189
+ path: "v1/files/rename",
190
+ body: parsed,
191
+ model: Imagekitio::Models::FileRenameResponse,
192
+ options: options
193
+ )
194
+ end
195
+
196
+ # Some parameter documentations has been truncated, see
197
+ # {Imagekitio::Models::FileUploadParams} for more details.
198
+ #
199
+ # ImageKit.io allows you to upload files directly from both the server and client
200
+ # sides. For server-side uploads, private API key authentication is used. For
201
+ # client-side uploads, generate a one-time `token`, `signature`, and `expire` from
202
+ # your secure backend using private API.
203
+ # [Learn more](/docs/api-reference/upload-file/upload-file#how-to-implement-client-side-file-upload)
204
+ # about how to implement client-side file upload.
205
+ #
206
+ # The [V2 API](/docs/api-reference/upload-file/upload-file-v2) enhances security
207
+ # by verifying the entire payload using JWT.
208
+ #
209
+ # **File size limit** \
210
+ # On the free plan, the maximum upload file sizes are 20MB for images, audio, and raw
211
+ # files and 100MB for videos. On the paid plan, these limits increase to 40MB for images,
212
+ # audio, and raw files and 2GB for videos. These limits can be further increased with
213
+ # higher-tier plans.
214
+ #
215
+ # **Version limit** \
216
+ # A file can have a maximum of 100 versions.
217
+ #
218
+ # **Demo applications**
219
+ #
220
+ # - A full-fledged
221
+ # [upload widget using Uppy](https://github.com/imagekit-samples/uppy-uploader),
222
+ # supporting file selections from local storage, URL, Dropbox, Google Drive,
223
+ # Instagram, and more.
224
+ # - [Quick start guides](/docs/quick-start-guides) for various frameworks and
225
+ # technologies.
226
+ #
227
+ # @overload upload(file:, file_name:, token: nil, checks: nil, custom_coordinates: nil, custom_metadata: nil, description: nil, expire: nil, extensions: nil, folder: nil, is_private_file: nil, is_published: nil, overwrite_ai_tags: nil, overwrite_custom_metadata: nil, overwrite_file: nil, overwrite_tags: nil, public_key: nil, response_fields: nil, signature: nil, tags: nil, transformation: nil, use_unique_file_name: nil, webhook_url: nil, request_options: {})
228
+ #
229
+ # @param file [Pathname, StringIO, IO, String, Imagekitio::FilePart] The API accepts any of the following:
230
+ #
231
+ # @param file_name [String] The name with which the file has to be uploaded.
232
+ #
233
+ # @param token [String] A unique value that the ImageKit.io server will use to recognize and prevent sub
234
+ #
235
+ # @param checks [String] Server-side checks to run on the asset.
236
+ #
237
+ # @param custom_coordinates [String] Define an important area in the image. This is only relevant for image type file
238
+ #
239
+ # @param custom_metadata [Hash{Symbol=>Object}] JSON key-value pairs to associate with the asset. Create the custom metadata fie
240
+ #
241
+ # @param description [String] Optional text to describe the contents of the file.
242
+ #
243
+ # @param expire [Integer] The time until your signature is valid. It must be a [Unix time](https://en.wiki
244
+ #
245
+ # @param extensions [Array<Imagekitio::Models::ExtensionItem::RemoveBg, Imagekitio::Models::ExtensionItem::AIAutoDescription, Imagekitio::Models::ExtensionItem::AutoTaggingExtension>] Array of extensions to be applied to the asset. Each extension can be configured
246
+ #
247
+ # @param folder [String] The folder path in which the image has to be uploaded. If the folder(s) didn't e
248
+ #
249
+ # @param is_private_file [Boolean] Whether to mark the file as private or not.
250
+ #
251
+ # @param is_published [Boolean] Whether to upload file as published or not.
252
+ #
253
+ # @param overwrite_ai_tags [Boolean] If set to `true` and a file already exists at the exact location, its AITags wil
254
+ #
255
+ # @param overwrite_custom_metadata [Boolean] If the request does not have `customMetadata`, and a file already exists at the
256
+ #
257
+ # @param overwrite_file [Boolean] If `false` and `useUniqueFileName` is also `false`, and a file already exists at
258
+ #
259
+ # @param overwrite_tags [Boolean] If the request does not have `tags`, and a file already exists at the exact loca
260
+ #
261
+ # @param public_key [String] Your ImageKit.io public key. This field is only required for authentication when
262
+ #
263
+ # @param response_fields [Array<Symbol, Imagekitio::Models::FileUploadParams::ResponseField>] Array of response field keys to include in the API response body.
264
+ #
265
+ # @param signature [String] HMAC-SHA1 digest of the token+expire using your ImageKit.io private API key as a
266
+ #
267
+ # @param tags [Array<String>] Set the tags while uploading the file.
268
+ #
269
+ # @param transformation [Imagekitio::Models::FileUploadParams::Transformation] Configure pre-processing (`pre`) and post-processing (`post`) transformations.
270
+ #
271
+ # @param use_unique_file_name [Boolean] Whether to use a unique filename for this file or not.
272
+ #
273
+ # @param webhook_url [String] The final status of extensions after they have completed execution will be deliv
274
+ #
275
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
276
+ #
277
+ # @return [Imagekitio::Models::FileUploadResponse]
278
+ #
279
+ # @see Imagekitio::Models::FileUploadParams
280
+ def upload(params)
281
+ parsed, options = Imagekitio::FileUploadParams.dump_request(params)
282
+ path =
283
+ @client.base_url_overridden? ? "api/v1/files/upload" : "https://upload.imagekit.io/api/v1/files/upload"
284
+ @client.request(
285
+ method: :post,
286
+ path: path,
287
+ headers: {"content-type" => "multipart/form-data"},
288
+ body: parsed,
289
+ model: Imagekitio::Models::FileUploadResponse,
290
+ options: options
291
+ )
292
+ end
293
+
294
+ # @api private
295
+ #
296
+ # @param client [Imagekitio::Client]
297
+ def initialize(client:)
298
+ @client = client
299
+ @bulk = Imagekitio::Resources::Files::Bulk.new(client: client)
300
+ @versions = Imagekitio::Resources::Files::Versions.new(client: client)
301
+ @metadata = Imagekitio::Resources::Files::Metadata.new(client: client)
302
+ end
303
+ end
304
+ end
305
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Resources
5
+ class Folders
6
+ class Job
7
+ # Some parameter documentations has been truncated, see
8
+ # {Imagekitio::Models::Folders::JobGetParams} for more details.
9
+ #
10
+ # This API returns the status of a bulk job like copy and move folder operations.
11
+ #
12
+ # @overload get(job_id, request_options: {})
13
+ #
14
+ # @param job_id [String] The `jobId` is returned in the response of bulk job API e.g. copy folder or move
15
+ #
16
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [Imagekitio::Models::Folders::JobGetResponse]
19
+ #
20
+ # @see Imagekitio::Models::Folders::JobGetParams
21
+ def get(job_id, params = {})
22
+ @client.request(
23
+ method: :get,
24
+ path: ["v1/bulkJobs/%1$s", job_id],
25
+ model: Imagekitio::Models::Folders::JobGetResponse,
26
+ options: params[:request_options]
27
+ )
28
+ end
29
+
30
+ # @api private
31
+ #
32
+ # @param client [Imagekitio::Client]
33
+ def initialize(client:)
34
+ @client = client
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,166 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Resources
5
+ class Folders
6
+ # @return [Imagekitio::Resources::Folders::Job]
7
+ attr_reader :job
8
+
9
+ # Some parameter documentations has been truncated, see
10
+ # {Imagekitio::Models::FolderCreateParams} for more details.
11
+ #
12
+ # This will create a new folder. You can specify the folder name and location of
13
+ # the parent folder where this new folder should be created.
14
+ #
15
+ # @overload create(folder_name:, parent_folder_path:, request_options: {})
16
+ #
17
+ # @param folder_name [String] The folder will be created with this name.
18
+ #
19
+ # @param parent_folder_path [String] The folder where the new folder should be created, for root use `/` else the pat
20
+ #
21
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [Imagekitio::Models::FolderCreateResponse]
24
+ #
25
+ # @see Imagekitio::Models::FolderCreateParams
26
+ def create(params)
27
+ parsed, options = Imagekitio::FolderCreateParams.dump_request(params)
28
+ @client.request(
29
+ method: :post,
30
+ path: "v1/folder",
31
+ body: parsed,
32
+ model: Imagekitio::Models::FolderCreateResponse,
33
+ options: options
34
+ )
35
+ end
36
+
37
+ # Some parameter documentations has been truncated, see
38
+ # {Imagekitio::Models::FolderDeleteParams} for more details.
39
+ #
40
+ # This will delete a folder and all its contents permanently. The API returns an
41
+ # empty response.
42
+ #
43
+ # @overload delete(folder_path:, request_options: {})
44
+ #
45
+ # @param folder_path [String] Full path to the folder you want to delete. For example `/folder/to/delete/`.
46
+ #
47
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
48
+ #
49
+ # @return [Imagekitio::Models::FolderDeleteResponse]
50
+ #
51
+ # @see Imagekitio::Models::FolderDeleteParams
52
+ def delete(params)
53
+ parsed, options = Imagekitio::FolderDeleteParams.dump_request(params)
54
+ @client.request(
55
+ method: :delete,
56
+ path: "v1/folder",
57
+ body: parsed,
58
+ model: Imagekitio::Models::FolderDeleteResponse,
59
+ options: options
60
+ )
61
+ end
62
+
63
+ # Some parameter documentations has been truncated, see
64
+ # {Imagekitio::Models::FolderCopyParams} for more details.
65
+ #
66
+ # This will copy one folder into another. The selected folder, its nested folders,
67
+ # files, and their versions (in `includeVersions` is set to true) are copied in
68
+ # this operation. Note: If any file at the destination has the same name as the
69
+ # source file, then the source file and its versions will be appended to the
70
+ # destination file version history.
71
+ #
72
+ # @overload copy(destination_path:, source_folder_path:, include_versions: nil, request_options: {})
73
+ #
74
+ # @param destination_path [String] Full path to the destination folder where you want to copy the source folder int
75
+ #
76
+ # @param source_folder_path [String] The full path to the source folder you want to copy.
77
+ #
78
+ # @param include_versions [Boolean] Option to copy all versions of files that are nested inside the selected folder.
79
+ #
80
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
81
+ #
82
+ # @return [Imagekitio::Models::FolderCopyResponse]
83
+ #
84
+ # @see Imagekitio::Models::FolderCopyParams
85
+ def copy(params)
86
+ parsed, options = Imagekitio::FolderCopyParams.dump_request(params)
87
+ @client.request(
88
+ method: :post,
89
+ path: "v1/bulkJobs/copyFolder",
90
+ body: parsed,
91
+ model: Imagekitio::Models::FolderCopyResponse,
92
+ options: options
93
+ )
94
+ end
95
+
96
+ # Some parameter documentations has been truncated, see
97
+ # {Imagekitio::Models::FolderMoveParams} for more details.
98
+ #
99
+ # This will move one folder into another. The selected folder, its nested folders,
100
+ # files, and their versions are moved in this operation. Note: If any file at the
101
+ # destination has the same name as the source file, then the source file and its
102
+ # versions will be appended to the destination file version history.
103
+ #
104
+ # @overload move(destination_path:, source_folder_path:, request_options: {})
105
+ #
106
+ # @param destination_path [String] Full path to the destination folder where you want to move the source folder int
107
+ #
108
+ # @param source_folder_path [String] The full path to the source folder you want to move.
109
+ #
110
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
111
+ #
112
+ # @return [Imagekitio::Models::FolderMoveResponse]
113
+ #
114
+ # @see Imagekitio::Models::FolderMoveParams
115
+ def move(params)
116
+ parsed, options = Imagekitio::FolderMoveParams.dump_request(params)
117
+ @client.request(
118
+ method: :post,
119
+ path: "v1/bulkJobs/moveFolder",
120
+ body: parsed,
121
+ model: Imagekitio::Models::FolderMoveResponse,
122
+ options: options
123
+ )
124
+ end
125
+
126
+ # Some parameter documentations has been truncated, see
127
+ # {Imagekitio::Models::FolderRenameParams} for more details.
128
+ #
129
+ # This API allows you to rename an existing folder. The folder and all its nested
130
+ # assets and sub-folders will remain unchanged, but their paths will be updated to
131
+ # reflect the new folder name.
132
+ #
133
+ # @overload rename(folder_path:, new_folder_name:, purge_cache: nil, request_options: {})
134
+ #
135
+ # @param folder_path [String] The full path to the folder you want to rename.
136
+ #
137
+ # @param new_folder_name [String] The new name for the folder.
138
+ #
139
+ # @param purge_cache [Boolean] Option to purge cache for the old nested files and their versions' URLs.
140
+ #
141
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}, nil]
142
+ #
143
+ # @return [Imagekitio::Models::FolderRenameResponse]
144
+ #
145
+ # @see Imagekitio::Models::FolderRenameParams
146
+ def rename(params)
147
+ parsed, options = Imagekitio::FolderRenameParams.dump_request(params)
148
+ @client.request(
149
+ method: :post,
150
+ path: "v1/bulkJobs/renameFolder",
151
+ body: parsed,
152
+ model: Imagekitio::Models::FolderRenameResponse,
153
+ options: options
154
+ )
155
+ end
156
+
157
+ # @api private
158
+ #
159
+ # @param client [Imagekitio::Client]
160
+ def initialize(client:)
161
+ @client = client
162
+ @job = Imagekitio::Resources::Folders::Job.new(client: client)
163
+ end
164
+ end
165
+ end
166
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Resources
5
+ class Webhooks
6
+ # @param payload [String] The raw webhook payload as a string
7
+ #
8
+ # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent]
9
+ def unsafe_unwrap(payload)
10
+ parsed = JSON.parse(payload, symbolize_names: true)
11
+ Imagekitio::Internal::Type::Converter.coerce(Imagekitio::Models::UnsafeUnwrapWebhookEvent, parsed)
12
+ end
13
+
14
+ # @param payload [String] The raw webhook payload as a string
15
+ #
16
+ # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent]
17
+ def unwrap(payload)
18
+ parsed = JSON.parse(payload, symbolize_names: true)
19
+ Imagekitio::Internal::Type::Converter.coerce(Imagekitio::Models::UnwrapWebhookEvent, parsed)
20
+ end
21
+
22
+ # @api private
23
+ #
24
+ # @param client [Imagekitio::Client]
25
+ def initialize(client:)
26
+ @client = client
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ VERSION = "4.0.0"
5
+ end