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
@@ -1,221 +0,0 @@
1
- # frozen_string_literal: true
2
- require_relative '../constant'
3
- require_relative '../utils/option_validator'
4
- require 'net/http/post/multipart'
5
-
6
- module ImageKitIo
7
- module ApiService
8
- class File
9
- include Utils::OptionValidator
10
- include Constantable
11
-
12
- # This File class holds file related operations like
13
- # upload, list etc
14
- def initialize(req_obj)
15
- @req_obj = req_obj
16
- end
17
-
18
- # uploads files with required arguments, supports bot url and binary
19
- # Options types:
20
- # - `extensions` should be array of hash
21
- # eg: option['extension'] = [
22
- # { 'name' => 'remove-bg', 'options' => { 'add_shadow' => 'true' } },
23
- # { 'name' => 'google-auto-tagging', 'minConfidence' => 80 }
24
- # ]
25
- # - `custom_metadata` should be hash
26
- # eg: option['custom_metadata'] = {
27
- # "SKU": "VS882HJ2JD",
28
- # "price": 599.99,
29
- # "brand": "H&M",
30
- # "discount": 30
31
- # }
32
- def upload(file: nil, file_name: nil, **options)
33
- raise ArgumentError, constants.MISSING_UPLOAD_FILE_PARAMETER unless file
34
- raise ArgumentError, constants.MISSING_UPLOAD_FILE_PARAMETER unless file_name
35
-
36
- content_type = options.delete(:content_type) || ''
37
- options = format_to_json(options, :extensions, Array)
38
- options = format_to_json(options, :custom_metadata, Hash)
39
- options = format_to_json(options, :transformation, Hash)
40
- options = validate_upload_options(options || {})
41
- if options.is_a?(FalseClass)
42
- raise ArgumentError, "Invalid Upload option"
43
- else
44
- headers = @req_obj.create_headers
45
- payload = {
46
- multipart: true,
47
- file: file.is_a?(String) ? file : ::UploadIO.new(file, content_type, file_name),
48
- fileName: file_name
49
- }
50
- payload.merge!(options)
51
- url = "#{constants.BASE_URL}#{constants.UPLOAD}"
52
- @req_obj.request("post", url, headers, payload)
53
- end
54
- end
55
-
56
- def update_details(file_id: nil, **options)
57
- unless options.fetch(:tags, []).is_a?(Array)
58
- raise ArgumentError, constants.UPDATE_DATA_TAGS_INVALID
59
- end
60
- unless options.fetch(:custom_coordinates, "").is_a?(String)
61
- raise ArgumentError, constants.UPDATE_DATA_COORDS_INVALID
62
- end
63
- url = "#{constants.BASE_URL}/#{file_id}/details/"
64
- headers = @req_obj.create_headers
65
- payload = request_formatter(options || {})
66
- @req_obj.request("patch", url, headers, payload.to_json)
67
- end
68
-
69
- def list(**options)
70
- # returns list of files on ImageKitIo Server
71
- # :options dictionary of options
72
- formatted_options = request_formatter(options || {})
73
- raise KeyError(constants.LIST_FILES_INPUT_MISSING) unless formatted_options.is_a?(Hash)
74
- url = constants.BASE_URL
75
- headers = @req_obj.create_headers.update({params: formatted_options})
76
- @req_obj.request("get", url, headers, formatted_options)
77
- end
78
-
79
- def get_file_versions(file_id: nil)
80
- if file_id == '' || file_id.nil?
81
- raise ArgumentError, 'file_id is required'
82
- end
83
- url = "#{constants.BASE_URL}/#{file_id}/versions"
84
- headers = @req_obj.create_headers
85
- @req_obj.request('get', url, headers)
86
- end
87
-
88
- def get_file_version_detail(file_id: nil, version_id: nil)
89
- if file_id == "" || file_id.nil?
90
- raise ArgumentError, "file_id is required"
91
- end
92
- if version_id == "" || version_id.nil?
93
- raise ArgumentError, "version_id is required"
94
- end
95
- url = "#{constants.BASE_URL}/#{file_id}/versions/#{version_id}"
96
- headers = @req_obj.create_headers
97
- @req_obj.request('get', url, headers)
98
- end
99
-
100
- def delete_file_version(file_id: nil, version_id: nil)
101
- if file_id == "" || file_id.nil?
102
- raise ArgumentError, "file_id is required"
103
- end
104
- if version_id == "" || version_id.nil?
105
- raise ArgumentError, "version_id is required"
106
- end
107
- url = "#{constants.BASE_URL}/#{file_id}/versions/#{version_id}"
108
- headers = @req_obj.create_headers
109
- @req_obj.request('delete', url, headers)
110
- end
111
-
112
- def restore_file_version(file_id: nil, version_id: nil)
113
- if file_id == "" || file_id.nil?
114
- raise ArgumentError, "file_id is required"
115
- end
116
- if version_id == "" || version_id.nil?
117
- raise ArgumentError, "version_id is required"
118
- end
119
- url = "#{constants.BASE_URL}/#{file_id}/versions/#{version_id}/restore"
120
- headers = @req_obj.create_headers
121
- @req_obj.request('put', url, headers)
122
- end
123
-
124
- def details(file_identifier: nil)
125
- # Get detail of file by file_identifier
126
- if file_identifier == "" || file_identifier.nil?
127
- raise ArgumentError, "file_identifier is required"
128
- end
129
- url = "#{constants.BASE_URL}/#{file_identifier}/details/"
130
- headers = @req_obj.create_headers
131
- @req_obj.request("get", url, headers)
132
- end
133
-
134
- def get_metadata(file_id: nil)
135
- # Get metadata of a file by file_id
136
- if file_id == "" || file_id.nil?
137
- raise ArgumentError, "file_id is required"
138
- end
139
- url = "#{constants.BASE_URL}/#{file_id}/metadata"
140
- @req_obj.request("get", url, @req_obj.create_headers)
141
- end
142
-
143
- def delete(file_id: nil)
144
- # Delete a file_id by file_id
145
- if file_id == "" || file_id.nil?
146
- raise ArgumentError, "file_id is required"
147
- end
148
- url = "#{constants.BASE_URL}/#{file_id}"
149
- headers = @req_obj.create_headers
150
- @req_obj.request("delete", url, headers)
151
- end
152
-
153
- def purge_cache(file_url: nil)
154
- # purges cache from server by file_url
155
- if file_url == "" || file_url.nil?
156
- raise ArgumentError, "file_url is required"
157
- end
158
- url = "#{constants.BASE_URL}/purge"
159
- payload = {'url': file_url}
160
- @req_obj.request("post", url, @req_obj.create_headers, payload)
161
- end
162
-
163
- def purge_cache_status(request_id: nil)
164
- # This function is to get cache_status
165
- if request_id == "" || request_id.nil?
166
- raise ArgumentError, "remote_file_url is required"
167
- end
168
- url = "#{constants.BASE_URL}/purge/#{request_id}"
169
- @req_obj.request("get", url, @req_obj.create_headers)
170
- end
171
-
172
- def get_metadata_from_remote_url(remote_file_url: nil)
173
- if remote_file_url == "" || remote_file_url.nil?
174
- raise ArgumentError, "remote_file_url is required"
175
- end
176
- url = "#{constants.REMOTE_METADATA_FULL_URL}?url=#{remote_file_url}"
177
- @req_obj.request("get", url, @req_obj.create_headers)
178
- end
179
-
180
- def stream_file(remote_file_url: nil, &block)
181
- if remote_file_url == '' || remote_file_url.nil?
182
- raise ArgumentError, 'remote_file_url is required'
183
- end
184
- @req_obj.request_stream('get', remote_file_url, headers: @req_obj.create_headers, &block)
185
- end
186
-
187
- def copy(source_file_path: nil, destination_path: nil, include_file_versions: false)
188
- if source_file_path == '' || source_file_path.nil? || destination_path == '' || destination_path.nil?
189
- raise ArgumentError, 'parameters required'
190
- end
191
- url = "#{constants.BASE_URL}/copy"
192
- payload = { 'sourceFilePath': source_file_path, 'destinationPath': destination_path, 'includeFileVersions': include_file_versions }.to_json
193
- @req_obj.request('post', url, @req_obj.create_headers, payload)
194
- end
195
-
196
- def move(source_file_path: nil, destination_path: nil)
197
- if source_file_path == '' || source_file_path.nil? || destination_path == '' || destination_path.nil?
198
- raise ArgumentError, 'parameters required'
199
- end
200
- url = "#{constants.BASE_URL}/move"
201
- payload = { 'sourceFilePath': source_file_path, 'destinationPath': destination_path }
202
- @req_obj.request('post', url, @req_obj.create_headers, payload)
203
- end
204
-
205
- def rename(file_path: nil, new_file_name: nil, **options)
206
- if file_path == '' || file_path.nil? || new_file_name == '' || new_file_name.nil?
207
- raise ArgumentError, 'parameters required'
208
- end
209
- url = "#{constants.BASE_URL}/rename"
210
- payload = { 'filePath': file_path, 'newFileName': new_file_name }.merge(request_formatter(options)).to_json
211
- @req_obj.request('put', url, @req_obj.create_headers, payload)
212
- end
213
-
214
-
215
- private
216
- def image_format?(type)
217
- %(image/jpeg image/bmp image/apng image/avif image/gif image/ief image/svg+xml image/tiff image/x-icon image/rgb image/webp).include?(type)
218
- end
219
- end
220
- end
221
- end
@@ -1,49 +0,0 @@
1
- require_relative '../constant'
2
-
3
- module ImageKitIo
4
- module ApiService
5
- class Folder
6
- include Constantable
7
-
8
- def initialize(req_obj)
9
- @req_obj = req_obj
10
- end
11
-
12
- def create(folder_name: nil, parent_folder_path: nil)
13
- if folder_name == '' || folder_name.nil?
14
- raise ArgumentError, 'folder_name is required'
15
- end
16
- url = "#{constants.API_BASE_URL}/folder"
17
- payload = { 'folderName': folder_name, 'parentFolderPath': parent_folder_path }.to_json
18
- @req_obj.request('post', url, @req_obj.create_headers, payload)
19
- end
20
-
21
- def delete(folder_path: nil)
22
- if folder_path == '' || folder_path.nil?
23
- raise ArgumentError, 'folder_path is required'
24
- end
25
- url = "#{constants.API_BASE_URL}/folder"
26
- payload = { 'folderPath': folder_path }
27
- @req_obj.request('delete', url, @req_obj.create_headers, payload)
28
- end
29
-
30
- def copy(source_folder_path: nil, destination_path: nil, include_file_versions: false)
31
- if source_folder_path == '' || source_folder_path.nil? || destination_path == '' || destination_path.nil?
32
- raise ArgumentError, 'Parameters required'
33
- end
34
- url = "#{constants.BULK_BASE_URL}/copyFolder"
35
- payload = { 'sourceFolderPath': source_folder_path, 'destinationPath': destination_path, 'includeFileVersions': include_file_versions }.to_json
36
- @req_obj.request('post', url, @req_obj.create_headers, payload)
37
- end
38
-
39
- def move(source_folder_path: nil, destination_path: nil)
40
- if source_folder_path == '' || source_folder_path.nil? || destination_path == '' || destination_path.nil?
41
- raise ArgumentError, 'Parameters required'
42
- end
43
- url = "#{constants.BULK_BASE_URL}/moveFolder"
44
- payload = { 'sourceFolderPath': source_folder_path, 'destinationPath': destination_path }
45
- @req_obj.request('post', url, @req_obj.create_headers, payload)
46
- end
47
- end
48
- end
49
- end
@@ -1,12 +0,0 @@
1
- require_relative './configurable'
2
-
3
- module ImageKitIo
4
- include ImageKitIo::Configurable
5
-
6
- class << self
7
- def client
8
- ik_config = config
9
- @client ||= ImageKitIo::Client.new(ik_config.private_key, ik_config.public_key, ik_config.url_endpoint)
10
- end
11
- end
12
- end
@@ -1,43 +0,0 @@
1
- module ImageKitIo
2
- module Configurable
3
- def self.included(klass)
4
- klass.extend ClassMethods
5
- end
6
-
7
- module ClassMethods
8
- def config
9
- @config ||= Configuration.new
10
- end
11
-
12
- def configure
13
- yield config
14
- initialize_service
15
- end
16
-
17
- def initialize_service
18
- if config.service == :carrierwave
19
- require_relative '../carrierwave/carrierwave'
20
- elsif config.service == :active_storage
21
- require_relative '../active_storage/active_storage'
22
- end
23
- end
24
-
25
- def constants
26
- config.constants
27
- end
28
- end
29
-
30
- class Configuration
31
- AVAILABLE_SERVICE = [:carrierwave, :active_storage]
32
- attr_accessor :public_key, :private_key, :url_endpoint, :service
33
-
34
- def service
35
- @service&.to_sym || :carrierwave
36
- end
37
-
38
- def constants
39
- @constants ||= ImageKitIo::Constant
40
- end
41
- end
42
- end
43
- end
@@ -1,36 +0,0 @@
1
- require_relative './constants/default'
2
- require_relative './constants/error'
3
- require_relative './constants/file'
4
- require_relative './constants/supported_transformation'
5
- require_relative './constants/url'
6
- require_relative './configurable'
7
-
8
- module ImageKitIo
9
- module Constantable
10
- def self.included(base)
11
- def constants
12
- ImageKitIo.constants
13
- end
14
- end
15
- end
16
- class Constant
17
- include Constants::Default
18
- include Constants::Error
19
- include Constants::File
20
- include Constants::SupportedTransformation
21
- include Constants::URL
22
-
23
- class << self
24
- def method_missing(symbol, *args)
25
- method_name = symbol.to_s.gsub('=', '')
26
- if self.const_defined? method_name
27
- return self.const_get(method_name) if args.empty?
28
-
29
- self.const_set(method_name, args.first)
30
- else
31
- super
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Enum for defaults
4
- module ImageKitIo
5
- module Constants
6
- module Default
7
- TRANSFORMATION_POSITION = "path"
8
- QUERY_TRANSFORMATION_POSITION = "query"
9
- VALID_TRANSFORMATION_POSITION = [TRANSFORMATION_POSITION,
10
- QUERY_TRANSFORMATION_POSITION,].freeze
11
- DEFAULT_TIMESTAMP = "9999999999"
12
- TRANSFORMATION_PARAMETER = "tr"
13
- CHAIN_TRANSFORM_DELIMITER = ":"
14
- TRANSFORM_DELIMITER = ","
15
- TRANSFORM_KEY_VALUE_DELIMITER = "-"
16
-
17
- SIGNATURE_PARAMETER = "ik-s"
18
- TIMESTAMP_PARAMETER = "ik-t"
19
- TIMESTAMP = "9999999999"
20
- end
21
- end
22
- end
@@ -1,69 +0,0 @@
1
- module ImageKitIo
2
- module Constants
3
- module Error
4
- MANDATORY_INIT_MISSING = {
5
- 'message': "Missing public_key or private_key or url_endpoint during ImageKitIo initialization",
6
- help: "",
7
- }
8
- INVALID_TRANSFORMATION_POS = {'message': "Invalid transformationPosition parameter",
9
- help: "",}
10
- INVALID_URL_GENERATION_PARAM = {'message': "Invalid url parameter", help: ""}
11
- INVALID_TRANSFORMATION_OPTIONS = {
12
- 'message': "Invalid transformation parameter options",
13
- help: "",
14
- }
15
- CACHE_PURGE_URL_MISSING = {'message': "Missing URL parameter for this request",
16
- help: "",}
17
- CACHE_PURGE_STATUS_ID_MISSING = {'message': "Missing Request ID parameter for this request",
18
- help: "",}
19
- FILE_ID_MISSING = {'message': "Missing File ID parameter for this request",
20
- help: "",}
21
- UPDATE_DATA_MISSING = {'message': "Missing file update data for this request",
22
- help: "",}
23
-
24
- UPDATE_DATA_TAGS_INVALID = {'message': "Invalid tags parameter for this request",
25
- help: "tags should be passed as null or an array like ['tag1', 'tag2']",}.freeze
26
-
27
- UPDATE_DATA_COORDS_INVALID =
28
- {'message': "Invalid custom_coordinates parameter for this request",
29
- help: "custom_coordinates should be passed as null or a string like 'x,y,width,height'",}
30
-
31
- LIST_FILES_INPUT_MISSING = {
32
- 'message': "Missing options for list files",
33
- help: "If you do not want to pass any parameter for listing, pass an empty object",
34
- }
35
- MISSING_FILE_URL = {'message': "Missing file_url for purge_cache", help: ""}
36
- MISSING_UPLOAD_DATA = {'message': "Missing data for upload", help: ""}
37
- MISSING_UPLOAD_FILE_PARAMETER = {
38
- 'message': "Missing file parameter for upload",
39
- help: "",
40
- }
41
- MISSING_UPLOAD_FILENAME_PARAM = {
42
- 'message': "Missing fileName parameter for upload",
43
- help: "",
44
- }
45
-
46
- INVALID_PHASH_VALUE =
47
- {
48
- 'message': "Invalid pHash value",
49
- help: "Both pHash strings must be valid hexadecimal numbers",
50
- }
51
-
52
- MISSING_PHASH_VALUE = {
53
- 'message': "Missing pHash value",
54
- help: "Please pass two pHash values",
55
- }
56
- UNEQUAL_STRING_LENGTH = {
57
- '': "Unequal pHash string length",
58
- help: "For distance calculation, the two pHash strings must have equal length",
59
- }
60
-
61
- MISSING_PRIVATE_KEY = "ImageKitIo private key missing"
62
-
63
- MISSING_PUBLIC_KEY = "ImageKitIo public key missing"
64
-
65
- MISSING_URL_ENDPOINT = "ImageKitIo URL Endpoint missing. Default URL Endpoint: https://ik.imagekit.io/<YOUR_IMAGEKIT_ID>/"
66
-
67
- end
68
- end
69
- end
@@ -1,11 +0,0 @@
1
- module ImageKitIo
2
- module Constants
3
- module File
4
- VALID_FILE_OPTIONS = %w[path fileType tags includeFolder name limit skip]
5
-
6
- VALID_FILE_DETAIL_OPTIONS = ["fileID"]
7
-
8
- VALID_UPLOAD_OPTIONS = %w[file file_name use_unique_file_name tags folder is_private_file custom_coordinates response_fields extensions webhook_url overwrite_file overwrite_AI_tags overwrite_custom_metadata custom_metadata mime overwrite_tags content_type transformation ]
9
- end
10
- end
11
- end
@@ -1,39 +0,0 @@
1
- module ImageKitIo
2
- module Constants
3
- module SupportedTransformation
4
- SUPPORTED_TRANS = {
5
- 'height': "h",
6
- 'width': "w",
7
- 'aspect_ratio': "ar",
8
- 'quality': "q",
9
- 'crop': "c",
10
- 'crop_mode': "cm",
11
- 'x': "x",
12
- 'y': "y",
13
- 'focus': "fo",
14
- 'format': "f",
15
- 'radius': "r",
16
- 'background': "bg",
17
- 'border': "b",
18
- 'rotation': "rt",
19
- 'blur': "bl",
20
- 'named': "n",
21
- 'progressive': "pr",
22
- 'lossless': "lo",
23
- 'trim': "t",
24
- 'metadata': "md",
25
- 'color_profile': "cp",
26
- 'default_image': "di",
27
- 'dpr': "dpr",
28
- 'effect_sharpen': "e-sharpen",
29
- 'effect_usm': "e-usm",
30
- 'effect_contrast': "e-contrast",
31
- 'effect_gray': "e-grayscale",
32
- 'effect_shadow': "e-shadow",
33
- 'effect_gradient': "e-gradient",
34
- 'original': "orig",
35
- 'raw': 'raw',
36
- }
37
- end
38
- end
39
- end
@@ -1,14 +0,0 @@
1
- module ImageKitIo
2
- module Constants
3
- module URL
4
- # Default URL Constants
5
- BASE_URL = "https://api.imagekit.io/v1/files"
6
- PURGE_CACHE = "/purge"
7
- BULK_FILE_DELETE = "/batch/deleteByFileIds"
8
- UPLOAD = "/upload"
9
- REMOTE_METADATA_FULL_URL = "https://api.imagekit.io/v1/metadata"
10
- BULK_BASE_URL = 'https://api.imagekit.io/v1/bulkJobs'
11
- API_BASE_URL = 'https://api.imagekit.io/v1'
12
- end
13
- end
14
- end
@@ -1,4 +0,0 @@
1
- module ImageKitIo
2
- class Railtie < ::Rails::Railtie
3
- end
4
- end
@@ -1,98 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "base64"
4
- require "rest-client"
5
- require "json"
6
- require 'net/http/post/multipart'
7
- require_relative './constant'
8
- # Request requests and sends data from server
9
- module ImageKitIo
10
- class Request
11
- include Constantable
12
-
13
- attr_reader :private_key, :public_key, :url_endpoint, :transformation_position, :options
14
-
15
- def initialize(private_key, public_key, url_endpoint, transformation_position = nil, options = nil)
16
- @private_key = private_key
17
- @public_key = public_key
18
- @url_endpoint = url_endpoint
19
- @transformation_position = transformation_position || constants.TRANSFORMATION_POSITION
20
- @options = options || {}
21
- end
22
-
23
- # creates required headers
24
- def create_headers
25
- headers = {'Accept-Encoding': "application/json", 'Content-Type': "application/json"}
26
- headers.update(auth_headers)
27
- end
28
-
29
- def auth_headers
30
- encoded_private_key = Base64.strict_encode64(@private_key+":")
31
- {Authorization: "Basic #{encoded_private_key}"}
32
- end
33
-
34
- # request method communicates with server
35
- def request(method, url, headers = create_headers, payload = nil)
36
- headers ||= create_headers
37
- response = {}
38
- begin
39
- if(method.downcase.to_sym == :post && payload.is_a?(Hash) && payload[:multipart])
40
- uri = URI.parse(url)
41
- http = Net::HTTP.new(uri.host, uri.port)
42
- http.use_ssl = (uri.scheme == 'https')
43
- req = Net::HTTP::Post::Multipart.new uri.path, payload, headers
44
- resp = http.request(req)
45
- response[:headers] = resp.to_hash
46
- else
47
- resp = RestClient::Request.new(method: method,
48
- url: url,
49
- headers: headers,
50
- payload: payload).execute
51
- response[:headers] = resp.raw_headers
52
- end
53
- response[:raw_body] = resp.body
54
- response[:status_code] = resp.code
55
- resp_c = resp.code.to_i
56
- if [400, 403].include?(resp_c)
57
- raise RestClient::ExceptionWithResponse, OpenStruct.new({ body: resp.body, code: resp_c, headers: response[:headers] })
58
- end
59
- if (resp.code.to_i >= 200) && (resp.code.to_i < 204)
60
- content_type = resp.respond_to?(:headers) ? resp.headers[:content_type] : resp.content_type
61
- if (content_type.include? "application/json")
62
- response[:response] = JSON.parse(resp.body.to_s)
63
- else
64
- raise RestClient::ExceptionWithResponse, OpenStruct.new(code: 404, body: resp.body)
65
- end
66
- elsif resp.code.to_i == 204
67
- response[:response] = {'success': true}
68
- end
69
-
70
- rescue RestClient::ExceptionWithResponse => err
71
- response[:status_code] = err.http_code if response[:status_code].nil?
72
- response[:headers] = err.http_headers if response[:headers].nil?
73
- response[:error] = if err.http_code.to_i == 404
74
- {'message': err.response.to_s}
75
- else
76
- err.response.is_a?(OpenStruct) ? JSON.parse(err.response.body) : JSON.parse(err.response)
77
- end
78
- end
79
- response
80
- end
81
-
82
- def request_stream(method, url, headers: nil, payload: nil, **options, &block)
83
- headers ||= create_headers
84
- response = { response: nil, error: nil }
85
- begin
86
- RestClient::Request.execute(method: method,
87
- url: url,
88
- headers: headers,
89
- payload: payload,
90
- **options,
91
- block_response: block
92
- )
93
- rescue RestClient::ExceptionWithResponse => err
94
- err.http_code == 404 ? response[:error] = {'message': err.response.to_s} : JSON.parse(err.response)
95
- end
96
- end
97
- end
98
- end
@@ -1,5 +0,0 @@
1
- module ImageKitIo
2
- module Sdk
3
- VERSION = '3.0.0'
4
- end
5
- end