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