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,864 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class VideoTransformationReadyEvent < Imagekitio::Models::BaseWebhookEvent
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Imagekitio::VideoTransformationReadyEvent,
10
+ Imagekitio::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Timestamp when the event was created in ISO8601 format.
15
+ sig { returns(Time) }
16
+ attr_accessor :created_at
17
+
18
+ sig { returns(Imagekitio::VideoTransformationReadyEvent::Data) }
19
+ attr_reader :data
20
+
21
+ sig do
22
+ params(
23
+ data: Imagekitio::VideoTransformationReadyEvent::Data::OrHash
24
+ ).void
25
+ end
26
+ attr_writer :data
27
+
28
+ # Information about the original request that triggered the video transformation.
29
+ sig { returns(Imagekitio::VideoTransformationReadyEvent::Request) }
30
+ attr_reader :request
31
+
32
+ sig do
33
+ params(
34
+ request: Imagekitio::VideoTransformationReadyEvent::Request::OrHash
35
+ ).void
36
+ end
37
+ attr_writer :request
38
+
39
+ sig { returns(Symbol) }
40
+ attr_accessor :type
41
+
42
+ # Performance metrics for the transformation process.
43
+ sig do
44
+ returns(T.nilable(Imagekitio::VideoTransformationReadyEvent::Timings))
45
+ end
46
+ attr_reader :timings
47
+
48
+ sig do
49
+ params(
50
+ timings: Imagekitio::VideoTransformationReadyEvent::Timings::OrHash
51
+ ).void
52
+ end
53
+ attr_writer :timings
54
+
55
+ # Triggered when video encoding is finished and the transformed resource is ready
56
+ # to be served. This is the key event to listen for - update your database or CMS
57
+ # flags when you receive this so your application can start showing the
58
+ # transformed video to users.
59
+ sig do
60
+ params(
61
+ created_at: Time,
62
+ data: Imagekitio::VideoTransformationReadyEvent::Data::OrHash,
63
+ request: Imagekitio::VideoTransformationReadyEvent::Request::OrHash,
64
+ timings: Imagekitio::VideoTransformationReadyEvent::Timings::OrHash,
65
+ type: Symbol
66
+ ).returns(T.attached_class)
67
+ end
68
+ def self.new(
69
+ # Timestamp when the event was created in ISO8601 format.
70
+ created_at:,
71
+ data:,
72
+ # Information about the original request that triggered the video transformation.
73
+ request:,
74
+ # Performance metrics for the transformation process.
75
+ timings: nil,
76
+ type: :"video.transformation.ready"
77
+ )
78
+ end
79
+
80
+ sig do
81
+ override.returns(
82
+ {
83
+ created_at: Time,
84
+ data: Imagekitio::VideoTransformationReadyEvent::Data,
85
+ request: Imagekitio::VideoTransformationReadyEvent::Request,
86
+ type: Symbol,
87
+ timings: Imagekitio::VideoTransformationReadyEvent::Timings
88
+ }
89
+ )
90
+ end
91
+ def to_hash
92
+ end
93
+
94
+ class Data < Imagekitio::Internal::Type::BaseModel
95
+ OrHash =
96
+ T.type_alias do
97
+ T.any(
98
+ Imagekitio::VideoTransformationReadyEvent::Data,
99
+ Imagekitio::Internal::AnyHash
100
+ )
101
+ end
102
+
103
+ # Information about the source video asset being transformed.
104
+ sig { returns(Imagekitio::VideoTransformationReadyEvent::Data::Asset) }
105
+ attr_reader :asset
106
+
107
+ sig do
108
+ params(
109
+ asset:
110
+ Imagekitio::VideoTransformationReadyEvent::Data::Asset::OrHash
111
+ ).void
112
+ end
113
+ attr_writer :asset
114
+
115
+ sig do
116
+ returns(
117
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation
118
+ )
119
+ end
120
+ attr_reader :transformation
121
+
122
+ sig do
123
+ params(
124
+ transformation:
125
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::OrHash
126
+ ).void
127
+ end
128
+ attr_writer :transformation
129
+
130
+ sig do
131
+ params(
132
+ asset:
133
+ Imagekitio::VideoTransformationReadyEvent::Data::Asset::OrHash,
134
+ transformation:
135
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::OrHash
136
+ ).returns(T.attached_class)
137
+ end
138
+ def self.new(
139
+ # Information about the source video asset being transformed.
140
+ asset:,
141
+ transformation:
142
+ )
143
+ end
144
+
145
+ sig do
146
+ override.returns(
147
+ {
148
+ asset: Imagekitio::VideoTransformationReadyEvent::Data::Asset,
149
+ transformation:
150
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation
151
+ }
152
+ )
153
+ end
154
+ def to_hash
155
+ end
156
+
157
+ class Asset < Imagekitio::Internal::Type::BaseModel
158
+ OrHash =
159
+ T.type_alias do
160
+ T.any(
161
+ Imagekitio::VideoTransformationReadyEvent::Data::Asset,
162
+ Imagekitio::Internal::AnyHash
163
+ )
164
+ end
165
+
166
+ # URL to download or access the source video file.
167
+ sig { returns(String) }
168
+ attr_accessor :url
169
+
170
+ # Information about the source video asset being transformed.
171
+ sig { params(url: String).returns(T.attached_class) }
172
+ def self.new(
173
+ # URL to download or access the source video file.
174
+ url:
175
+ )
176
+ end
177
+
178
+ sig { override.returns({ url: String }) }
179
+ def to_hash
180
+ end
181
+ end
182
+
183
+ class Transformation < Imagekitio::Internal::Type::BaseModel
184
+ OrHash =
185
+ T.type_alias do
186
+ T.any(
187
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation,
188
+ Imagekitio::Internal::AnyHash
189
+ )
190
+ end
191
+
192
+ # Type of video transformation:
193
+ #
194
+ # - `video-transformation`: Standard video processing (resize, format conversion,
195
+ # etc.)
196
+ # - `gif-to-video`: Convert animated GIF to video format
197
+ # - `video-thumbnail`: Generate thumbnail image from video
198
+ sig do
199
+ returns(
200
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Type::TaggedSymbol
201
+ )
202
+ end
203
+ attr_accessor :type
204
+
205
+ # Configuration options for video transformations.
206
+ sig do
207
+ returns(
208
+ T.nilable(
209
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options
210
+ )
211
+ )
212
+ end
213
+ attr_reader :options
214
+
215
+ sig do
216
+ params(
217
+ options:
218
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::OrHash
219
+ ).void
220
+ end
221
+ attr_writer :options
222
+
223
+ # Information about the transformed output video.
224
+ sig do
225
+ returns(
226
+ T.nilable(
227
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output
228
+ )
229
+ )
230
+ end
231
+ attr_reader :output
232
+
233
+ sig do
234
+ params(
235
+ output:
236
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output::OrHash
237
+ ).void
238
+ end
239
+ attr_writer :output
240
+
241
+ sig do
242
+ params(
243
+ type:
244
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Type::OrSymbol,
245
+ options:
246
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::OrHash,
247
+ output:
248
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output::OrHash
249
+ ).returns(T.attached_class)
250
+ end
251
+ def self.new(
252
+ # Type of video transformation:
253
+ #
254
+ # - `video-transformation`: Standard video processing (resize, format conversion,
255
+ # etc.)
256
+ # - `gif-to-video`: Convert animated GIF to video format
257
+ # - `video-thumbnail`: Generate thumbnail image from video
258
+ type:,
259
+ # Configuration options for video transformations.
260
+ options: nil,
261
+ # Information about the transformed output video.
262
+ output: nil
263
+ )
264
+ end
265
+
266
+ sig do
267
+ override.returns(
268
+ {
269
+ type:
270
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Type::TaggedSymbol,
271
+ options:
272
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options,
273
+ output:
274
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output
275
+ }
276
+ )
277
+ end
278
+ def to_hash
279
+ end
280
+
281
+ # Type of video transformation:
282
+ #
283
+ # - `video-transformation`: Standard video processing (resize, format conversion,
284
+ # etc.)
285
+ # - `gif-to-video`: Convert animated GIF to video format
286
+ # - `video-thumbnail`: Generate thumbnail image from video
287
+ module Type
288
+ extend Imagekitio::Internal::Type::Enum
289
+
290
+ TaggedSymbol =
291
+ T.type_alias do
292
+ T.all(
293
+ Symbol,
294
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Type
295
+ )
296
+ end
297
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
298
+
299
+ VIDEO_TRANSFORMATION =
300
+ T.let(
301
+ :"video-transformation",
302
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Type::TaggedSymbol
303
+ )
304
+ GIF_TO_VIDEO =
305
+ T.let(
306
+ :"gif-to-video",
307
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Type::TaggedSymbol
308
+ )
309
+ VIDEO_THUMBNAIL =
310
+ T.let(
311
+ :"video-thumbnail",
312
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Type::TaggedSymbol
313
+ )
314
+
315
+ sig do
316
+ override.returns(
317
+ T::Array[
318
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Type::TaggedSymbol
319
+ ]
320
+ )
321
+ end
322
+ def self.values
323
+ end
324
+ end
325
+
326
+ class Options < Imagekitio::Internal::Type::BaseModel
327
+ OrHash =
328
+ T.type_alias do
329
+ T.any(
330
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options,
331
+ Imagekitio::Internal::AnyHash
332
+ )
333
+ end
334
+
335
+ # Audio codec used for encoding (aac or opus).
336
+ sig do
337
+ returns(
338
+ T.nilable(
339
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec::TaggedSymbol
340
+ )
341
+ )
342
+ end
343
+ attr_reader :audio_codec
344
+
345
+ sig do
346
+ params(
347
+ audio_codec:
348
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec::OrSymbol
349
+ ).void
350
+ end
351
+ attr_writer :audio_codec
352
+
353
+ # Whether to automatically rotate the video based on metadata.
354
+ sig { returns(T.nilable(T::Boolean)) }
355
+ attr_reader :auto_rotate
356
+
357
+ sig { params(auto_rotate: T::Boolean).void }
358
+ attr_writer :auto_rotate
359
+
360
+ # Output format for the transformed video or thumbnail.
361
+ sig do
362
+ returns(
363
+ T.nilable(
364
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::TaggedSymbol
365
+ )
366
+ )
367
+ end
368
+ attr_reader :format_
369
+
370
+ sig do
371
+ params(
372
+ format_:
373
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::OrSymbol
374
+ ).void
375
+ end
376
+ attr_writer :format_
377
+
378
+ # Quality setting for the output video.
379
+ sig { returns(T.nilable(Integer)) }
380
+ attr_reader :quality
381
+
382
+ sig { params(quality: Integer).void }
383
+ attr_writer :quality
384
+
385
+ # Streaming protocol for adaptive bitrate streaming.
386
+ sig do
387
+ returns(
388
+ T.nilable(
389
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol::TaggedSymbol
390
+ )
391
+ )
392
+ end
393
+ attr_reader :stream_protocol
394
+
395
+ sig do
396
+ params(
397
+ stream_protocol:
398
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol::OrSymbol
399
+ ).void
400
+ end
401
+ attr_writer :stream_protocol
402
+
403
+ # Array of quality representations for adaptive bitrate streaming.
404
+ sig { returns(T.nilable(T::Array[String])) }
405
+ attr_reader :variants
406
+
407
+ sig { params(variants: T::Array[String]).void }
408
+ attr_writer :variants
409
+
410
+ # Video codec used for encoding (h264, vp9, or av1).
411
+ sig do
412
+ returns(
413
+ T.nilable(
414
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec::TaggedSymbol
415
+ )
416
+ )
417
+ end
418
+ attr_reader :video_codec
419
+
420
+ sig do
421
+ params(
422
+ video_codec:
423
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec::OrSymbol
424
+ ).void
425
+ end
426
+ attr_writer :video_codec
427
+
428
+ # Configuration options for video transformations.
429
+ sig do
430
+ params(
431
+ audio_codec:
432
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec::OrSymbol,
433
+ auto_rotate: T::Boolean,
434
+ format_:
435
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::OrSymbol,
436
+ quality: Integer,
437
+ stream_protocol:
438
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol::OrSymbol,
439
+ variants: T::Array[String],
440
+ video_codec:
441
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec::OrSymbol
442
+ ).returns(T.attached_class)
443
+ end
444
+ def self.new(
445
+ # Audio codec used for encoding (aac or opus).
446
+ audio_codec: nil,
447
+ # Whether to automatically rotate the video based on metadata.
448
+ auto_rotate: nil,
449
+ # Output format for the transformed video or thumbnail.
450
+ format_: nil,
451
+ # Quality setting for the output video.
452
+ quality: nil,
453
+ # Streaming protocol for adaptive bitrate streaming.
454
+ stream_protocol: nil,
455
+ # Array of quality representations for adaptive bitrate streaming.
456
+ variants: nil,
457
+ # Video codec used for encoding (h264, vp9, or av1).
458
+ video_codec: nil
459
+ )
460
+ end
461
+
462
+ sig do
463
+ override.returns(
464
+ {
465
+ audio_codec:
466
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec::TaggedSymbol,
467
+ auto_rotate: T::Boolean,
468
+ format_:
469
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::TaggedSymbol,
470
+ quality: Integer,
471
+ stream_protocol:
472
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol::TaggedSymbol,
473
+ variants: T::Array[String],
474
+ video_codec:
475
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec::TaggedSymbol
476
+ }
477
+ )
478
+ end
479
+ def to_hash
480
+ end
481
+
482
+ # Audio codec used for encoding (aac or opus).
483
+ module AudioCodec
484
+ extend Imagekitio::Internal::Type::Enum
485
+
486
+ TaggedSymbol =
487
+ T.type_alias do
488
+ T.all(
489
+ Symbol,
490
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec
491
+ )
492
+ end
493
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
494
+
495
+ AAC =
496
+ T.let(
497
+ :aac,
498
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec::TaggedSymbol
499
+ )
500
+ OPUS =
501
+ T.let(
502
+ :opus,
503
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec::TaggedSymbol
504
+ )
505
+
506
+ sig do
507
+ override.returns(
508
+ T::Array[
509
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::AudioCodec::TaggedSymbol
510
+ ]
511
+ )
512
+ end
513
+ def self.values
514
+ end
515
+ end
516
+
517
+ # Output format for the transformed video or thumbnail.
518
+ module Format
519
+ extend Imagekitio::Internal::Type::Enum
520
+
521
+ TaggedSymbol =
522
+ T.type_alias do
523
+ T.all(
524
+ Symbol,
525
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format
526
+ )
527
+ end
528
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
529
+
530
+ MP4 =
531
+ T.let(
532
+ :mp4,
533
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::TaggedSymbol
534
+ )
535
+ WEBM =
536
+ T.let(
537
+ :webm,
538
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::TaggedSymbol
539
+ )
540
+ JPG =
541
+ T.let(
542
+ :jpg,
543
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::TaggedSymbol
544
+ )
545
+ PNG =
546
+ T.let(
547
+ :png,
548
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::TaggedSymbol
549
+ )
550
+ WEBP =
551
+ T.let(
552
+ :webp,
553
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::TaggedSymbol
554
+ )
555
+
556
+ sig do
557
+ override.returns(
558
+ T::Array[
559
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::Format::TaggedSymbol
560
+ ]
561
+ )
562
+ end
563
+ def self.values
564
+ end
565
+ end
566
+
567
+ # Streaming protocol for adaptive bitrate streaming.
568
+ module StreamProtocol
569
+ extend Imagekitio::Internal::Type::Enum
570
+
571
+ TaggedSymbol =
572
+ T.type_alias do
573
+ T.all(
574
+ Symbol,
575
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol
576
+ )
577
+ end
578
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
579
+
580
+ HLS =
581
+ T.let(
582
+ :HLS,
583
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol::TaggedSymbol
584
+ )
585
+ DASH =
586
+ T.let(
587
+ :DASH,
588
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol::TaggedSymbol
589
+ )
590
+
591
+ sig do
592
+ override.returns(
593
+ T::Array[
594
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::StreamProtocol::TaggedSymbol
595
+ ]
596
+ )
597
+ end
598
+ def self.values
599
+ end
600
+ end
601
+
602
+ # Video codec used for encoding (h264, vp9, or av1).
603
+ module VideoCodec
604
+ extend Imagekitio::Internal::Type::Enum
605
+
606
+ TaggedSymbol =
607
+ T.type_alias do
608
+ T.all(
609
+ Symbol,
610
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec
611
+ )
612
+ end
613
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
614
+
615
+ H264 =
616
+ T.let(
617
+ :h264,
618
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec::TaggedSymbol
619
+ )
620
+ VP9 =
621
+ T.let(
622
+ :vp9,
623
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec::TaggedSymbol
624
+ )
625
+ AV1 =
626
+ T.let(
627
+ :av1,
628
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec::TaggedSymbol
629
+ )
630
+
631
+ sig do
632
+ override.returns(
633
+ T::Array[
634
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Options::VideoCodec::TaggedSymbol
635
+ ]
636
+ )
637
+ end
638
+ def self.values
639
+ end
640
+ end
641
+ end
642
+
643
+ class Output < Imagekitio::Internal::Type::BaseModel
644
+ OrHash =
645
+ T.type_alias do
646
+ T.any(
647
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output,
648
+ Imagekitio::Internal::AnyHash
649
+ )
650
+ end
651
+
652
+ # URL to access the transformed video.
653
+ sig { returns(String) }
654
+ attr_accessor :url
655
+
656
+ # Metadata of the output video file.
657
+ sig do
658
+ returns(
659
+ T.nilable(
660
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output::VideoMetadata
661
+ )
662
+ )
663
+ end
664
+ attr_reader :video_metadata
665
+
666
+ sig do
667
+ params(
668
+ video_metadata:
669
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output::VideoMetadata::OrHash
670
+ ).void
671
+ end
672
+ attr_writer :video_metadata
673
+
674
+ # Information about the transformed output video.
675
+ sig do
676
+ params(
677
+ url: String,
678
+ video_metadata:
679
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output::VideoMetadata::OrHash
680
+ ).returns(T.attached_class)
681
+ end
682
+ def self.new(
683
+ # URL to access the transformed video.
684
+ url:,
685
+ # Metadata of the output video file.
686
+ video_metadata: nil
687
+ )
688
+ end
689
+
690
+ sig do
691
+ override.returns(
692
+ {
693
+ url: String,
694
+ video_metadata:
695
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output::VideoMetadata
696
+ }
697
+ )
698
+ end
699
+ def to_hash
700
+ end
701
+
702
+ class VideoMetadata < Imagekitio::Internal::Type::BaseModel
703
+ OrHash =
704
+ T.type_alias do
705
+ T.any(
706
+ Imagekitio::VideoTransformationReadyEvent::Data::Transformation::Output::VideoMetadata,
707
+ Imagekitio::Internal::AnyHash
708
+ )
709
+ end
710
+
711
+ # Bitrate of the output video in bits per second.
712
+ sig { returns(Integer) }
713
+ attr_accessor :bitrate
714
+
715
+ # Duration of the output video in seconds.
716
+ sig { returns(Float) }
717
+ attr_accessor :duration
718
+
719
+ # Height of the output video in pixels.
720
+ sig { returns(Integer) }
721
+ attr_accessor :height
722
+
723
+ # Width of the output video in pixels.
724
+ sig { returns(Integer) }
725
+ attr_accessor :width
726
+
727
+ # Metadata of the output video file.
728
+ sig do
729
+ params(
730
+ bitrate: Integer,
731
+ duration: Float,
732
+ height: Integer,
733
+ width: Integer
734
+ ).returns(T.attached_class)
735
+ end
736
+ def self.new(
737
+ # Bitrate of the output video in bits per second.
738
+ bitrate:,
739
+ # Duration of the output video in seconds.
740
+ duration:,
741
+ # Height of the output video in pixels.
742
+ height:,
743
+ # Width of the output video in pixels.
744
+ width:
745
+ )
746
+ end
747
+
748
+ sig do
749
+ override.returns(
750
+ {
751
+ bitrate: Integer,
752
+ duration: Float,
753
+ height: Integer,
754
+ width: Integer
755
+ }
756
+ )
757
+ end
758
+ def to_hash
759
+ end
760
+ end
761
+ end
762
+ end
763
+ end
764
+
765
+ class Request < Imagekitio::Internal::Type::BaseModel
766
+ OrHash =
767
+ T.type_alias do
768
+ T.any(
769
+ Imagekitio::VideoTransformationReadyEvent::Request,
770
+ Imagekitio::Internal::AnyHash
771
+ )
772
+ end
773
+
774
+ # Full URL of the transformation request that was submitted.
775
+ sig { returns(String) }
776
+ attr_accessor :url
777
+
778
+ # Unique identifier for the originating transformation request.
779
+ sig { returns(String) }
780
+ attr_accessor :x_request_id
781
+
782
+ # User-Agent header from the original request that triggered the transformation.
783
+ sig { returns(T.nilable(String)) }
784
+ attr_reader :user_agent
785
+
786
+ sig { params(user_agent: String).void }
787
+ attr_writer :user_agent
788
+
789
+ # Information about the original request that triggered the video transformation.
790
+ sig do
791
+ params(url: String, x_request_id: String, user_agent: String).returns(
792
+ T.attached_class
793
+ )
794
+ end
795
+ def self.new(
796
+ # Full URL of the transformation request that was submitted.
797
+ url:,
798
+ # Unique identifier for the originating transformation request.
799
+ x_request_id:,
800
+ # User-Agent header from the original request that triggered the transformation.
801
+ user_agent: nil
802
+ )
803
+ end
804
+
805
+ sig do
806
+ override.returns(
807
+ { url: String, x_request_id: String, user_agent: String }
808
+ )
809
+ end
810
+ def to_hash
811
+ end
812
+ end
813
+
814
+ class Timings < Imagekitio::Internal::Type::BaseModel
815
+ OrHash =
816
+ T.type_alias do
817
+ T.any(
818
+ Imagekitio::VideoTransformationReadyEvent::Timings,
819
+ Imagekitio::Internal::AnyHash
820
+ )
821
+ end
822
+
823
+ # Time spent downloading the source video from your origin or media library, in
824
+ # milliseconds.
825
+ sig { returns(T.nilable(Integer)) }
826
+ attr_reader :download_duration
827
+
828
+ sig { params(download_duration: Integer).void }
829
+ attr_writer :download_duration
830
+
831
+ # Time spent encoding the video, in milliseconds.
832
+ sig { returns(T.nilable(Integer)) }
833
+ attr_reader :encoding_duration
834
+
835
+ sig { params(encoding_duration: Integer).void }
836
+ attr_writer :encoding_duration
837
+
838
+ # Performance metrics for the transformation process.
839
+ sig do
840
+ params(
841
+ download_duration: Integer,
842
+ encoding_duration: Integer
843
+ ).returns(T.attached_class)
844
+ end
845
+ def self.new(
846
+ # Time spent downloading the source video from your origin or media library, in
847
+ # milliseconds.
848
+ download_duration: nil,
849
+ # Time spent encoding the video, in milliseconds.
850
+ encoding_duration: nil
851
+ )
852
+ end
853
+
854
+ sig do
855
+ override.returns(
856
+ { download_duration: Integer, encoding_duration: Integer }
857
+ )
858
+ end
859
+ def to_hash
860
+ end
861
+ end
862
+ end
863
+ end
864
+ end