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