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,7 +0,0 @@
1
- begin
2
- require 'active_storage'
3
- rescue LoadError
4
- puts "Add gem 'activestorage' to use this service"
5
- end
6
- require_relative './service/ik_file'
7
- require_relative './service/image_kit_io_service'
@@ -1,115 +0,0 @@
1
- module ImageKiIo
2
- module ActiveStorage
3
- class IKFile
4
- attr_accessor :identifier
5
-
6
- def initialize(identifier)
7
- @identifier = identifier
8
- @imagekit = ImageKitIo.client
9
- end
10
-
11
- def url
12
- identifier['url']
13
- end
14
-
15
- def delete
16
- begin
17
- @imagekit.delete_file(file_id: file_id)
18
- rescue
19
- file_id
20
- end
21
- end
22
-
23
- def file_type
24
- identifier['fileType']
25
- end
26
-
27
- def thumbnail_url
28
- identifier['thumbnail']
29
- end
30
-
31
- def filename
32
- identifier['name']
33
- end
34
-
35
- def size
36
- identifier['size']
37
- end
38
-
39
- def path
40
- identifier['filePath']
41
- end
42
-
43
- def height
44
- identifier['height']
45
- end
46
-
47
- def width
48
- identifier['width']
49
- end
50
-
51
- def file_id
52
- identifier['fileId']
53
- end
54
-
55
- def exist?
56
- details = @imagekit.get_file_details(file_id: file_id)
57
- return false if details[:error].present?
58
-
59
- true
60
- end
61
-
62
- def type
63
- identifier['type']
64
- end
65
-
66
- def tags
67
- identifier['tags']
68
- end
69
-
70
- def ai_tags
71
- identifier['AITags']
72
- end
73
-
74
- def is_private?
75
- identifier['isPrivateFile']
76
- end
77
-
78
- def custom_coordinates
79
- identifier['customCoordinates']
80
- end
81
-
82
- def mime
83
- identifier['mime']
84
- end
85
-
86
- def alpha?
87
- identifier['hasAlpha']
88
- end
89
-
90
- def custom_metadata
91
- identifier['customMetadata']
92
- end
93
-
94
- def embedded_metadata
95
- identifier['embeddedMetadata']
96
- end
97
-
98
- def created_at
99
- identifier['createdAt']
100
- end
101
-
102
- def updated_at
103
- identifier['updatedAt']
104
- end
105
-
106
- def extension_status
107
- identifier['extensionStatus']
108
- end
109
-
110
- def transformation
111
- identifier['transformation']
112
- end
113
- end
114
- end
115
- end
@@ -1,188 +0,0 @@
1
- require_relative './ik_file'
2
-
3
- if defined? Rails
4
- # Overwrite the ActiveStorage::Downloader's open method and remove the file integrity check constraint method verify_integrity_of
5
- class DownloaderExtension < ::ActiveStorage::Downloader
6
- def open(key, checksum:, name: "ActiveStorage-", tmpdir: nil, **options)
7
- open_tempfile(name, tmpdir) do |file|
8
- download key, file
9
- # verify_integrity_of file, checksum: checksum
10
- yield file
11
- end
12
- end
13
- end
14
-
15
- module ActiveStorageBlobExtension
16
- def self.included(base)
17
- base.class_eval do
18
- before_update :check_metadata
19
- before_destroy :remove_imagekit_file
20
- # ActiveRecord::Blob class first destroy the record data and then calls the service.delete method with key
21
- # as an argument. But the imagekit.io needs fileId to destroy the file which can be get from the metadata.
22
- # So first destroy the remote file and then destroy the local blob record.
23
- def remove_imagekit_file
24
- service.class.delete_ik_file(self)
25
- end
26
-
27
- def remote_file_exist?
28
- service.exist?(self.key)
29
- end
30
-
31
- def remote_file
32
- return false unless remote_file_exist?
33
-
34
- service.class.remote_file(self)
35
- end
36
-
37
- # Needs to reload the record to reflect updated remote meta data.
38
- def check_metadata
39
- self.reload
40
- end
41
- end
42
- end
43
- end
44
-
45
- Rails.application.config.to_prepare do
46
- ActiveStorage::Blob.send :include, ::ActiveStorageBlobExtension
47
- end
48
-
49
- module ActiveStorage
50
- class Service::ImageKitIoService < Service
51
- include ImageKitIo::Constantable
52
-
53
- class << self
54
- def delete_ik_file(blob)
55
- ik_file(blob).delete
56
- end
57
-
58
- def remote_file(blob)
59
- ik_file(blob)
60
- end
61
-
62
- def ik_file(blob)
63
- self.new.send(:ik_file).new(blob.metadata)
64
- end
65
- end
66
-
67
- def initialize(**options)
68
- @options = options
69
- end
70
-
71
- def upload(key, io, checksum: nil, **options)
72
- instrument :upload, key: key, checksum: checksum do
73
- blob = storage_blob(key)
74
- response = client.upload_file(file: io, file_name: blob.filename.to_s, content_type: blob.content_type)
75
- if response[:error].nil?
76
- blob.update_columns(metadata: response[:response].transform_keys(&:to_sym))
77
- else
78
- raise Exception.new response[:error]
79
- end
80
- end
81
- end
82
-
83
- def download(key, &block)
84
- if block_given?
85
- instrument :stream_file, key: key do
86
- stream_file(key, &block)
87
- end
88
- else
89
- instrument :download, key: key do
90
- image_kit_file(key)
91
- end
92
- end
93
- end
94
-
95
- def download_chunk(key, range)
96
- puts 'Not implemented download_chunk'
97
- end
98
-
99
- def delete(key)
100
- instrument :delete, key: key do
101
- # image kit file is already deleted on before blob destroy callback
102
- key
103
- end
104
- end
105
-
106
- def delete_prefixed(prefix)
107
- # delete the variants files
108
- puts 'Not implemented delete_prefixed'
109
- end
110
-
111
- def exist?(key)
112
- image_kit_file(key).exist?
113
- end
114
-
115
- def url_for_direct_upload(key, **options)
116
- instrument :url, key: key do |payload|
117
- options.delete(:content_length)
118
- options.delete(:checksum)
119
- url = "#{constants.BASE_URL}#{constants.UPLOAD}"
120
- generated_url = client.url(src: url)
121
- payload[:url] = generated_url
122
- generated_url
123
- end
124
- end
125
-
126
- def headers_for_direct_upload(key, content_type:, checksum:, **options)
127
- {
128
- 'Content-Type' => content_type
129
- }
130
- end
131
-
132
- def path_for(key)
133
- image_kit_file(key).path
134
- end
135
-
136
- def url(key, filename: nil, content_type: '', **options)
137
- generate_url(key, filename: filename, content_type: content_type, path: image_kit_file(key).path, **options)
138
- end
139
-
140
- def open(*args, **options, &block)
141
- DownloaderExtension.new(self).open(*args, **options, &block)
142
- end
143
-
144
- private
145
-
146
- def private_url(key, expires_in:, filename:, disposition:, content_type:, **options)
147
- generate_url(key, expires_in: expires_in, filename: filename, disposition: disposition, content_type: content_type, path: image_kit_file(key).path, **options)
148
- end
149
-
150
- def generate_url(key, expires_in:, filename:, content_type:, disposition:, **options)
151
- # filename = filename.to_s if filename.is_a? ActiveStorage::Filename
152
- # options[:filename] = filename if filename
153
- client.url(url_endpoint: config.url_endpoint, **options)
154
- end
155
-
156
- def client
157
- ImageKitIo.client
158
- end
159
-
160
- def config
161
- ImageKitIo.config
162
- end
163
-
164
- def storage_blob(key)
165
- ActiveStorage::Blob.find_by_key(key)
166
- end
167
-
168
- def image_kit_file(key)
169
- blob = storage_blob(key)
170
- ik_file.new(blob.metadata)
171
- end
172
-
173
- def ik_file
174
- ImageKiIo::ActiveStorage::IKFile
175
- end
176
-
177
- def stream_file(key, &download_block)
178
- file_obj = image_kit_file(key)
179
- block = proc { |response|
180
- response.read_body do |chunk|
181
- download_block.call(chunk) if download_block.present?
182
- end
183
- }
184
- client.stream_file(file_url: file_obj.url, &block)
185
- end
186
- end
187
- end
188
- end
@@ -1,83 +0,0 @@
1
- begin
2
- require 'carrierwave'
3
- rescue LoadError
4
- puts "Add gem 'carrierwave' to use this service"
5
- end
6
- require_relative './storage/imagekit_store'
7
- require_relative './storage/ik_file'
8
- require_relative './support/uri_filename'
9
-
10
- module ImageKitIo
11
- module CarrierWave
12
- def self.included(base)
13
- base.include InstanceMethods
14
- base.class_eval do
15
- configure do |config|
16
- config.storage_engines[:imagekit_store] = 'ImageKitIo::CarrierWave::Storage::ImageKitStore'
17
- end
18
- end
19
- base.storage :imagekit_store
20
- end
21
-
22
- module InstanceMethods
23
- def initialize(*)
24
- @imagekit = ImageKitIo.client
25
- @options = {}
26
- end
27
-
28
- def filename
29
- if options != nil
30
- @options = options
31
- end
32
- folder = nil
33
- begin
34
- folder = store_dir
35
- rescue
36
- end
37
-
38
- if folder != nil
39
- @options[:folder] = folder
40
- end
41
-
42
- if self.file != nil
43
- resp = @imagekit.upload_file(file: open(self.file.file, 'rb'), file_name: self.file.filename, **@options)
44
- # ::File.delete(self.file.file)
45
- res = resp[:response].to_json
46
- if res != "null"
47
- res
48
- else
49
- "{\"filePath\":\"\",\"url\":\"\",\"name\":\"\"}"
50
- end
51
- else
52
- "{\"filePath\":\"\",\"url\":\"\",\"name\":\"\"}"
53
- end
54
- end
55
-
56
- def fileId
57
- JSON.parse(self.identifier)['fileId']
58
- end
59
-
60
- def blob
61
- JSON.parse(self.identifier)
62
- end
63
-
64
- def url_with(opt)
65
- path = JSON.parse(self.identifier)['filePath']
66
- opt[:path] = path
67
- url = @imagekit.url(opt)
68
- end
69
-
70
- def url
71
- JSON.parse(self.identifier)['url']
72
- end
73
-
74
- def options
75
- options = {}
76
- end
77
-
78
- def store_dir
79
- store_dir = nil
80
- end
81
- end
82
- end
83
- end
@@ -1,51 +0,0 @@
1
- module ImageKitIo
2
- module CarrierWave
3
- module Storage
4
- class IKFile
5
- # Initialize as required.
6
-
7
- def initialize(identifier)
8
- @identifier=JSON.parse(identifier)
9
- @imagekit = ImageKitIo.client
10
- end
11
-
12
- # Duck-type methods for CarrierWave::SanitizedFile.
13
- def content_type
14
- "image/jpg"
15
- end
16
- def public_url
17
- @identifier['url']
18
- end
19
- def url(options = {})
20
- @identifier['url']
21
- end
22
-
23
- def fileId
24
- @identifier['fileId']
25
- end
26
- def filename(options = {})
27
- @identifier['name']
28
- end
29
- def read
30
- end
31
- def size
32
- end
33
- def delete
34
- # file_id=@identifier['fileId']
35
- begin
36
- @imagekit.delete_file(file_id: fileId)
37
- rescue
38
- fileId
39
- end
40
- # binding.pry
41
- # return nil
42
- end
43
- def exists?
44
- end
45
- # Others... ?
46
- end
47
-
48
- end
49
-
50
- end
51
- end
@@ -1,68 +0,0 @@
1
- require 'uri'
2
- require 'net/http'
3
- require 'base64'
4
-
5
- module ImageKitIo
6
- module CarrierWave
7
- module Storage
8
- class ImageKitStore < ::CarrierWave::Storage::Abstract
9
-
10
- def initialize(*)
11
- super
12
- @cache_called = nil
13
- end
14
-
15
- def store!(file)
16
- file.delete
17
- end
18
-
19
- def retrieve!(identifier)
20
-
21
- IKFile.new(identifier)
22
- end
23
-
24
- def cache!(new_file)
25
- new_file.move_to(::File.expand_path(uploader.cache_path, uploader.root), uploader.permissions, uploader.directory_permissions, true)
26
- rescue Errno::EMLINK, Errno::ENOSPC => e
27
- raise(e) if @cache_called
28
- @cache_called = true
29
-
30
- # NOTE: Remove cached files older than 10 minutes
31
- clean_cache!(600)
32
-
33
- cache!(new_file)
34
- end
35
-
36
- def retrieve_from_cache!(identifier)
37
- CarrierWave::SanitizedFile.new(::File.expand_path(uploader.cache_path(identifier), uploader.root))
38
- end
39
-
40
- def delete_dir!(path)
41
- if path
42
- begin
43
- Dir.rmdir(::File.expand_path(path, uploader.root))
44
- rescue Errno::ENOENT
45
- # Ignore: path does not exist
46
- rescue Errno::ENOTDIR
47
- # Ignore: path is not a dir
48
- rescue Errno::ENOTEMPTY, Errno::EEXIST
49
- # Ignore: dir is not empty
50
- end
51
- end
52
- end
53
-
54
- def clean_cache!(seconds)
55
- Dir.glob(::File.expand_path(::File.join(uploader.cache_dir, '*'), CarrierWave.root)).each do |dir|
56
- # generate_cache_id returns key formated TIMEINT-PID(-COUNTER)-RND
57
- time = dir.scan(/(\d+)-\d+-\d+(?:-\d+)?/).first.map(&:to_i)
58
- time = Time.at(*time)
59
- if time < (Time.now.utc - seconds)
60
- FileUtils.rm_rf(dir)
61
- end
62
- end
63
- end
64
-
65
- end
66
- end
67
- end
68
- end
@@ -1,12 +0,0 @@
1
- module ImageKitIo
2
- module CarrierWave
3
- module Support
4
- module UriFilename
5
- def self.filename(url)
6
- path = url.split('?').first
7
- URI.decode(path).gsub(%r{.*/(.*?$)}, '\1')
8
- end
9
- end
10
- end
11
- end
12
- end
@@ -1,58 +0,0 @@
1
- require_relative '../constant'
2
-
3
- module ImageKitIo
4
- module ApiService
5
- class Bulk
6
- include Constantable
7
-
8
- def initialize(req_obj)
9
- @req_obj = req_obj
10
- end
11
-
12
- def job_status(job_id: nil)
13
- if job_id == '' || job_id.nil?
14
- raise ArgumentError, 'job_id is required'
15
- end
16
- url = "#{constants.BULK_BASE_URL}/#{job_id}"
17
- payload = { 'jobId': job_id }
18
- @req_obj.request('get', url, @req_obj.create_headers, payload)
19
- end
20
-
21
- def add_tags(file_ids: [], tags: [])
22
- if file_ids.empty? || tags.empty?
23
- raise ArgumentError, 'Parameters are required'
24
- end
25
- url = "#{constants.BASE_URL}/addTags"
26
- payload = { 'fileIds': file_ids, 'tags': tags }.to_json
27
- @req_obj.request('post', url, @req_obj.create_headers, payload)
28
- end
29
-
30
- def remove_tags(file_ids: [], tags: [])
31
- if file_ids.empty? || tags.empty?
32
- raise ArgumentError, 'Parameters are required'
33
- end
34
- url = "#{constants.BASE_URL}/removeTags"
35
- payload = { 'fileIds': file_ids, 'tags': tags }.to_json
36
- @req_obj.request('post', url, @req_obj.create_headers, payload)
37
- end
38
-
39
- def remove_ai_tags(file_ids: [], ai_tags: [])
40
- if file_ids.empty? || ai_tags.empty?
41
- raise ArgumentError, 'Parameters are required'
42
- end
43
- url = "#{constants.BASE_URL}/removeAITags"
44
- payload = { 'fileIds': file_ids, 'AITags': ai_tags }.to_json
45
- @req_obj.request('post', url, @req_obj.create_headers, payload)
46
- end
47
-
48
- def remove_files(file_ids: [])
49
- if file_ids.empty?
50
- raise ArgumentError, 'File ids are required'
51
- end
52
- url = "#{constants.BASE_URL}#{constants.BULK_FILE_DELETE}"
53
- payload = {'fileIds': file_ids}.to_json
54
- @req_obj.request("post", url, @req_obj.create_headers, payload)
55
- end
56
- end
57
- end
58
- end
@@ -1,52 +0,0 @@
1
- require_relative '../utils/option_validator'
2
- require_relative '../constant'
3
-
4
- module ImageKitIo
5
- module ApiService
6
- class CustomMetadataField
7
- include Utils::OptionValidator
8
- include Constantable
9
-
10
- def initialize(req_obj)
11
- @req_obj = req_obj
12
- end
13
-
14
- def create(name: nil, label: nil, schema: nil)
15
- if name == '' || name.nil? || label == '' || label.nil? || schema == '' || schema.nil?
16
- raise ArgumentError, 'Parameters required'
17
- end
18
- unless schema.is_a?(Hash)
19
- raise ArgumentError, 'Schema must be hash object'
20
- end
21
- url = "#{constants.API_BASE_URL}/customMetadataFields"
22
- payload = { 'name': name, 'label': label, 'schema': schema }.to_json
23
- @req_obj.request('post', url, @req_obj.create_headers, payload)
24
- end
25
-
26
- def list(**options)
27
- url = "#{constants.API_BASE_URL}/customMetadataFields"
28
- payload = request_formatter(options || {})
29
- @req_obj.request('get', url, @req_obj.create_headers, payload)
30
- end
31
-
32
- def update(id: nil, label: nil, schema: nil)
33
- if id == '' || id.nil?
34
- raise ArgumentError, 'id is required'
35
- end
36
- url = "#{constants.API_BASE_URL}/customMetadataFields/#{id}"
37
- payload = {}
38
- payload = payload.merge({ 'label': label }) unless label.nil?
39
- payload = payload.merge({ 'schema': label }) unless schema.nil?
40
- @req_obj.request('patch', url, @req_obj.create_headers, payload.to_json)
41
- end
42
-
43
- def delete(id: nil)
44
- if id == '' || id.nil?
45
- raise ArgumentError, 'id is required'
46
- end
47
- url = "#{constants.API_BASE_URL}/customMetadataFields/#{id}"
48
- @req_obj.request('delete', url, @req_obj.create_headers)
49
- end
50
- end
51
- end
52
- end