imagekitio 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +116 -0
  4. data/README.md +538 -679
  5. data/SECURITY.md +27 -0
  6. data/lib/imagekitio/client.rb +122 -195
  7. data/lib/imagekitio/errors.rb +226 -2
  8. data/lib/imagekitio/file_part.rb +58 -0
  9. data/lib/imagekitio/helpers/crypto_utils.rb +25 -0
  10. data/lib/imagekitio/helpers/helper.rb +689 -0
  11. data/lib/imagekitio/helpers/transformation_utils.rb +164 -0
  12. data/lib/imagekitio/helpers/uuid_utils.rb +18 -0
  13. data/lib/imagekitio/internal/transport/base_client.rb +567 -0
  14. data/lib/imagekitio/internal/transport/pooled_net_requester.rb +217 -0
  15. data/lib/imagekitio/internal/type/array_of.rb +168 -0
  16. data/lib/imagekitio/internal/type/base_model.rb +530 -0
  17. data/lib/imagekitio/internal/type/base_page.rb +55 -0
  18. data/lib/imagekitio/internal/type/boolean.rb +77 -0
  19. data/lib/imagekitio/internal/type/converter.rb +327 -0
  20. data/lib/imagekitio/internal/type/enum.rb +156 -0
  21. data/lib/imagekitio/internal/type/file_input.rb +111 -0
  22. data/lib/imagekitio/internal/type/hash_of.rb +188 -0
  23. data/lib/imagekitio/internal/type/request_parameters.rb +42 -0
  24. data/lib/imagekitio/internal/type/union.rb +250 -0
  25. data/lib/imagekitio/internal/type/unknown.rb +81 -0
  26. data/lib/imagekitio/internal/util.rb +915 -0
  27. data/lib/imagekitio/internal.rb +20 -0
  28. data/lib/imagekitio/models/accounts/origin_create_params.rb +24 -0
  29. data/lib/imagekitio/models/accounts/origin_delete_params.rb +16 -0
  30. data/lib/imagekitio/models/accounts/origin_get_params.rb +16 -0
  31. data/lib/imagekitio/models/accounts/origin_list_params.rb +16 -0
  32. data/lib/imagekitio/models/accounts/origin_list_response.rb +11 -0
  33. data/lib/imagekitio/models/accounts/origin_request.rb +547 -0
  34. data/lib/imagekitio/models/accounts/origin_response.rb +568 -0
  35. data/lib/imagekitio/models/accounts/origin_update_params.rb +24 -0
  36. data/lib/imagekitio/models/accounts/url_endpoint_create_params.rb +16 -0
  37. data/lib/imagekitio/models/accounts/url_endpoint_delete_params.rb +16 -0
  38. data/lib/imagekitio/models/accounts/url_endpoint_get_params.rb +16 -0
  39. data/lib/imagekitio/models/accounts/url_endpoint_list_params.rb +16 -0
  40. data/lib/imagekitio/models/accounts/url_endpoint_list_response.rb +11 -0
  41. data/lib/imagekitio/models/accounts/url_endpoint_request.rb +110 -0
  42. data/lib/imagekitio/models/accounts/url_endpoint_response.rb +123 -0
  43. data/lib/imagekitio/models/accounts/url_endpoint_update_params.rb +16 -0
  44. data/lib/imagekitio/models/accounts/usage_get_params.rb +37 -0
  45. data/lib/imagekitio/models/accounts/usage_get_response.rb +51 -0
  46. data/lib/imagekitio/models/asset_list_params.rb +158 -0
  47. data/lib/imagekitio/models/asset_list_response.rb +24 -0
  48. data/lib/imagekitio/models/base_overlay.rb +21 -0
  49. data/lib/imagekitio/models/base_webhook_event.rb +24 -0
  50. data/lib/imagekitio/models/beta/v2/file_upload_params.rb +510 -0
  51. data/lib/imagekitio/models/beta/v2/file_upload_response.rb +618 -0
  52. data/lib/imagekitio/models/cache/invalidation_create_params.rb +27 -0
  53. data/lib/imagekitio/models/cache/invalidation_create_response.rb +23 -0
  54. data/lib/imagekitio/models/cache/invalidation_get_params.rb +16 -0
  55. data/lib/imagekitio/models/cache/invalidation_get_response.rb +35 -0
  56. data/lib/imagekitio/models/custom_metadata_field.rb +243 -0
  57. data/lib/imagekitio/models/custom_metadata_field_create_params.rb +238 -0
  58. data/lib/imagekitio/models/custom_metadata_field_delete_params.rb +14 -0
  59. data/lib/imagekitio/models/custom_metadata_field_delete_response.rb +10 -0
  60. data/lib/imagekitio/models/custom_metadata_field_list_params.rb +36 -0
  61. data/lib/imagekitio/models/custom_metadata_field_list_response.rb +9 -0
  62. data/lib/imagekitio/models/custom_metadata_field_update_params.rb +212 -0
  63. data/lib/imagekitio/models/extensions.rb +136 -0
  64. data/lib/imagekitio/models/file.rb +497 -0
  65. data/lib/imagekitio/models/file_copy_params.rb +43 -0
  66. data/lib/imagekitio/models/file_copy_response.rb +10 -0
  67. data/lib/imagekitio/models/file_delete_params.rb +14 -0
  68. data/lib/imagekitio/models/file_get_params.rb +14 -0
  69. data/lib/imagekitio/models/file_move_params.rb +33 -0
  70. data/lib/imagekitio/models/file_move_response.rb +10 -0
  71. data/lib/imagekitio/models/file_rename_params.rb +61 -0
  72. data/lib/imagekitio/models/file_rename_response.rb +21 -0
  73. data/lib/imagekitio/models/file_update_params.rb +22 -0
  74. data/lib/imagekitio/models/file_update_response.rb +104 -0
  75. data/lib/imagekitio/models/file_upload_params.rb +540 -0
  76. data/lib/imagekitio/models/file_upload_response.rb +611 -0
  77. data/lib/imagekitio/models/files/bulk_add_tags_params.rb +35 -0
  78. data/lib/imagekitio/models/files/bulk_add_tags_response.rb +24 -0
  79. data/lib/imagekitio/models/files/bulk_delete_params.rb +27 -0
  80. data/lib/imagekitio/models/files/bulk_delete_response.rb +24 -0
  81. data/lib/imagekitio/models/files/bulk_remove_ai_tags_params.rb +35 -0
  82. data/lib/imagekitio/models/files/bulk_remove_ai_tags_response.rb +24 -0
  83. data/lib/imagekitio/models/files/bulk_remove_tags_params.rb +35 -0
  84. data/lib/imagekitio/models/files/bulk_remove_tags_response.rb +24 -0
  85. data/lib/imagekitio/models/files/metadata_get_from_url_params.rb +28 -0
  86. data/lib/imagekitio/models/files/metadata_get_params.rb +16 -0
  87. data/lib/imagekitio/models/files/version_delete_params.rb +22 -0
  88. data/lib/imagekitio/models/files/version_delete_response.rb +12 -0
  89. data/lib/imagekitio/models/files/version_get_params.rb +22 -0
  90. data/lib/imagekitio/models/files/version_list_params.rb +16 -0
  91. data/lib/imagekitio/models/files/version_list_response.rb +10 -0
  92. data/lib/imagekitio/models/files/version_restore_params.rb +22 -0
  93. data/lib/imagekitio/models/folder.rb +76 -0
  94. data/lib/imagekitio/models/folder_copy_params.rb +44 -0
  95. data/lib/imagekitio/models/folder_copy_response.rb +23 -0
  96. data/lib/imagekitio/models/folder_create_params.rb +43 -0
  97. data/lib/imagekitio/models/folder_create_response.rb +10 -0
  98. data/lib/imagekitio/models/folder_delete_params.rb +25 -0
  99. data/lib/imagekitio/models/folder_delete_response.rb +10 -0
  100. data/lib/imagekitio/models/folder_move_params.rb +34 -0
  101. data/lib/imagekitio/models/folder_move_response.rb +23 -0
  102. data/lib/imagekitio/models/folder_rename_params.rb +59 -0
  103. data/lib/imagekitio/models/folder_rename_response.rb +23 -0
  104. data/lib/imagekitio/models/folders/job_get_params.rb +16 -0
  105. data/lib/imagekitio/models/folders/job_get_response.rb +74 -0
  106. data/lib/imagekitio/models/get_image_attributes_options.rb +68 -0
  107. data/lib/imagekitio/models/image_overlay.rb +66 -0
  108. data/lib/imagekitio/models/metadata.rb +483 -0
  109. data/lib/imagekitio/models/overlay.rb +28 -0
  110. data/lib/imagekitio/models/overlay_position.rb +101 -0
  111. data/lib/imagekitio/models/overlay_timing.rb +97 -0
  112. data/lib/imagekitio/models/responsive_image_attributes.rb +48 -0
  113. data/lib/imagekitio/models/solid_color_overlay.rb +42 -0
  114. data/lib/imagekitio/models/solid_color_overlay_transformation.rb +135 -0
  115. data/lib/imagekitio/models/src_options.rb +96 -0
  116. data/lib/imagekitio/models/streaming_resolution.rb +22 -0
  117. data/lib/imagekitio/models/subtitle_overlay.rb +64 -0
  118. data/lib/imagekitio/models/subtitle_overlay_transformation.rb +113 -0
  119. data/lib/imagekitio/models/text_overlay.rb +65 -0
  120. data/lib/imagekitio/models/text_overlay_transformation.rb +267 -0
  121. data/lib/imagekitio/models/transformation.rb +1100 -0
  122. data/lib/imagekitio/models/transformation_position.rb +19 -0
  123. data/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb +36 -0
  124. data/lib/imagekitio/models/unwrap_webhook_event.rb +36 -0
  125. data/lib/imagekitio/models/update_file_request.rb +164 -0
  126. data/lib/imagekitio/models/upload_post_transform_error_event.rb +180 -0
  127. data/lib/imagekitio/models/upload_post_transform_success_event.rb +143 -0
  128. data/lib/imagekitio/models/upload_pre_transform_error_event.rb +108 -0
  129. data/lib/imagekitio/models/upload_pre_transform_success_event.rb +690 -0
  130. data/lib/imagekitio/models/video_overlay.rb +64 -0
  131. data/lib/imagekitio/models/video_transformation_accepted_event.rb +279 -0
  132. data/lib/imagekitio/models/video_transformation_error_event.rb +326 -0
  133. data/lib/imagekitio/models/video_transformation_ready_event.rb +379 -0
  134. data/lib/imagekitio/models/webhook_unsafe_unwrap_params.rb +14 -0
  135. data/lib/imagekitio/models/webhook_unwrap_params.rb +14 -0
  136. data/lib/imagekitio/models.rb +160 -0
  137. data/lib/imagekitio/request_options.rb +77 -0
  138. data/lib/imagekitio/resources/accounts/origins.rb +145 -0
  139. data/lib/imagekitio/resources/accounts/url_endpoints.rb +151 -0
  140. data/lib/imagekitio/resources/accounts/usage.rb +46 -0
  141. data/lib/imagekitio/resources/accounts.rb +26 -0
  142. data/lib/imagekitio/resources/assets.rb +54 -0
  143. data/lib/imagekitio/resources/beta/v2/files.rb +110 -0
  144. data/lib/imagekitio/resources/beta/v2.rb +20 -0
  145. data/lib/imagekitio/resources/beta.rb +18 -0
  146. data/lib/imagekitio/resources/cache/invalidation.rb +66 -0
  147. data/lib/imagekitio/resources/cache.rb +18 -0
  148. data/lib/imagekitio/resources/custom_metadata_fields.rb +133 -0
  149. data/lib/imagekitio/resources/files/bulk.rb +131 -0
  150. data/lib/imagekitio/resources/files/metadata.rb +69 -0
  151. data/lib/imagekitio/resources/files/versions.rb +132 -0
  152. data/lib/imagekitio/resources/files.rb +305 -0
  153. data/lib/imagekitio/resources/folders/job.rb +39 -0
  154. data/lib/imagekitio/resources/folders.rb +166 -0
  155. data/lib/imagekitio/resources/webhooks.rb +30 -0
  156. data/lib/imagekitio/version.rb +5 -0
  157. data/lib/imagekitio.rb +181 -13
  158. data/manifest.yaml +15 -0
  159. data/rbi/imagekitio/client.rbi +92 -0
  160. data/rbi/imagekitio/errors.rbi +205 -0
  161. data/rbi/imagekitio/file_part.rbi +37 -0
  162. data/rbi/imagekitio/helpers/helper.rbi +41 -0
  163. data/rbi/imagekitio/internal/transport/base_client.rbi +295 -0
  164. data/rbi/imagekitio/internal/transport/pooled_net_requester.rbi +80 -0
  165. data/rbi/imagekitio/internal/type/array_of.rbi +104 -0
  166. data/rbi/imagekitio/internal/type/base_model.rbi +304 -0
  167. data/rbi/imagekitio/internal/type/base_page.rbi +42 -0
  168. data/rbi/imagekitio/internal/type/boolean.rbi +58 -0
  169. data/rbi/imagekitio/internal/type/converter.rbi +216 -0
  170. data/rbi/imagekitio/internal/type/enum.rbi +82 -0
  171. data/rbi/imagekitio/internal/type/file_input.rbi +59 -0
  172. data/rbi/imagekitio/internal/type/hash_of.rbi +104 -0
  173. data/rbi/imagekitio/internal/type/request_parameters.rbi +29 -0
  174. data/rbi/imagekitio/internal/type/union.rbi +128 -0
  175. data/rbi/imagekitio/internal/type/unknown.rbi +58 -0
  176. data/rbi/imagekitio/internal/util.rbi +487 -0
  177. data/rbi/imagekitio/internal.rbi +18 -0
  178. data/rbi/imagekitio/models/accounts/origin_create_params.rbi +81 -0
  179. data/rbi/imagekitio/models/accounts/origin_delete_params.rbi +34 -0
  180. data/rbi/imagekitio/models/accounts/origin_get_params.rbi +34 -0
  181. data/rbi/imagekitio/models/accounts/origin_list_params.rbi +34 -0
  182. data/rbi/imagekitio/models/accounts/origin_list_response.rbi +15 -0
  183. data/rbi/imagekitio/models/accounts/origin_request.rbi +775 -0
  184. data/rbi/imagekitio/models/accounts/origin_response.rbi +718 -0
  185. data/rbi/imagekitio/models/accounts/origin_update_params.rbi +81 -0
  186. data/rbi/imagekitio/models/accounts/url_endpoint_create_params.rbi +34 -0
  187. data/rbi/imagekitio/models/accounts/url_endpoint_delete_params.rbi +34 -0
  188. data/rbi/imagekitio/models/accounts/url_endpoint_get_params.rbi +34 -0
  189. data/rbi/imagekitio/models/accounts/url_endpoint_list_params.rbi +34 -0
  190. data/rbi/imagekitio/models/accounts/url_endpoint_list_response.rbi +15 -0
  191. data/rbi/imagekitio/models/accounts/url_endpoint_request.rbi +218 -0
  192. data/rbi/imagekitio/models/accounts/url_endpoint_response.rbi +213 -0
  193. data/rbi/imagekitio/models/accounts/url_endpoint_update_params.rbi +34 -0
  194. data/rbi/imagekitio/models/accounts/usage_get_params.rbi +60 -0
  195. data/rbi/imagekitio/models/accounts/usage_get_response.rbi +89 -0
  196. data/rbi/imagekitio/models/asset_list_params.rbi +281 -0
  197. data/rbi/imagekitio/models/asset_list_response.rbi +28 -0
  198. data/rbi/imagekitio/models/base_overlay.rbi +44 -0
  199. data/rbi/imagekitio/models/base_webhook_event.rbi +33 -0
  200. data/rbi/imagekitio/models/beta/v2/file_upload_params.rbi +861 -0
  201. data/rbi/imagekitio/models/beta/v2/file_upload_response.rbi +1197 -0
  202. data/rbi/imagekitio/models/cache/invalidation_create_params.rbi +45 -0
  203. data/rbi/imagekitio/models/cache/invalidation_create_response.rbi +37 -0
  204. data/rbi/imagekitio/models/cache/invalidation_get_params.rbi +34 -0
  205. data/rbi/imagekitio/models/cache/invalidation_get_response.rbi +93 -0
  206. data/rbi/imagekitio/models/custom_metadata_field.rbi +422 -0
  207. data/rbi/imagekitio/models/custom_metadata_field_create_params.rbi +443 -0
  208. data/rbi/imagekitio/models/custom_metadata_field_delete_params.rbi +30 -0
  209. data/rbi/imagekitio/models/custom_metadata_field_delete_response.rbi +23 -0
  210. data/rbi/imagekitio/models/custom_metadata_field_list_params.rbi +66 -0
  211. data/rbi/imagekitio/models/custom_metadata_field_list_response.rbi +11 -0
  212. data/rbi/imagekitio/models/custom_metadata_field_update_params.rbi +376 -0
  213. data/rbi/imagekitio/models/extensions.rbi +274 -0
  214. data/rbi/imagekitio/models/file.rbi +789 -0
  215. data/rbi/imagekitio/models/file_copy_params.rbi +66 -0
  216. data/rbi/imagekitio/models/file_copy_response.rbi +23 -0
  217. data/rbi/imagekitio/models/file_delete_params.rbi +27 -0
  218. data/rbi/imagekitio/models/file_get_params.rbi +27 -0
  219. data/rbi/imagekitio/models/file_move_params.rbi +51 -0
  220. data/rbi/imagekitio/models/file_move_response.rbi +23 -0
  221. data/rbi/imagekitio/models/file_rename_params.rbi +102 -0
  222. data/rbi/imagekitio/models/file_rename_response.rbi +35 -0
  223. data/rbi/imagekitio/models/file_update_params.rbi +58 -0
  224. data/rbi/imagekitio/models/file_update_response.rbi +322 -0
  225. data/rbi/imagekitio/models/file_upload_params.rbi +897 -0
  226. data/rbi/imagekitio/models/file_upload_response.rbi +1176 -0
  227. data/rbi/imagekitio/models/files/bulk_add_tags_params.rbi +56 -0
  228. data/rbi/imagekitio/models/files/bulk_add_tags_response.rbi +41 -0
  229. data/rbi/imagekitio/models/files/bulk_delete_params.rbi +48 -0
  230. data/rbi/imagekitio/models/files/bulk_delete_response.rbi +41 -0
  231. data/rbi/imagekitio/models/files/bulk_remove_ai_tags_params.rbi +56 -0
  232. data/rbi/imagekitio/models/files/bulk_remove_ai_tags_response.rbi +41 -0
  233. data/rbi/imagekitio/models/files/bulk_remove_tags_params.rbi +56 -0
  234. data/rbi/imagekitio/models/files/bulk_remove_tags_response.rbi +41 -0
  235. data/rbi/imagekitio/models/files/metadata_get_from_url_params.rbi +47 -0
  236. data/rbi/imagekitio/models/files/metadata_get_params.rbi +34 -0
  237. data/rbi/imagekitio/models/files/version_delete_params.rbi +40 -0
  238. data/rbi/imagekitio/models/files/version_delete_response.rbi +25 -0
  239. data/rbi/imagekitio/models/files/version_get_params.rbi +40 -0
  240. data/rbi/imagekitio/models/files/version_list_params.rbi +34 -0
  241. data/rbi/imagekitio/models/files/version_list_response.rbi +13 -0
  242. data/rbi/imagekitio/models/files/version_restore_params.rbi +40 -0
  243. data/rbi/imagekitio/models/folder.rbi +121 -0
  244. data/rbi/imagekitio/models/folder_copy_params.rbi +68 -0
  245. data/rbi/imagekitio/models/folder_copy_response.rbi +33 -0
  246. data/rbi/imagekitio/models/folder_create_params.rbi +71 -0
  247. data/rbi/imagekitio/models/folder_create_response.rbi +23 -0
  248. data/rbi/imagekitio/models/folder_delete_params.rbi +40 -0
  249. data/rbi/imagekitio/models/folder_delete_response.rbi +23 -0
  250. data/rbi/imagekitio/models/folder_move_params.rbi +53 -0
  251. data/rbi/imagekitio/models/folder_move_response.rbi +33 -0
  252. data/rbi/imagekitio/models/folder_rename_params.rbi +98 -0
  253. data/rbi/imagekitio/models/folder_rename_response.rbi +33 -0
  254. data/rbi/imagekitio/models/folders/job_get_params.rbi +34 -0
  255. data/rbi/imagekitio/models/folders/job_get_response.rbi +173 -0
  256. data/rbi/imagekitio/models/get_image_attributes_options.rbi +121 -0
  257. data/rbi/imagekitio/models/image_overlay.rbi +109 -0
  258. data/rbi/imagekitio/models/metadata.rbi +813 -0
  259. data/rbi/imagekitio/models/overlay.rbi +28 -0
  260. data/rbi/imagekitio/models/overlay_position.rbi +148 -0
  261. data/rbi/imagekitio/models/overlay_timing.rbi +135 -0
  262. data/rbi/imagekitio/models/responsive_image_attributes.rbi +74 -0
  263. data/rbi/imagekitio/models/solid_color_overlay.rbi +79 -0
  264. data/rbi/imagekitio/models/solid_color_overlay_transformation.rbi +218 -0
  265. data/rbi/imagekitio/models/src_options.rbi +159 -0
  266. data/rbi/imagekitio/models/streaming_resolution.rbi +38 -0
  267. data/rbi/imagekitio/models/subtitle_overlay.rbi +114 -0
  268. data/rbi/imagekitio/models/subtitle_overlay_transformation.rbi +215 -0
  269. data/rbi/imagekitio/models/text_overlay.rbi +110 -0
  270. data/rbi/imagekitio/models/text_overlay_transformation.rbi +451 -0
  271. data/rbi/imagekitio/models/transformation.rbi +1646 -0
  272. data/rbi/imagekitio/models/transformation_position.rbi +28 -0
  273. data/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi +33 -0
  274. data/rbi/imagekitio/models/unwrap_webhook_event.rbi +31 -0
  275. data/rbi/imagekitio/models/update_file_request.rbi +316 -0
  276. data/rbi/imagekitio/models/upload_post_transform_error_event.rbi +434 -0
  277. data/rbi/imagekitio/models/upload_post_transform_success_event.rbi +327 -0
  278. data/rbi/imagekitio/models/upload_pre_transform_error_event.rbi +244 -0
  279. data/rbi/imagekitio/models/upload_pre_transform_success_event.rbi +1300 -0
  280. data/rbi/imagekitio/models/video_overlay.rbi +105 -0
  281. data/rbi/imagekitio/models/video_transformation_accepted_event.rbi +659 -0
  282. data/rbi/imagekitio/models/video_transformation_error_event.rbi +772 -0
  283. data/rbi/imagekitio/models/video_transformation_ready_event.rbi +864 -0
  284. data/rbi/imagekitio/models/webhook_unsafe_unwrap_params.rbi +30 -0
  285. data/rbi/imagekitio/models/webhook_unwrap_params.rbi +27 -0
  286. data/rbi/imagekitio/models.rbi +135 -0
  287. data/rbi/imagekitio/request_options.rbi +59 -0
  288. data/rbi/imagekitio/resources/accounts/origins.rbi +91 -0
  289. data/rbi/imagekitio/resources/accounts/url_endpoints.rbi +129 -0
  290. data/rbi/imagekitio/resources/accounts/usage.rbi +36 -0
  291. data/rbi/imagekitio/resources/accounts.rbi +21 -0
  292. data/rbi/imagekitio/resources/assets.rbi +74 -0
  293. data/rbi/imagekitio/resources/beta/v2/files.rbi +193 -0
  294. data/rbi/imagekitio/resources/beta/v2.rbi +17 -0
  295. data/rbi/imagekitio/resources/beta.rbi +15 -0
  296. data/rbi/imagekitio/resources/cache/invalidation.rbi +44 -0
  297. data/rbi/imagekitio/resources/cache.rbi +15 -0
  298. data/rbi/imagekitio/resources/custom_metadata_fields.rbi +106 -0
  299. data/rbi/imagekitio/resources/files/bulk.rbi +88 -0
  300. data/rbi/imagekitio/resources/files/metadata.rbi +49 -0
  301. data/rbi/imagekitio/resources/files/versions.rbi +89 -0
  302. data/rbi/imagekitio/resources/files.rbi +364 -0
  303. data/rbi/imagekitio/resources/folders/job.rbi +29 -0
  304. data/rbi/imagekitio/resources/folders.rbi +146 -0
  305. data/rbi/imagekitio/resources/webhooks.rbi +50 -0
  306. data/rbi/imagekitio/version.rbi +5 -0
  307. data/sig/imagekitio/client.rbs +47 -0
  308. data/sig/imagekitio/errors.rbs +117 -0
  309. data/sig/imagekitio/file_part.rbs +21 -0
  310. data/sig/imagekitio/helpers/helper.rbs +24 -0
  311. data/sig/imagekitio/internal/transport/base_client.rbs +131 -0
  312. data/sig/imagekitio/internal/transport/pooled_net_requester.rbs +45 -0
  313. data/sig/imagekitio/internal/type/array_of.rbs +48 -0
  314. data/sig/imagekitio/internal/type/base_model.rbs +102 -0
  315. data/sig/imagekitio/internal/type/base_page.rbs +24 -0
  316. data/sig/imagekitio/internal/type/boolean.rbs +26 -0
  317. data/sig/imagekitio/internal/type/converter.rbs +79 -0
  318. data/sig/imagekitio/internal/type/enum.rbs +32 -0
  319. data/sig/imagekitio/internal/type/file_input.rbs +25 -0
  320. data/sig/imagekitio/internal/type/hash_of.rbs +48 -0
  321. data/sig/imagekitio/internal/type/request_parameters.rbs +19 -0
  322. data/sig/imagekitio/internal/type/union.rbs +52 -0
  323. data/sig/imagekitio/internal/type/unknown.rbs +26 -0
  324. data/sig/imagekitio/internal/util.rbs +185 -0
  325. data/sig/imagekitio/internal.rbs +9 -0
  326. data/sig/imagekitio/models/accounts/origin_create_params.rbs +30 -0
  327. data/sig/imagekitio/models/accounts/origin_delete_params.rbs +17 -0
  328. data/sig/imagekitio/models/accounts/origin_get_params.rbs +17 -0
  329. data/sig/imagekitio/models/accounts/origin_list_params.rbs +17 -0
  330. data/sig/imagekitio/models/accounts/origin_list_response.rbs +10 -0
  331. data/sig/imagekitio/models/accounts/origin_request.rbs +468 -0
  332. data/sig/imagekitio/models/accounts/origin_response.rbs +418 -0
  333. data/sig/imagekitio/models/accounts/origin_update_params.rbs +30 -0
  334. data/sig/imagekitio/models/accounts/url_endpoint_create_params.rbs +17 -0
  335. data/sig/imagekitio/models/accounts/url_endpoint_delete_params.rbs +17 -0
  336. data/sig/imagekitio/models/accounts/url_endpoint_get_params.rbs +17 -0
  337. data/sig/imagekitio/models/accounts/url_endpoint_list_params.rbs +17 -0
  338. data/sig/imagekitio/models/accounts/url_endpoint_list_response.rbs +10 -0
  339. data/sig/imagekitio/models/accounts/url_endpoint_request.rbs +97 -0
  340. data/sig/imagekitio/models/accounts/url_endpoint_response.rbs +96 -0
  341. data/sig/imagekitio/models/accounts/url_endpoint_update_params.rbs +17 -0
  342. data/sig/imagekitio/models/accounts/usage_get_params.rbs +30 -0
  343. data/sig/imagekitio/models/accounts/usage_get_response.rbs +52 -0
  344. data/sig/imagekitio/models/asset_list_params.rbs +138 -0
  345. data/sig/imagekitio/models/asset_list_response.rbs +16 -0
  346. data/sig/imagekitio/models/base_overlay.rbs +31 -0
  347. data/sig/imagekitio/models/base_webhook_event.rbs +15 -0
  348. data/sig/imagekitio/models/beta/v2/file_upload_params.rbs +310 -0
  349. data/sig/imagekitio/models/beta/v2/file_upload_response.rbs +487 -0
  350. data/sig/imagekitio/models/cache/invalidation_create_params.rbs +25 -0
  351. data/sig/imagekitio/models/cache/invalidation_create_response.rbs +17 -0
  352. data/sig/imagekitio/models/cache/invalidation_get_params.rbs +17 -0
  353. data/sig/imagekitio/models/cache/invalidation_get_response.rbs +35 -0
  354. data/sig/imagekitio/models/custom_metadata_field.rbs +178 -0
  355. data/sig/imagekitio/models/custom_metadata_field_create_params.rbs +179 -0
  356. data/sig/imagekitio/models/custom_metadata_field_delete_params.rbs +15 -0
  357. data/sig/imagekitio/models/custom_metadata_field_delete_response.rbs +11 -0
  358. data/sig/imagekitio/models/custom_metadata_field_list_params.rbs +32 -0
  359. data/sig/imagekitio/models/custom_metadata_field_list_response.rbs +8 -0
  360. data/sig/imagekitio/models/custom_metadata_field_update_params.rbs +152 -0
  361. data/sig/imagekitio/models/extensions.rbs +132 -0
  362. data/sig/imagekitio/models/file.rbs +384 -0
  363. data/sig/imagekitio/models/file_copy_params.rbs +38 -0
  364. data/sig/imagekitio/models/file_copy_response.rbs +11 -0
  365. data/sig/imagekitio/models/file_delete_params.rbs +15 -0
  366. data/sig/imagekitio/models/file_get_params.rbs +14 -0
  367. data/sig/imagekitio/models/file_move_params.rbs +28 -0
  368. data/sig/imagekitio/models/file_move_response.rbs +11 -0
  369. data/sig/imagekitio/models/file_rename_params.rbs +34 -0
  370. data/sig/imagekitio/models/file_rename_response.rbs +15 -0
  371. data/sig/imagekitio/models/file_update_params.rbs +28 -0
  372. data/sig/imagekitio/models/file_update_response.rbs +120 -0
  373. data/sig/imagekitio/models/file_upload_params.rbs +327 -0
  374. data/sig/imagekitio/models/file_upload_response.rbs +483 -0
  375. data/sig/imagekitio/models/files/bulk_add_tags_params.rbs +30 -0
  376. data/sig/imagekitio/models/files/bulk_add_tags_response.rbs +20 -0
  377. data/sig/imagekitio/models/files/bulk_delete_params.rbs +26 -0
  378. data/sig/imagekitio/models/files/bulk_delete_response.rbs +20 -0
  379. data/sig/imagekitio/models/files/bulk_remove_ai_tags_params.rbs +30 -0
  380. data/sig/imagekitio/models/files/bulk_remove_ai_tags_response.rbs +20 -0
  381. data/sig/imagekitio/models/files/bulk_remove_tags_params.rbs +30 -0
  382. data/sig/imagekitio/models/files/bulk_remove_tags_response.rbs +20 -0
  383. data/sig/imagekitio/models/files/metadata_get_from_url_params.rbs +25 -0
  384. data/sig/imagekitio/models/files/metadata_get_params.rbs +17 -0
  385. data/sig/imagekitio/models/files/version_delete_params.rbs +25 -0
  386. data/sig/imagekitio/models/files/version_delete_response.rbs +13 -0
  387. data/sig/imagekitio/models/files/version_get_params.rbs +25 -0
  388. data/sig/imagekitio/models/files/version_list_params.rbs +17 -0
  389. data/sig/imagekitio/models/files/version_list_response.rbs +9 -0
  390. data/sig/imagekitio/models/files/version_restore_params.rbs +25 -0
  391. data/sig/imagekitio/models/folder.rbs +69 -0
  392. data/sig/imagekitio/models/folder_copy_params.rbs +38 -0
  393. data/sig/imagekitio/models/folder_copy_response.rbs +13 -0
  394. data/sig/imagekitio/models/folder_create_params.rbs +28 -0
  395. data/sig/imagekitio/models/folder_create_response.rbs +11 -0
  396. data/sig/imagekitio/models/folder_delete_params.rbs +23 -0
  397. data/sig/imagekitio/models/folder_delete_response.rbs +11 -0
  398. data/sig/imagekitio/models/folder_move_params.rbs +28 -0
  399. data/sig/imagekitio/models/folder_move_response.rbs +13 -0
  400. data/sig/imagekitio/models/folder_rename_params.rbs +34 -0
  401. data/sig/imagekitio/models/folder_rename_response.rbs +13 -0
  402. data/sig/imagekitio/models/folders/job_get_params.rbs +17 -0
  403. data/sig/imagekitio/models/folders/job_get_response.rbs +72 -0
  404. data/sig/imagekitio/models/get_image_attributes_options.rbs +43 -0
  405. data/sig/imagekitio/models/image_overlay.rbs +59 -0
  406. data/sig/imagekitio/models/metadata.rbs +546 -0
  407. data/sig/imagekitio/models/overlay.rbs +16 -0
  408. data/sig/imagekitio/models/overlay_position.rbs +85 -0
  409. data/sig/imagekitio/models/overlay_timing.rbs +66 -0
  410. data/sig/imagekitio/models/responsive_image_attributes.rbs +36 -0
  411. data/sig/imagekitio/models/solid_color_overlay.rbs +38 -0
  412. data/sig/imagekitio/models/solid_color_overlay_transformation.rbs +97 -0
  413. data/sig/imagekitio/models/src_options.rbs +64 -0
  414. data/sig/imagekitio/models/streaming_resolution.rbs +20 -0
  415. data/sig/imagekitio/models/subtitle_overlay.rbs +59 -0
  416. data/sig/imagekitio/models/subtitle_overlay_transformation.rbs +78 -0
  417. data/sig/imagekitio/models/text_overlay.rbs +59 -0
  418. data/sig/imagekitio/models/text_overlay_transformation.rbs +195 -0
  419. data/sig/imagekitio/models/transformation.rbs +763 -0
  420. data/sig/imagekitio/models/transformation_position.rbs +14 -0
  421. data/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs +18 -0
  422. data/sig/imagekitio/models/unwrap_webhook_event.rbs +18 -0
  423. data/sig/imagekitio/models/update_file_request.rbs +122 -0
  424. data/sig/imagekitio/models/upload_post_transform_error_event.rbs +192 -0
  425. data/sig/imagekitio/models/upload_post_transform_success_event.rbs +142 -0
  426. data/sig/imagekitio/models/upload_pre_transform_error_event.rbs +115 -0
  427. data/sig/imagekitio/models/upload_pre_transform_success_event.rbs +541 -0
  428. data/sig/imagekitio/models/video_overlay.rbs +59 -0
  429. data/sig/imagekitio/models/video_transformation_accepted_event.rbs +261 -0
  430. data/sig/imagekitio/models/video_transformation_error_event.rbs +300 -0
  431. data/sig/imagekitio/models/video_transformation_ready_event.rbs +359 -0
  432. data/sig/imagekitio/models/webhook_unsafe_unwrap_params.rbs +15 -0
  433. data/sig/imagekitio/models/webhook_unwrap_params.rbs +15 -0
  434. data/sig/imagekitio/models.rbs +119 -0
  435. data/sig/imagekitio/request_options.rbs +36 -0
  436. data/sig/imagekitio/resources/accounts/origins.rbs +34 -0
  437. data/sig/imagekitio/resources/accounts/url_endpoints.rbs +40 -0
  438. data/sig/imagekitio/resources/accounts/usage.rbs +15 -0
  439. data/sig/imagekitio/resources/accounts.rbs +13 -0
  440. data/sig/imagekitio/resources/assets.rbs +18 -0
  441. data/sig/imagekitio/resources/beta/v2/files.rbs +35 -0
  442. data/sig/imagekitio/resources/beta/v2.rbs +11 -0
  443. data/sig/imagekitio/resources/beta.rbs +9 -0
  444. data/sig/imagekitio/resources/cache/invalidation.rbs +19 -0
  445. data/sig/imagekitio/resources/cache.rbs +9 -0
  446. data/sig/imagekitio/resources/custom_metadata_fields.rbs +32 -0
  447. data/sig/imagekitio/resources/files/bulk.rbs +32 -0
  448. data/sig/imagekitio/resources/files/metadata.rbs +19 -0
  449. data/sig/imagekitio/resources/files/versions.rbs +32 -0
  450. data/sig/imagekitio/resources/files.rbs +76 -0
  451. data/sig/imagekitio/resources/folders/job.rbs +14 -0
  452. data/sig/imagekitio/resources/folders.rbs +40 -0
  453. data/sig/imagekitio/resources/webhooks.rbs +27 -0
  454. data/sig/imagekitio/version.rbs +3 -0
  455. metadata +470 -136
  456. data/Rakefile +0 -27
  457. data/lib/active_storage/active_storage.rb +0 -7
  458. data/lib/active_storage/service/ik_file.rb +0 -115
  459. data/lib/active_storage/service/image_kit_io_service.rb +0 -188
  460. data/lib/carrierwave/carrierwave.rb +0 -83
  461. data/lib/carrierwave/storage/ik_file.rb +0 -51
  462. data/lib/carrierwave/storage/imagekit_store.rb +0 -68
  463. data/lib/carrierwave/support/uri_filename.rb +0 -12
  464. data/lib/imagekitio/api_service/bulk.rb +0 -58
  465. data/lib/imagekitio/api_service/custom_metadata_field.rb +0 -52
  466. data/lib/imagekitio/api_service/file.rb +0 -221
  467. data/lib/imagekitio/api_service/folder.rb +0 -49
  468. data/lib/imagekitio/base.rb +0 -12
  469. data/lib/imagekitio/configurable.rb +0 -43
  470. data/lib/imagekitio/constant.rb +0 -36
  471. data/lib/imagekitio/constants/default.rb +0 -22
  472. data/lib/imagekitio/constants/error.rb +0 -69
  473. data/lib/imagekitio/constants/file.rb +0 -11
  474. data/lib/imagekitio/constants/supported_transformation.rb +0 -39
  475. data/lib/imagekitio/constants/url.rb +0 -14
  476. data/lib/imagekitio/railtie.rb +0 -4
  477. data/lib/imagekitio/request.rb +0 -98
  478. data/lib/imagekitio/sdk/version.rb +0 -5
  479. data/lib/imagekitio/url.rb +0 -216
  480. data/lib/imagekitio/utils/calculation.rb +0 -45
  481. data/lib/imagekitio/utils/formatter.rb +0 -48
  482. data/lib/imagekitio/utils/option_validator.rb +0 -36
  483. data/lib/tasks/imagekitio/imagekitio_tasks.rake +0 -4
