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,1300 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class UploadPreTransformSuccessEvent < Imagekitio::Models::BaseWebhookEvent
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Imagekitio::UploadPreTransformSuccessEvent,
10
+ Imagekitio::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Timestamp of when the event occurred in ISO8601 format.
15
+ sig { returns(Time) }
16
+ attr_accessor :created_at
17
+
18
+ # Object containing details of a successful upload.
19
+ sig { returns(Imagekitio::UploadPreTransformSuccessEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data: Imagekitio::UploadPreTransformSuccessEvent::Data::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :data
28
+
29
+ sig { returns(Imagekitio::UploadPreTransformSuccessEvent::Request) }
30
+ attr_reader :request
31
+
32
+ sig do
33
+ params(
34
+ request: Imagekitio::UploadPreTransformSuccessEvent::Request::OrHash
35
+ ).void
36
+ end
37
+ attr_writer :request
38
+
39
+ sig { returns(Symbol) }
40
+ attr_accessor :type
41
+
42
+ # Triggered when a pre-transformation completes successfully. The file has been
43
+ # processed with the requested transformation and is now available in the Media
44
+ # Library.
45
+ sig do
46
+ params(
47
+ created_at: Time,
48
+ data: Imagekitio::UploadPreTransformSuccessEvent::Data::OrHash,
49
+ request: Imagekitio::UploadPreTransformSuccessEvent::Request::OrHash,
50
+ type: Symbol
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ # Timestamp of when the event occurred in ISO8601 format.
55
+ created_at:,
56
+ # Object containing details of a successful upload.
57
+ data:,
58
+ request:,
59
+ type: :"upload.pre-transform.success"
60
+ )
61
+ end
62
+
63
+ sig do
64
+ override.returns(
65
+ {
66
+ created_at: Time,
67
+ data: Imagekitio::UploadPreTransformSuccessEvent::Data,
68
+ request: Imagekitio::UploadPreTransformSuccessEvent::Request,
69
+ type: Symbol
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+
76
+ class Data < Imagekitio::Internal::Type::BaseModel
77
+ OrHash =
78
+ T.type_alias do
79
+ T.any(
80
+ Imagekitio::UploadPreTransformSuccessEvent::Data,
81
+ Imagekitio::Internal::AnyHash
82
+ )
83
+ end
84
+
85
+ # An array of tags assigned to the uploaded file by auto tagging.
86
+ sig do
87
+ returns(
88
+ T.nilable(
89
+ T::Array[Imagekitio::UploadPreTransformSuccessEvent::Data::AITag]
90
+ )
91
+ )
92
+ end
93
+ attr_accessor :ai_tags
94
+
95
+ # The audio codec used in the video (only for video).
96
+ sig { returns(T.nilable(String)) }
97
+ attr_reader :audio_codec
98
+
99
+ sig { params(audio_codec: String).void }
100
+ attr_writer :audio_codec
101
+
102
+ # The bit rate of the video in kbps (only for video).
103
+ sig { returns(T.nilable(Integer)) }
104
+ attr_reader :bit_rate
105
+
106
+ sig { params(bit_rate: Integer).void }
107
+ attr_writer :bit_rate
108
+
109
+ # Value of custom coordinates associated with the image in the format
110
+ # `x,y,width,height`. If `customCoordinates` are not defined, then it is `null`.
111
+ # Send `customCoordinates` in `responseFields` in API request to get the value of
112
+ # this field.
113
+ sig { returns(T.nilable(String)) }
114
+ attr_accessor :custom_coordinates
115
+
116
+ # A key-value data associated with the asset. Use `responseField` in API request
117
+ # to get `customMetadata` in the upload API response. Before setting any custom
118
+ # metadata on an asset, you have to create the field using custom metadata fields
119
+ # API. Send `customMetadata` in `responseFields` in API request to get the value
120
+ # of this field.
121
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
122
+ attr_reader :custom_metadata
123
+
124
+ sig { params(custom_metadata: T::Hash[Symbol, T.anything]).void }
125
+ attr_writer :custom_metadata
126
+
127
+ # Optional text to describe the contents of the file. Can be set by the user or
128
+ # the ai-auto-description extension.
129
+ sig { returns(T.nilable(String)) }
130
+ attr_reader :description
131
+
132
+ sig { params(description: String).void }
133
+ attr_writer :description
134
+
135
+ # The duration of the video in seconds (only for video).
136
+ sig { returns(T.nilable(Integer)) }
137
+ attr_reader :duration
138
+
139
+ sig { params(duration: Integer).void }
140
+ attr_writer :duration
141
+
142
+ # Consolidated embedded metadata associated with the file. It includes exif, iptc,
143
+ # and xmp data. Send `embeddedMetadata` in `responseFields` in API request to get
144
+ # embeddedMetadata in the upload API response.
145
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
146
+ attr_reader :embedded_metadata
147
+
148
+ sig { params(embedded_metadata: T::Hash[Symbol, T.anything]).void }
149
+ attr_writer :embedded_metadata
150
+
151
+ # Extension names with their processing status at the time of completion of the
152
+ # request. It could have one of the following status values:
153
+ #
154
+ # `success`: The extension has been successfully applied. `failed`: The extension
155
+ # has failed and will not be retried. `pending`: The extension will finish
156
+ # processing in some time. On completion, the final status (success / failed) will
157
+ # be sent to the `webhookUrl` provided.
158
+ #
159
+ # If no extension was requested, then this parameter is not returned.
160
+ sig do
161
+ returns(
162
+ T.nilable(
163
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus
164
+ )
165
+ )
166
+ end
167
+ attr_reader :extension_status
168
+
169
+ sig do
170
+ params(
171
+ extension_status:
172
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::OrHash
173
+ ).void
174
+ end
175
+ attr_writer :extension_status
176
+
177
+ # Unique fileId. Store this fileld in your database, as this will be used to
178
+ # perform update action on this file.
179
+ sig { returns(T.nilable(String)) }
180
+ attr_reader :file_id
181
+
182
+ sig { params(file_id: String).void }
183
+ attr_writer :file_id
184
+
185
+ # The relative path of the file in the media library e.g.
186
+ # `/marketing-assets/new-banner.jpg`.
187
+ sig { returns(T.nilable(String)) }
188
+ attr_reader :file_path
189
+
190
+ sig { params(file_path: String).void }
191
+ attr_writer :file_path
192
+
193
+ # Type of the uploaded file. Possible values are `image`, `non-image`.
194
+ sig { returns(T.nilable(String)) }
195
+ attr_reader :file_type
196
+
197
+ sig { params(file_type: String).void }
198
+ attr_writer :file_type
199
+
200
+ # Height of the image in pixels (Only for images)
201
+ sig { returns(T.nilable(Float)) }
202
+ attr_reader :height
203
+
204
+ sig { params(height: Float).void }
205
+ attr_writer :height
206
+
207
+ # Is the file marked as private. It can be either `true` or `false`. Send
208
+ # `isPrivateFile` in `responseFields` in API request to get the value of this
209
+ # field.
210
+ sig { returns(T.nilable(T::Boolean)) }
211
+ attr_reader :is_private_file
212
+
213
+ sig { params(is_private_file: T::Boolean).void }
214
+ attr_writer :is_private_file
215
+
216
+ # Is the file published or in draft state. It can be either `true` or `false`.
217
+ # Send `isPublished` in `responseFields` in API request to get the value of this
218
+ # field.
219
+ sig { returns(T.nilable(T::Boolean)) }
220
+ attr_reader :is_published
221
+
222
+ sig { params(is_published: T::Boolean).void }
223
+ attr_writer :is_published
224
+
225
+ # Legacy metadata. Send `metadata` in `responseFields` in API request to get
226
+ # metadata in the upload API response.
227
+ sig { returns(T.nilable(Imagekitio::Metadata)) }
228
+ attr_reader :metadata
229
+
230
+ sig { params(metadata: Imagekitio::Metadata::OrHash).void }
231
+ attr_writer :metadata
232
+
233
+ # Name of the asset.
234
+ sig { returns(T.nilable(String)) }
235
+ attr_reader :name
236
+
237
+ sig { params(name: String).void }
238
+ attr_writer :name
239
+
240
+ # This field is included in the response only if the Path policy feature is
241
+ # available in the plan. It contains schema definitions for the custom metadata
242
+ # fields selected for the specified file path. Field selection can only be done
243
+ # when the Path policy feature is enabled.
244
+ #
245
+ # Keys are the names of the custom metadata fields; the value object has details
246
+ # about the custom metadata schema.
247
+ sig do
248
+ returns(
249
+ T.nilable(
250
+ T::Hash[
251
+ Symbol,
252
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema
253
+ ]
254
+ )
255
+ )
256
+ end
257
+ attr_reader :selected_fields_schema
258
+
259
+ sig do
260
+ params(
261
+ selected_fields_schema:
262
+ T::Hash[
263
+ Symbol,
264
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::OrHash
265
+ ]
266
+ ).void
267
+ end
268
+ attr_writer :selected_fields_schema
269
+
270
+ # Size of the image file in Bytes.
271
+ sig { returns(T.nilable(Float)) }
272
+ attr_reader :size
273
+
274
+ sig { params(size: Float).void }
275
+ attr_writer :size
276
+
277
+ # The array of tags associated with the asset. If no tags are set, it will be
278
+ # `null`. Send `tags` in `responseFields` in API request to get the value of this
279
+ # field.
280
+ sig { returns(T.nilable(T::Array[String])) }
281
+ attr_accessor :tags
282
+
283
+ # In the case of an image, a small thumbnail URL.
284
+ sig { returns(T.nilable(String)) }
285
+ attr_reader :thumbnail_url
286
+
287
+ sig { params(thumbnail_url: String).void }
288
+ attr_writer :thumbnail_url
289
+
290
+ # A publicly accessible URL of the file.
291
+ sig { returns(T.nilable(String)) }
292
+ attr_reader :url
293
+
294
+ sig { params(url: String).void }
295
+ attr_writer :url
296
+
297
+ # An object containing the file or file version's `id` (versionId) and `name`.
298
+ sig do
299
+ returns(
300
+ T.nilable(
301
+ Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo
302
+ )
303
+ )
304
+ end
305
+ attr_reader :version_info
306
+
307
+ sig do
308
+ params(
309
+ version_info:
310
+ Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo::OrHash
311
+ ).void
312
+ end
313
+ attr_writer :version_info
314
+
315
+ # The video codec used in the video (only for video).
316
+ sig { returns(T.nilable(String)) }
317
+ attr_reader :video_codec
318
+
319
+ sig { params(video_codec: String).void }
320
+ attr_writer :video_codec
321
+
322
+ # Width of the image in pixels (Only for Images)
323
+ sig { returns(T.nilable(Float)) }
324
+ attr_reader :width
325
+
326
+ sig { params(width: Float).void }
327
+ attr_writer :width
328
+
329
+ # Object containing details of a successful upload.
330
+ sig do
331
+ params(
332
+ ai_tags:
333
+ T.nilable(
334
+ T::Array[
335
+ Imagekitio::UploadPreTransformSuccessEvent::Data::AITag::OrHash
336
+ ]
337
+ ),
338
+ audio_codec: String,
339
+ bit_rate: Integer,
340
+ custom_coordinates: T.nilable(String),
341
+ custom_metadata: T::Hash[Symbol, T.anything],
342
+ description: String,
343
+ duration: Integer,
344
+ embedded_metadata: T::Hash[Symbol, T.anything],
345
+ extension_status:
346
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::OrHash,
347
+ file_id: String,
348
+ file_path: String,
349
+ file_type: String,
350
+ height: Float,
351
+ is_private_file: T::Boolean,
352
+ is_published: T::Boolean,
353
+ metadata: Imagekitio::Metadata::OrHash,
354
+ name: String,
355
+ selected_fields_schema:
356
+ T::Hash[
357
+ Symbol,
358
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::OrHash
359
+ ],
360
+ size: Float,
361
+ tags: T.nilable(T::Array[String]),
362
+ thumbnail_url: String,
363
+ url: String,
364
+ version_info:
365
+ Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo::OrHash,
366
+ video_codec: String,
367
+ width: Float
368
+ ).returns(T.attached_class)
369
+ end
370
+ def self.new(
371
+ # An array of tags assigned to the uploaded file by auto tagging.
372
+ ai_tags: nil,
373
+ # The audio codec used in the video (only for video).
374
+ audio_codec: nil,
375
+ # The bit rate of the video in kbps (only for video).
376
+ bit_rate: nil,
377
+ # Value of custom coordinates associated with the image in the format
378
+ # `x,y,width,height`. If `customCoordinates` are not defined, then it is `null`.
379
+ # Send `customCoordinates` in `responseFields` in API request to get the value of
380
+ # this field.
381
+ custom_coordinates: nil,
382
+ # A key-value data associated with the asset. Use `responseField` in API request
383
+ # to get `customMetadata` in the upload API response. Before setting any custom
384
+ # metadata on an asset, you have to create the field using custom metadata fields
385
+ # API. Send `customMetadata` in `responseFields` in API request to get the value
386
+ # of this field.
387
+ custom_metadata: nil,
388
+ # Optional text to describe the contents of the file. Can be set by the user or
389
+ # the ai-auto-description extension.
390
+ description: nil,
391
+ # The duration of the video in seconds (only for video).
392
+ duration: nil,
393
+ # Consolidated embedded metadata associated with the file. It includes exif, iptc,
394
+ # and xmp data. Send `embeddedMetadata` in `responseFields` in API request to get
395
+ # embeddedMetadata in the upload API response.
396
+ embedded_metadata: nil,
397
+ # Extension names with their processing status at the time of completion of the
398
+ # request. It could have one of the following status values:
399
+ #
400
+ # `success`: The extension has been successfully applied. `failed`: The extension
401
+ # has failed and will not be retried. `pending`: The extension will finish
402
+ # processing in some time. On completion, the final status (success / failed) will
403
+ # be sent to the `webhookUrl` provided.
404
+ #
405
+ # If no extension was requested, then this parameter is not returned.
406
+ extension_status: nil,
407
+ # Unique fileId. Store this fileld in your database, as this will be used to
408
+ # perform update action on this file.
409
+ file_id: nil,
410
+ # The relative path of the file in the media library e.g.
411
+ # `/marketing-assets/new-banner.jpg`.
412
+ file_path: nil,
413
+ # Type of the uploaded file. Possible values are `image`, `non-image`.
414
+ file_type: nil,
415
+ # Height of the image in pixels (Only for images)
416
+ height: nil,
417
+ # Is the file marked as private. It can be either `true` or `false`. Send
418
+ # `isPrivateFile` in `responseFields` in API request to get the value of this
419
+ # field.
420
+ is_private_file: nil,
421
+ # Is the file published or in draft state. It can be either `true` or `false`.
422
+ # Send `isPublished` in `responseFields` in API request to get the value of this
423
+ # field.
424
+ is_published: nil,
425
+ # Legacy metadata. Send `metadata` in `responseFields` in API request to get
426
+ # metadata in the upload API response.
427
+ metadata: nil,
428
+ # Name of the asset.
429
+ name: nil,
430
+ # This field is included in the response only if the Path policy feature is
431
+ # available in the plan. It contains schema definitions for the custom metadata
432
+ # fields selected for the specified file path. Field selection can only be done
433
+ # when the Path policy feature is enabled.
434
+ #
435
+ # Keys are the names of the custom metadata fields; the value object has details
436
+ # about the custom metadata schema.
437
+ selected_fields_schema: nil,
438
+ # Size of the image file in Bytes.
439
+ size: nil,
440
+ # The array of tags associated with the asset. If no tags are set, it will be
441
+ # `null`. Send `tags` in `responseFields` in API request to get the value of this
442
+ # field.
443
+ tags: nil,
444
+ # In the case of an image, a small thumbnail URL.
445
+ thumbnail_url: nil,
446
+ # A publicly accessible URL of the file.
447
+ url: nil,
448
+ # An object containing the file or file version's `id` (versionId) and `name`.
449
+ version_info: nil,
450
+ # The video codec used in the video (only for video).
451
+ video_codec: nil,
452
+ # Width of the image in pixels (Only for Images)
453
+ width: nil
454
+ )
455
+ end
456
+
457
+ sig do
458
+ override.returns(
459
+ {
460
+ ai_tags:
461
+ T.nilable(
462
+ T::Array[
463
+ Imagekitio::UploadPreTransformSuccessEvent::Data::AITag
464
+ ]
465
+ ),
466
+ audio_codec: String,
467
+ bit_rate: Integer,
468
+ custom_coordinates: T.nilable(String),
469
+ custom_metadata: T::Hash[Symbol, T.anything],
470
+ description: String,
471
+ duration: Integer,
472
+ embedded_metadata: T::Hash[Symbol, T.anything],
473
+ extension_status:
474
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus,
475
+ file_id: String,
476
+ file_path: String,
477
+ file_type: String,
478
+ height: Float,
479
+ is_private_file: T::Boolean,
480
+ is_published: T::Boolean,
481
+ metadata: Imagekitio::Metadata,
482
+ name: String,
483
+ selected_fields_schema:
484
+ T::Hash[
485
+ Symbol,
486
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema
487
+ ],
488
+ size: Float,
489
+ tags: T.nilable(T::Array[String]),
490
+ thumbnail_url: String,
491
+ url: String,
492
+ version_info:
493
+ Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo,
494
+ video_codec: String,
495
+ width: Float
496
+ }
497
+ )
498
+ end
499
+ def to_hash
500
+ end
501
+
502
+ class AITag < Imagekitio::Internal::Type::BaseModel
503
+ OrHash =
504
+ T.type_alias do
505
+ T.any(
506
+ Imagekitio::UploadPreTransformSuccessEvent::Data::AITag,
507
+ Imagekitio::Internal::AnyHash
508
+ )
509
+ end
510
+
511
+ # Confidence score of the tag.
512
+ sig { returns(T.nilable(Float)) }
513
+ attr_reader :confidence
514
+
515
+ sig { params(confidence: Float).void }
516
+ attr_writer :confidence
517
+
518
+ # Name of the tag.
519
+ sig { returns(T.nilable(String)) }
520
+ attr_reader :name
521
+
522
+ sig { params(name: String).void }
523
+ attr_writer :name
524
+
525
+ # Array of `AITags` associated with the image. If no `AITags` are set, it will be
526
+ # null. These tags can be added using the `google-auto-tagging` or
527
+ # `aws-auto-tagging` extensions.
528
+ sig { returns(T.nilable(String)) }
529
+ attr_reader :source
530
+
531
+ sig { params(source: String).void }
532
+ attr_writer :source
533
+
534
+ sig do
535
+ params(confidence: Float, name: String, source: String).returns(
536
+ T.attached_class
537
+ )
538
+ end
539
+ def self.new(
540
+ # Confidence score of the tag.
541
+ confidence: nil,
542
+ # Name of the tag.
543
+ name: nil,
544
+ # Array of `AITags` associated with the image. If no `AITags` are set, it will be
545
+ # null. These tags can be added using the `google-auto-tagging` or
546
+ # `aws-auto-tagging` extensions.
547
+ source: nil
548
+ )
549
+ end
550
+
551
+ sig do
552
+ override.returns(
553
+ { confidence: Float, name: String, source: String }
554
+ )
555
+ end
556
+ def to_hash
557
+ end
558
+ end
559
+
560
+ class ExtensionStatus < Imagekitio::Internal::Type::BaseModel
561
+ OrHash =
562
+ T.type_alias do
563
+ T.any(
564
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus,
565
+ Imagekitio::Internal::AnyHash
566
+ )
567
+ end
568
+
569
+ sig do
570
+ returns(
571
+ T.nilable(
572
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AIAutoDescription::TaggedSymbol
573
+ )
574
+ )
575
+ end
576
+ attr_reader :ai_auto_description
577
+
578
+ sig do
579
+ params(
580
+ ai_auto_description:
581
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AIAutoDescription::OrSymbol
582
+ ).void
583
+ end
584
+ attr_writer :ai_auto_description
585
+
586
+ sig do
587
+ returns(
588
+ T.nilable(
589
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AwsAutoTagging::TaggedSymbol
590
+ )
591
+ )
592
+ end
593
+ attr_reader :aws_auto_tagging
594
+
595
+ sig do
596
+ params(
597
+ aws_auto_tagging:
598
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AwsAutoTagging::OrSymbol
599
+ ).void
600
+ end
601
+ attr_writer :aws_auto_tagging
602
+
603
+ sig do
604
+ returns(
605
+ T.nilable(
606
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::GoogleAutoTagging::TaggedSymbol
607
+ )
608
+ )
609
+ end
610
+ attr_reader :google_auto_tagging
611
+
612
+ sig do
613
+ params(
614
+ google_auto_tagging:
615
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::GoogleAutoTagging::OrSymbol
616
+ ).void
617
+ end
618
+ attr_writer :google_auto_tagging
619
+
620
+ sig do
621
+ returns(
622
+ T.nilable(
623
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::RemoveBg::TaggedSymbol
624
+ )
625
+ )
626
+ end
627
+ attr_reader :remove_bg
628
+
629
+ sig do
630
+ params(
631
+ remove_bg:
632
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::RemoveBg::OrSymbol
633
+ ).void
634
+ end
635
+ attr_writer :remove_bg
636
+
637
+ # Extension names with their processing status at the time of completion of the
638
+ # request. It could have one of the following status values:
639
+ #
640
+ # `success`: The extension has been successfully applied. `failed`: The extension
641
+ # has failed and will not be retried. `pending`: The extension will finish
642
+ # processing in some time. On completion, the final status (success / failed) will
643
+ # be sent to the `webhookUrl` provided.
644
+ #
645
+ # If no extension was requested, then this parameter is not returned.
646
+ sig do
647
+ params(
648
+ ai_auto_description:
649
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AIAutoDescription::OrSymbol,
650
+ aws_auto_tagging:
651
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AwsAutoTagging::OrSymbol,
652
+ google_auto_tagging:
653
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::GoogleAutoTagging::OrSymbol,
654
+ remove_bg:
655
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::RemoveBg::OrSymbol
656
+ ).returns(T.attached_class)
657
+ end
658
+ def self.new(
659
+ ai_auto_description: nil,
660
+ aws_auto_tagging: nil,
661
+ google_auto_tagging: nil,
662
+ remove_bg: nil
663
+ )
664
+ end
665
+
666
+ sig do
667
+ override.returns(
668
+ {
669
+ ai_auto_description:
670
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AIAutoDescription::TaggedSymbol,
671
+ aws_auto_tagging:
672
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AwsAutoTagging::TaggedSymbol,
673
+ google_auto_tagging:
674
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::GoogleAutoTagging::TaggedSymbol,
675
+ remove_bg:
676
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::RemoveBg::TaggedSymbol
677
+ }
678
+ )
679
+ end
680
+ def to_hash
681
+ end
682
+
683
+ module AIAutoDescription
684
+ extend Imagekitio::Internal::Type::Enum
685
+
686
+ TaggedSymbol =
687
+ T.type_alias do
688
+ T.all(
689
+ Symbol,
690
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AIAutoDescription
691
+ )
692
+ end
693
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
694
+
695
+ SUCCESS =
696
+ T.let(
697
+ :success,
698
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AIAutoDescription::TaggedSymbol
699
+ )
700
+ PENDING =
701
+ T.let(
702
+ :pending,
703
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AIAutoDescription::TaggedSymbol
704
+ )
705
+ FAILED =
706
+ T.let(
707
+ :failed,
708
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AIAutoDescription::TaggedSymbol
709
+ )
710
+
711
+ sig do
712
+ override.returns(
713
+ T::Array[
714
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AIAutoDescription::TaggedSymbol
715
+ ]
716
+ )
717
+ end
718
+ def self.values
719
+ end
720
+ end
721
+
722
+ module AwsAutoTagging
723
+ extend Imagekitio::Internal::Type::Enum
724
+
725
+ TaggedSymbol =
726
+ T.type_alias do
727
+ T.all(
728
+ Symbol,
729
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AwsAutoTagging
730
+ )
731
+ end
732
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
733
+
734
+ SUCCESS =
735
+ T.let(
736
+ :success,
737
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AwsAutoTagging::TaggedSymbol
738
+ )
739
+ PENDING =
740
+ T.let(
741
+ :pending,
742
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AwsAutoTagging::TaggedSymbol
743
+ )
744
+ FAILED =
745
+ T.let(
746
+ :failed,
747
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AwsAutoTagging::TaggedSymbol
748
+ )
749
+
750
+ sig do
751
+ override.returns(
752
+ T::Array[
753
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::AwsAutoTagging::TaggedSymbol
754
+ ]
755
+ )
756
+ end
757
+ def self.values
758
+ end
759
+ end
760
+
761
+ module GoogleAutoTagging
762
+ extend Imagekitio::Internal::Type::Enum
763
+
764
+ TaggedSymbol =
765
+ T.type_alias do
766
+ T.all(
767
+ Symbol,
768
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::GoogleAutoTagging
769
+ )
770
+ end
771
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
772
+
773
+ SUCCESS =
774
+ T.let(
775
+ :success,
776
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::GoogleAutoTagging::TaggedSymbol
777
+ )
778
+ PENDING =
779
+ T.let(
780
+ :pending,
781
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::GoogleAutoTagging::TaggedSymbol
782
+ )
783
+ FAILED =
784
+ T.let(
785
+ :failed,
786
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::GoogleAutoTagging::TaggedSymbol
787
+ )
788
+
789
+ sig do
790
+ override.returns(
791
+ T::Array[
792
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::GoogleAutoTagging::TaggedSymbol
793
+ ]
794
+ )
795
+ end
796
+ def self.values
797
+ end
798
+ end
799
+
800
+ module RemoveBg
801
+ extend Imagekitio::Internal::Type::Enum
802
+
803
+ TaggedSymbol =
804
+ T.type_alias do
805
+ T.all(
806
+ Symbol,
807
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::RemoveBg
808
+ )
809
+ end
810
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
811
+
812
+ SUCCESS =
813
+ T.let(
814
+ :success,
815
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::RemoveBg::TaggedSymbol
816
+ )
817
+ PENDING =
818
+ T.let(
819
+ :pending,
820
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::RemoveBg::TaggedSymbol
821
+ )
822
+ FAILED =
823
+ T.let(
824
+ :failed,
825
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::RemoveBg::TaggedSymbol
826
+ )
827
+
828
+ sig do
829
+ override.returns(
830
+ T::Array[
831
+ Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus::RemoveBg::TaggedSymbol
832
+ ]
833
+ )
834
+ end
835
+ def self.values
836
+ end
837
+ end
838
+ end
839
+
840
+ class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel
841
+ OrHash =
842
+ T.type_alias do
843
+ T.any(
844
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema,
845
+ Imagekitio::Internal::AnyHash
846
+ )
847
+ end
848
+
849
+ # Type of the custom metadata field.
850
+ sig do
851
+ returns(
852
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol
853
+ )
854
+ end
855
+ attr_accessor :type
856
+
857
+ # The default value for this custom metadata field. The value should match the
858
+ # `type` of custom metadata field.
859
+ sig do
860
+ returns(
861
+ T.nilable(
862
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants
863
+ )
864
+ )
865
+ end
866
+ attr_reader :default_value
867
+
868
+ sig do
869
+ params(
870
+ default_value:
871
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants
872
+ ).void
873
+ end
874
+ attr_writer :default_value
875
+
876
+ # Specifies if the custom metadata field is required or not.
877
+ sig { returns(T.nilable(T::Boolean)) }
878
+ attr_reader :is_value_required
879
+
880
+ sig { params(is_value_required: T::Boolean).void }
881
+ attr_writer :is_value_required
882
+
883
+ # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
884
+ sig { returns(T.nilable(Float)) }
885
+ attr_reader :max_length
886
+
887
+ sig { params(max_length: Float).void }
888
+ attr_writer :max_length
889
+
890
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
891
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
892
+ # field, it will be a numeric value.
893
+ sig do
894
+ returns(
895
+ T.nilable(
896
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants
897
+ )
898
+ )
899
+ end
900
+ attr_reader :max_value
901
+
902
+ sig do
903
+ params(
904
+ max_value:
905
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants
906
+ ).void
907
+ end
908
+ attr_writer :max_value
909
+
910
+ # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
911
+ sig { returns(T.nilable(Float)) }
912
+ attr_reader :min_length
913
+
914
+ sig { params(min_length: Float).void }
915
+ attr_writer :min_length
916
+
917
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
918
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
919
+ # field, it will be a numeric value.
920
+ sig do
921
+ returns(
922
+ T.nilable(
923
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants
924
+ )
925
+ )
926
+ end
927
+ attr_reader :min_value
928
+
929
+ sig do
930
+ params(
931
+ min_value:
932
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants
933
+ ).void
934
+ end
935
+ attr_writer :min_value
936
+
937
+ # Indicates whether the custom metadata field is read only. A read only field
938
+ # cannot be modified after being set. This field is configurable only via the
939
+ # **Path policy** feature.
940
+ sig { returns(T.nilable(T::Boolean)) }
941
+ attr_reader :read_only
942
+
943
+ sig { params(read_only: T::Boolean).void }
944
+ attr_writer :read_only
945
+
946
+ # An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
947
+ sig do
948
+ returns(
949
+ T.nilable(
950
+ T::Array[
951
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants
952
+ ]
953
+ )
954
+ )
955
+ end
956
+ attr_reader :select_options
957
+
958
+ sig do
959
+ params(
960
+ select_options:
961
+ T::Array[
962
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants
963
+ ]
964
+ ).void
965
+ end
966
+ attr_writer :select_options
967
+
968
+ # Specifies if the selectOptions array is truncated. It is truncated when number
969
+ # of options are > 100.
970
+ sig { returns(T.nilable(T::Boolean)) }
971
+ attr_reader :select_options_truncated
972
+
973
+ sig { params(select_options_truncated: T::Boolean).void }
974
+ attr_writer :select_options_truncated
975
+
976
+ sig do
977
+ params(
978
+ type:
979
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::OrSymbol,
980
+ default_value:
981
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants,
982
+ is_value_required: T::Boolean,
983
+ max_length: Float,
984
+ max_value:
985
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants,
986
+ min_length: Float,
987
+ min_value:
988
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants,
989
+ read_only: T::Boolean,
990
+ select_options:
991
+ T::Array[
992
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants
993
+ ],
994
+ select_options_truncated: T::Boolean
995
+ ).returns(T.attached_class)
996
+ end
997
+ def self.new(
998
+ # Type of the custom metadata field.
999
+ type:,
1000
+ # The default value for this custom metadata field. The value should match the
1001
+ # `type` of custom metadata field.
1002
+ default_value: nil,
1003
+ # Specifies if the custom metadata field is required or not.
1004
+ is_value_required: nil,
1005
+ # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
1006
+ max_length: nil,
1007
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
1008
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
1009
+ # field, it will be a numeric value.
1010
+ max_value: nil,
1011
+ # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
1012
+ min_length: nil,
1013
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
1014
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
1015
+ # field, it will be a numeric value.
1016
+ min_value: nil,
1017
+ # Indicates whether the custom metadata field is read only. A read only field
1018
+ # cannot be modified after being set. This field is configurable only via the
1019
+ # **Path policy** feature.
1020
+ read_only: nil,
1021
+ # An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
1022
+ select_options: nil,
1023
+ # Specifies if the selectOptions array is truncated. It is truncated when number
1024
+ # of options are > 100.
1025
+ select_options_truncated: nil
1026
+ )
1027
+ end
1028
+
1029
+ sig do
1030
+ override.returns(
1031
+ {
1032
+ type:
1033
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol,
1034
+ default_value:
1035
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants,
1036
+ is_value_required: T::Boolean,
1037
+ max_length: Float,
1038
+ max_value:
1039
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants,
1040
+ min_length: Float,
1041
+ min_value:
1042
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants,
1043
+ read_only: T::Boolean,
1044
+ select_options:
1045
+ T::Array[
1046
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants
1047
+ ],
1048
+ select_options_truncated: T::Boolean
1049
+ }
1050
+ )
1051
+ end
1052
+ def to_hash
1053
+ end
1054
+
1055
+ # Type of the custom metadata field.
1056
+ module Type
1057
+ extend Imagekitio::Internal::Type::Enum
1058
+
1059
+ TaggedSymbol =
1060
+ T.type_alias do
1061
+ T.all(
1062
+ Symbol,
1063
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type
1064
+ )
1065
+ end
1066
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1067
+
1068
+ TEXT =
1069
+ T.let(
1070
+ :Text,
1071
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol
1072
+ )
1073
+ TEXTAREA =
1074
+ T.let(
1075
+ :Textarea,
1076
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol
1077
+ )
1078
+ NUMBER =
1079
+ T.let(
1080
+ :Number,
1081
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol
1082
+ )
1083
+ DATE =
1084
+ T.let(
1085
+ :Date,
1086
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol
1087
+ )
1088
+ BOOLEAN =
1089
+ T.let(
1090
+ :Boolean,
1091
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol
1092
+ )
1093
+ SINGLE_SELECT =
1094
+ T.let(
1095
+ :SingleSelect,
1096
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol
1097
+ )
1098
+ MULTI_SELECT =
1099
+ T.let(
1100
+ :MultiSelect,
1101
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol
1102
+ )
1103
+
1104
+ sig do
1105
+ override.returns(
1106
+ T::Array[
1107
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol
1108
+ ]
1109
+ )
1110
+ end
1111
+ def self.values
1112
+ end
1113
+ end
1114
+
1115
+ # The default value for this custom metadata field. The value should match the
1116
+ # `type` of custom metadata field.
1117
+ module DefaultValue
1118
+ extend Imagekitio::Internal::Type::Union
1119
+
1120
+ Variants =
1121
+ T.type_alias do
1122
+ T.any(
1123
+ String,
1124
+ Float,
1125
+ T::Boolean,
1126
+ T::Array[
1127
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Mixed::Variants
1128
+ ]
1129
+ )
1130
+ end
1131
+
1132
+ module Mixed
1133
+ extend Imagekitio::Internal::Type::Union
1134
+
1135
+ Variants = T.type_alias { T.any(String, Float, T::Boolean) }
1136
+
1137
+ sig do
1138
+ override.returns(
1139
+ T::Array[
1140
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Mixed::Variants
1141
+ ]
1142
+ )
1143
+ end
1144
+ def self.variants
1145
+ end
1146
+ end
1147
+
1148
+ sig do
1149
+ override.returns(
1150
+ T::Array[
1151
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants
1152
+ ]
1153
+ )
1154
+ end
1155
+ def self.variants
1156
+ end
1157
+
1158
+ MixedArray =
1159
+ T.let(
1160
+ Imagekitio::Internal::Type::ArrayOf[
1161
+ union:
1162
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Mixed
1163
+ ],
1164
+ Imagekitio::Internal::Type::Converter
1165
+ )
1166
+ end
1167
+
1168
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
1169
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
1170
+ # field, it will be a numeric value.
1171
+ module MaxValue
1172
+ extend Imagekitio::Internal::Type::Union
1173
+
1174
+ Variants = T.type_alias { T.any(String, Float) }
1175
+
1176
+ sig do
1177
+ override.returns(
1178
+ T::Array[
1179
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants
1180
+ ]
1181
+ )
1182
+ end
1183
+ def self.variants
1184
+ end
1185
+ end
1186
+
1187
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
1188
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
1189
+ # field, it will be a numeric value.
1190
+ module MinValue
1191
+ extend Imagekitio::Internal::Type::Union
1192
+
1193
+ Variants = T.type_alias { T.any(String, Float) }
1194
+
1195
+ sig do
1196
+ override.returns(
1197
+ T::Array[
1198
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants
1199
+ ]
1200
+ )
1201
+ end
1202
+ def self.variants
1203
+ end
1204
+ end
1205
+
1206
+ module SelectOption
1207
+ extend Imagekitio::Internal::Type::Union
1208
+
1209
+ Variants = T.type_alias { T.any(String, Float, T::Boolean) }
1210
+
1211
+ sig do
1212
+ override.returns(
1213
+ T::Array[
1214
+ Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants
1215
+ ]
1216
+ )
1217
+ end
1218
+ def self.variants
1219
+ end
1220
+ end
1221
+ end
1222
+
1223
+ class VersionInfo < Imagekitio::Internal::Type::BaseModel
1224
+ OrHash =
1225
+ T.type_alias do
1226
+ T.any(
1227
+ Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo,
1228
+ Imagekitio::Internal::AnyHash
1229
+ )
1230
+ end
1231
+
1232
+ # Unique identifier of the file version.
1233
+ sig { returns(T.nilable(String)) }
1234
+ attr_reader :id
1235
+
1236
+ sig { params(id: String).void }
1237
+ attr_writer :id
1238
+
1239
+ # Name of the file version.
1240
+ sig { returns(T.nilable(String)) }
1241
+ attr_reader :name
1242
+
1243
+ sig { params(name: String).void }
1244
+ attr_writer :name
1245
+
1246
+ # An object containing the file or file version's `id` (versionId) and `name`.
1247
+ sig { params(id: String, name: String).returns(T.attached_class) }
1248
+ def self.new(
1249
+ # Unique identifier of the file version.
1250
+ id: nil,
1251
+ # Name of the file version.
1252
+ name: nil
1253
+ )
1254
+ end
1255
+
1256
+ sig { override.returns({ id: String, name: String }) }
1257
+ def to_hash
1258
+ end
1259
+ end
1260
+ end
1261
+
1262
+ class Request < Imagekitio::Internal::Type::BaseModel
1263
+ OrHash =
1264
+ T.type_alias do
1265
+ T.any(
1266
+ Imagekitio::UploadPreTransformSuccessEvent::Request,
1267
+ Imagekitio::Internal::AnyHash
1268
+ )
1269
+ end
1270
+
1271
+ # The requested pre-transformation string.
1272
+ sig { returns(String) }
1273
+ attr_accessor :transformation
1274
+
1275
+ # Unique identifier for the originating request.
1276
+ sig { returns(String) }
1277
+ attr_accessor :x_request_id
1278
+
1279
+ sig do
1280
+ params(transformation: String, x_request_id: String).returns(
1281
+ T.attached_class
1282
+ )
1283
+ end
1284
+ def self.new(
1285
+ # The requested pre-transformation string.
1286
+ transformation:,
1287
+ # Unique identifier for the originating request.
1288
+ x_request_id:
1289
+ )
1290
+ end
1291
+
1292
+ sig do
1293
+ override.returns({ transformation: String, x_request_id: String })
1294
+ end
1295
+ def to_hash
1296
+ end
1297
+ end
1298
+ end
1299
+ end
1300
+ end