@@ -0,0 +1,379 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class VideoTransformationReadyEvent < Imagekitio::Models::BaseWebhookEvent
6
+ # @!attribute created_at
7
+ # Timestamp when the event was created in ISO8601 format.
8
+ #
9
+ # @return [Time]
10
+ required :created_at, Time
11
+
12
+ # @!attribute data
13
+ #
14
+ # @return [Imagekitio::Models::VideoTransformationReadyEvent::Data]
15
+ required :data, -> { Imagekitio::VideoTransformationReadyEvent::Data }
16
+
17
+ # @!attribute request
18
+ # Information about the original request that triggered the video transformation.
19
+ #
20
+ # @return [Imagekitio::Models::VideoTransformationReadyEvent::Request]
21
+ required :request, -> { Imagekitio::VideoTransformationReadyEvent::Request }
22
+
23
+ # @!attribute type
24
+ #
25
+ # @return [Symbol, :"video.transformation.ready"]
26
+ required :type, const: :"video.transformation.ready"
27
+
28
+ # @!attribute timings
29
+ # Performance metrics for the transformation process.
30
+ #
31
+ # @return [Imagekitio::Models::VideoTransformationReadyEvent::Timings, nil]
32
+ optional :timings, -> { Imagekitio::VideoTransformationReadyEvent::Timings }
33
+
34
+ # @!method initialize(created_at:, data:, request:, timings: nil, type: :"video.transformation.ready")
35
+ # Triggered when video encoding is finished and the transformed resource is ready
36
+ # to be served. This is the key event to listen for - update your database or CMS
37
+ # flags when you receive this so your application can start showing the
38
+ # transformed video to users.
39
+ #
40
+ # @param created_at [Time] Timestamp when the event was created in ISO8601 format.
41
+ #
42
+ # @param data [Imagekitio::Models::VideoTransformationReadyEvent::Data]
43
+ #
44
+ # @param request [Imagekitio::Models::VideoTransformationReadyEvent::Request] Information about the original request that triggered the video transformation.
45
+ #
46
+ # @param timings [Imagekitio::Models::VideoTransformationReadyEvent::Timings] Performance metrics for the transformation process.
47
+ #
48
+ # @param type [Symbol, :"video.transformation.ready"]
49
+
50
+ class Data < Imagekitio::Internal::Type::BaseModel
51
+ # @!attribute asset
52
+ # Information about the source video asset being transformed.
53
+ #
54
+ # @return [Imagekitio::Models::VideoTransformationReadyEvent::Data::Asset]
55
+ required :asset, -> { Imagekitio::VideoTransformationReadyEvent::Data::Asset }
56
+
57
+ # @!attribute transformation
58
+ #
59
+ # @return [Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation]
60
+ required :transformation, -> { Imagekitio::VideoTransformationReadyEvent::Data::Transformation }
61
+
62
+ # @!method initialize(asset:, transformation:)
63
+ # @param asset [Imagekitio::Models::VideoTransformationReadyEvent::Data::Asset] Information about the source video asset being transformed.
64
+ #
65
+ # @param transformation [Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation]
66
+
67
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data#asset
68
+ class Asset < Imagekitio::Internal::Type::BaseModel
69
+ # @!attribute url
70
+ # URL to download or access the source video file.
71
+ #
72
+ # @return [String]
73
+ required :url, String
74
+
75
+ # @!method initialize(url:)
76
+ # Information about the source video asset being transformed.
77
+ #
78
+ # @param url [String] URL to download or access the source video file.
79
+ end
80
+
81
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data#transformation
82
+ class Transformation < Imagekitio::Internal::Type::BaseModel
83
+ # @!attribute type
84
+ # Type of video transformation:
85
+ #
86
+ # - `video-transformation`: Standard video processing (resize, format conversion,
87
+ # etc.)
88
+ # - `gif-to-video`: Convert animated GIF to video format
89
+ # - `video-thumbnail`: Generate thumbnail image from video
90
+ #
91
+ # @return [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Type]
92
+ required :type, enum: -> { Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Type }
93
+
94
+ # @!attribute options
95
+ # Configuration options for video transformations.
96
+ #
97
+ # @return [Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options, nil]
98
+ optional :options, -> { Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options }
99
+
100
+ # @!attribute output
101
+ # Information about the transformed output video.
102
+ #
103
+ # @return [Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Output, nil]
104
+ optional :output, -> { Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output }
105
+
106
+ # @!method initialize(type:, options: nil, output: nil)
107
+ # Some parameter documentations has been truncated, see
108
+ # {Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation} for
109
+ # more details.
110
+ #
111
+ # @param type [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Type] Type of video transformation:
112
+ #
113
+ # @param options [Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options] Configuration options for video transformations.
114
+ #
115
+ # @param output [Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Output] Information about the transformed output video.
116
+
117
+ # Type of video transformation:
118
+ #
119
+ # - `video-transformation`: Standard video processing (resize, format conversion,
120
+ # etc.)
121
+ # - `gif-to-video`: Convert animated GIF to video format
122
+ # - `video-thumbnail`: Generate thumbnail image from video
123
+ #
124
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation#type
125
+ module Type
126
+ extend Imagekitio::Internal::Type::Enum
127
+
128
+ VIDEO_TRANSFORMATION = :"video-transformation"
129
+ GIF_TO_VIDEO = :"gif-to-video"
130
+ VIDEO_THUMBNAIL = :"video-thumbnail"
131
+
132
+ # @!method self.values
133
+ # @return [Array<Symbol>]
134
+ end
135
+
136
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation#options
137
+ class Options < Imagekitio::Internal::Type::BaseModel
138
+ # @!attribute audio_codec
139
+ # Audio codec used for encoding (aac or opus).
140
+ #
141
+ # @return [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec, nil]
142
+ optional :audio_codec,
143
+ enum: -> { Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec }
144
+
145
+ # @!attribute auto_rotate
146
+ # Whether to automatically rotate the video based on metadata.
147
+ #
148
+ # @return [Boolean, nil]
149
+ optional :auto_rotate, Imagekitio::Internal::Type::Boolean
150
+
151
+ # @!attribute format_
152
+ # Output format for the transformed video or thumbnail.
153
+ #
154
+ # @return [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options::Format, nil]
155
+ optional :format_,
156
+ enum: -> {
157
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format
158
+ },
159
+ api_name: :format
160
+
161
+ # @!attribute quality
162
+ # Quality setting for the output video.
163
+ #
164
+ # @return [Integer, nil]
165
+ optional :quality, Integer
166
+
167
+ # @!attribute stream_protocol
168
+ # Streaming protocol for adaptive bitrate streaming.
169
+ #
170
+ # @return [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol, nil]
171
+ optional :stream_protocol,
172
+ enum: -> { Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol }
173
+
174
+ # @!attribute variants
175
+ # Array of quality representations for adaptive bitrate streaming.
176
+ #
177
+ # @return [Array<String>, nil]
178
+ optional :variants, Imagekitio::Internal::Type::ArrayOf[String]
179
+
180
+ # @!attribute video_codec
181
+ # Video codec used for encoding (h264, vp9, or av1).
182
+ #
183
+ # @return [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec, nil]
184
+ optional :video_codec,
185
+ enum: -> { Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec }
186
+
187
+ # @!method initialize(audio_codec: nil, auto_rotate: nil, format_: nil, quality: nil, stream_protocol: nil, variants: nil, video_codec: nil)
188
+ # Configuration options for video transformations.
189
+ #
190
+ # @param audio_codec [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec] Audio codec used for encoding (aac or opus).
191
+ #
192
+ # @param auto_rotate [Boolean] Whether to automatically rotate the video based on metadata.
193
+ #
194
+ # @param format_ [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options::Format] Output format for the transformed video or thumbnail.
195
+ #
196
+ # @param quality [Integer] Quality setting for the output video.
197
+ #
198
+ # @param stream_protocol [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol] Streaming protocol for adaptive bitrate streaming.
199
+ #
200
+ # @param variants [Array<String>] Array of quality representations for adaptive bitrate streaming.
201
+ #
202
+ # @param video_codec [Symbol, Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec] Video codec used for encoding (h264, vp9, or av1).
203
+
204
+ # Audio codec used for encoding (aac or opus).
205
+ #
206
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options#audio_codec
207
+ module AudioCodec
208
+ extend Imagekitio::Internal::Type::Enum
209
+
210
+ AAC = :aac
211
+ OPUS = :opus
212
+
213
+ # @!method self.values
214
+ # @return [Array<Symbol>]
215
+ end
216
+
217
+ # Output format for the transformed video or thumbnail.
218
+ #
219
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options#format_
220
+ module Format
221
+ extend Imagekitio::Internal::Type::Enum
222
+
223
+ MP4 = :mp4
224
+ WEBM = :webm
225
+ JPG = :jpg
226
+ PNG = :png
227
+ WEBP = :webp
228
+
229
+ # @!method self.values
230
+ # @return [Array<Symbol>]
231
+ end
232
+
233
+ # Streaming protocol for adaptive bitrate streaming.
234
+ #
235
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options#stream_protocol
236
+ module StreamProtocol
237
+ extend Imagekitio::Internal::Type::Enum
238
+
239
+ HLS = :HLS
240
+ DASH = :DASH
241
+
242
+ # @!method self.values
243
+ # @return [Array<Symbol>]
244
+ end
245
+
246
+ # Video codec used for encoding (h264, vp9, or av1).
247
+ #
248
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Options#video_codec
249
+ module VideoCodec
250
+ extend Imagekitio::Internal::Type::Enum
251
+
252
+ H264 = :h264
253
+ VP9 = :vp9
254
+ AV1 = :av1
255
+
256
+ # @!method self.values
257
+ # @return [Array<Symbol>]
258
+ end
259
+ end
260
+
261
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation#output
262
+ class Output < Imagekitio::Internal::Type::BaseModel
263
+ # @!attribute url
264
+ # URL to access the transformed video.
265
+ #
266
+ # @return [String]
267
+ required :url, String
268
+
269
+ # @!attribute video_metadata
270
+ # Metadata of the output video file.
271
+ #
272
+ # @return [Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Output::VideoMetadata, nil]
273
+ optional :video_metadata,
274
+ -> { Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output::VideoMetadata }
275
+
276
+ # @!method initialize(url:, video_metadata: nil)
277
+ # Information about the transformed output video.
278
+ #
279
+ # @param url [String] URL to access the transformed video.
280
+ #
281
+ # @param video_metadata [Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Output::VideoMetadata] Metadata of the output video file.
282
+
283
+ # @see Imagekitio::Models::VideoTransformationReadyEvent::Data::Transformation::Output#video_metadata
284
+ class VideoMetadata < Imagekitio::Internal::Type::BaseModel
285
+ # @!attribute bitrate
286
+ # Bitrate of the output video in bits per second.
287
+ #
288
+ # @return [Integer]
289
+ required :bitrate, Integer
290
+
291
+ # @!attribute duration
292
+ # Duration of the output video in seconds.
293
+ #
294
+ # @return [Float]
295
+ required :duration, Float
296
+
297
+ # @!attribute height
298
+ # Height of the output video in pixels.
299
+ #
300
+ # @return [Integer]
301
+ required :height, Integer
302
+
303
+ # @!attribute width
304
+ # Width of the output video in pixels.
305
+ #
306
+ # @return [Integer]
307
+ required :width, Integer
308
+
309
+ # @!method initialize(bitrate:, duration:, height:, width:)
310
+ # Metadata of the output video file.
311
+ #
312
+ # @param bitrate [Integer] Bitrate of the output video in bits per second.
313
+ #
314
+ # @param duration [Float] Duration of the output video in seconds.
315
+ #
316
+ # @param height [Integer] Height of the output video in pixels.
317
+ #
318
+ # @param width [Integer] Width of the output video in pixels.
319
+ end
320
+ end
321
+ end
322
+ end
323
+
324
+ class Request < Imagekitio::Internal::Type::BaseModel
325
+ # @!attribute url
326
+ # Full URL of the transformation request that was submitted.
327
+ #
328
+ # @return [String]
329
+ required :url, String
330
+
331
+ # @!attribute x_request_id
332
+ # Unique identifier for the originating transformation request.
333
+ #
334
+ # @return [String]
335
+ required :x_request_id, String
336
+
337
+ # @!attribute user_agent
338
+ # User-Agent header from the original request that triggered the transformation.
339
+ #
340
+ # @return [String, nil]
341
+ optional :user_agent, String
342
+
343
+ # @!method initialize(url:, x_request_id:, user_agent: nil)
344
+ # Information about the original request that triggered the video transformation.
345
+ #
346
+ # @param url [String] Full URL of the transformation request that was submitted.
347
+ #
348
+ # @param x_request_id [String] Unique identifier for the originating transformation request.
349
+ #
350
+ # @param user_agent [String] User-Agent header from the original request that triggered the transformation.
351
+ end
352
+
353
+ class Timings < Imagekitio::Internal::Type::BaseModel
354
+ # @!attribute download_duration
355
+ # Time spent downloading the source video from your origin or media library, in
356
+ # milliseconds.
357
+ #
358
+ # @return [Integer, nil]
359
+ optional :download_duration, Integer
360
+
361
+ # @!attribute encoding_duration
362
+ # Time spent encoding the video, in milliseconds.
363
+ #
364
+ # @return [Integer, nil]
365
+ optional :encoding_duration, Integer
366
+
367
+ # @!method initialize(download_duration: nil, encoding_duration: nil)
368
+ # Some parameter documentations has been truncated, see
369
+ # {Imagekitio::Models::VideoTransformationReadyEvent::Timings} for more details.
370
+ #
371
+ # Performance metrics for the transformation process.
372
+ #
373
+ # @param download_duration [Integer] Time spent downloading the source video from your origin or media library, in mi
374
+ #
375
+ # @param encoding_duration [Integer] Time spent encoding the video, in milliseconds.
376
+ end
377
+ end
378
+ end
379
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ # @see Imagekitio::Resources::Webhooks#unsafe_unwrap
6
+ class WebhookUnsafeUnwrapParams < Imagekitio::Internal::Type::BaseModel
7
+ extend Imagekitio::Internal::Type::RequestParameters::Converter
8
+ include Imagekitio::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ # @see Imagekitio::Resources::Webhooks#unwrap
6
+ class WebhookUnwrapParams < Imagekitio::Internal::Type::BaseModel
7
+ extend Imagekitio::Internal::Type::RequestParameters::Converter
8
+ include Imagekitio::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,160 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ [Imagekitio::Internal::Type::BaseModel, *Imagekitio::Internal::Type::BaseModel.subclasses].each do |cls|
5
+ cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, Imagekitio::Internal::AnyHash) } }
6
+ end
7
+
8
+ Imagekitio::Internal::Util.walk_namespaces(Imagekitio::Models).each do |mod|
9
+ case mod
10
+ in Imagekitio::Internal::Type::Enum | Imagekitio::Internal::Type::Union
11
+ mod.constants.each do |name|
12
+ case mod.const_get(name)
13
+ in true | false
14
+ mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
15
+ mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
16
+ in Integer
17
+ mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
18
+ mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
19
+ in Float
20
+ mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
21
+ mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
22
+ in Symbol
23
+ mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
24
+ mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
25
+ else
26
+ end
27
+ end
28
+ else
29
+ end
30
+ end
31
+
32
+ Imagekitio::Internal::Util.walk_namespaces(Imagekitio::Models)
33
+ .lazy
34
+ .grep(Imagekitio::Internal::Type::Union)
35
+ .each do |mod|
36
+ const = :Variants
37
+ next if mod.sorbet_constant_defined?(const)
38
+
39
+ mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
+ end
41
+
42
+ Accounts = Imagekitio::Models::Accounts
43
+
44
+ AssetListParams = Imagekitio::Models::AssetListParams
45
+
46
+ BaseOverlay = Imagekitio::Models::BaseOverlay
47
+
48
+ BaseWebhookEvent = Imagekitio::Models::BaseWebhookEvent
49
+
50
+ Beta = Imagekitio::Models::Beta
51
+
52
+ Cache = Imagekitio::Models::Cache
53
+
54
+ CustomMetadataField = Imagekitio::Models::CustomMetadataField
55
+
56
+ CustomMetadataFieldCreateParams = Imagekitio::Models::CustomMetadataFieldCreateParams
57
+
58
+ CustomMetadataFieldDeleteParams = Imagekitio::Models::CustomMetadataFieldDeleteParams
59
+
60
+ CustomMetadataFieldListParams = Imagekitio::Models::CustomMetadataFieldListParams
61
+
62
+ CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams
63
+
64
+ ExtensionItem = Imagekitio::Models::ExtensionItem
65
+
66
+ # @type [Imagekitio::Internal::Type::Converter]
67
+ Extensions = Imagekitio::Models::Extensions
68
+
69
+ File = Imagekitio::Models::File
70
+
71
+ FileCopyParams = Imagekitio::Models::FileCopyParams
72
+
73
+ FileDeleteParams = Imagekitio::Models::FileDeleteParams
74
+
75
+ FileGetParams = Imagekitio::Models::FileGetParams
76
+
77
+ FileMoveParams = Imagekitio::Models::FileMoveParams
78
+
79
+ FileRenameParams = Imagekitio::Models::FileRenameParams
80
+
81
+ Files = Imagekitio::Models::Files
82
+
83
+ FileUpdateParams = Imagekitio::Models::FileUpdateParams
84
+
85
+ FileUploadParams = Imagekitio::Models::FileUploadParams
86
+
87
+ Folder = Imagekitio::Models::Folder
88
+
89
+ FolderCopyParams = Imagekitio::Models::FolderCopyParams
90
+
91
+ FolderCreateParams = Imagekitio::Models::FolderCreateParams
92
+
93
+ FolderDeleteParams = Imagekitio::Models::FolderDeleteParams
94
+
95
+ FolderMoveParams = Imagekitio::Models::FolderMoveParams
96
+
97
+ FolderRenameParams = Imagekitio::Models::FolderRenameParams
98
+
99
+ Folders = Imagekitio::Models::Folders
100
+
101
+ GetImageAttributesOptions = Imagekitio::Models::GetImageAttributesOptions
102
+
103
+ ImageOverlay = Imagekitio::Models::ImageOverlay
104
+
105
+ Metadata = Imagekitio::Models::Metadata
106
+
107
+ Overlay = Imagekitio::Models::Overlay
108
+
109
+ OverlayPosition = Imagekitio::Models::OverlayPosition
110
+
111
+ OverlayTiming = Imagekitio::Models::OverlayTiming
112
+
113
+ ResponsiveImageAttributes = Imagekitio::Models::ResponsiveImageAttributes
114
+
115
+ SolidColorOverlay = Imagekitio::Models::SolidColorOverlay
116
+
117
+ SolidColorOverlayTransformation = Imagekitio::Models::SolidColorOverlayTransformation
118
+
119
+ SrcOptions = Imagekitio::Models::SrcOptions
120
+
121
+ StreamingResolution = Imagekitio::Models::StreamingResolution
122
+
123
+ SubtitleOverlay = Imagekitio::Models::SubtitleOverlay
124
+
125
+ SubtitleOverlayTransformation = Imagekitio::Models::SubtitleOverlayTransformation
126
+
127
+ TextOverlay = Imagekitio::Models::TextOverlay
128
+
129
+ TextOverlayTransformation = Imagekitio::Models::TextOverlayTransformation
130
+
131
+ Transformation = Imagekitio::Models::Transformation
132
+
133
+ TransformationPosition = Imagekitio::Models::TransformationPosition
134
+
135
+ UnsafeUnwrapWebhookEvent = Imagekitio::Models::UnsafeUnwrapWebhookEvent
136
+
137
+ UnwrapWebhookEvent = Imagekitio::Models::UnwrapWebhookEvent
138
+
139
+ UpdateFileRequest = Imagekitio::Models::UpdateFileRequest
140
+
141
+ UploadPostTransformErrorEvent = Imagekitio::Models::UploadPostTransformErrorEvent
142
+
143
+ UploadPostTransformSuccessEvent = Imagekitio::Models::UploadPostTransformSuccessEvent
144
+
145
+ UploadPreTransformErrorEvent = Imagekitio::Models::UploadPreTransformErrorEvent
146
+
147
+ UploadPreTransformSuccessEvent = Imagekitio::Models::UploadPreTransformSuccessEvent
148
+
149
+ VideoOverlay = Imagekitio::Models::VideoOverlay
150
+
151
+ VideoTransformationAcceptedEvent = Imagekitio::Models::VideoTransformationAcceptedEvent
152
+
153
+ VideoTransformationErrorEvent = Imagekitio::Models::VideoTransformationErrorEvent
154
+
155
+ VideoTransformationReadyEvent = Imagekitio::Models::VideoTransformationReadyEvent
156
+
157
+ WebhookUnsafeUnwrapParams = Imagekitio::Models::WebhookUnsafeUnwrapParams
158
+
159
+ WebhookUnwrapParams = Imagekitio::Models::WebhookUnwrapParams
160
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < Imagekitio::Internal::Type::BaseModel
10
+ # @api private
11
+ #
12
+ # @param opts [Imagekitio::RequestOptions, Hash{Symbol=>Object}]
13
+ #
14
+ # @raise [ArgumentError]
15
+ def self.validate!(opts)
16
+ case opts
17
+ in Imagekitio::RequestOptions | Hash
18
+ opts.to_h.each_key do |k|
19
+ unless fields.include?(k)
20
+ raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
21
+ end
22
+ end
23
+ else
24
+ raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
25
+ end
26
+ end
27
+
28
+ # @!attribute idempotency_key
29
+ # Idempotency key to send with request and all associated retries. Will only be
30
+ # sent for write requests.
31
+ #
32
+ # @return [String, nil]
33
+ optional :idempotency_key, String
34
+
35
+ # @!attribute extra_query
36
+ # Extra query params to send with the request. These are `.merge`’d into any
37
+ # `query` given at the client level.
38
+ #
39
+ # @return [Hash{String=>Array<String>, String, nil}, nil]
40
+ optional :extra_query, Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::ArrayOf[String]]
41
+
42
+ # @!attribute extra_headers
43
+ # Extra headers to send with the request. These are `.merged`’d into any
44
+ # `extra_headers` given at the client level.
45
+ #
46
+ # @return [Hash{String=>String, nil}, nil]
47
+ optional :extra_headers, Imagekitio::Internal::Type::HashOf[String, nil?: true]
48
+
49
+ # @!attribute extra_body
50
+ # Extra data to send with the request. These are deep merged into any data
51
+ # generated as part of the normal request.
52
+ #
53
+ # @return [Object, nil]
54
+ optional :extra_body, Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown]
55
+
56
+ # @!attribute max_retries
57
+ # Maximum number of retries to attempt after a failed initial request.
58
+ #
59
+ # @return [Integer, nil]
60
+ optional :max_retries, Integer
61
+
62
+ # @!attribute timeout
63
+ # Request timeout in seconds.
64
+ #
65
+ # @return [Float, nil]
66
+ optional :timeout, Float
67
+
68
+ # @!method initialize(values = {})
69
+ # Returns a new instance of RequestOptions.
70
+ #
71
+ # @param values [Hash{Symbol=>Object}]
72
+
73
+ define_sorbet_constant!(:OrHash) do
74
+ T.type_alias { T.any(Imagekitio::RequestOptions, Imagekitio::Internal::AnyHash) }
75
+ end
76
+ end
77
+ end