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,611 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ # @see Imagekitio::Resources::Files#upload
6
+ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel
7
+ # @!attribute ai_tags
8
+ # An array of tags assigned to the uploaded file by auto tagging.
9
+ #
10
+ # @return [Array<Imagekitio::Models::FileUploadResponse::AITag>, nil]
11
+ optional :ai_tags,
12
+ -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::Models::FileUploadResponse::AITag] },
13
+ api_name: :AITags,
14
+ nil?: true
15
+
16
+ # @!attribute audio_codec
17
+ # The audio codec used in the video (only for video).
18
+ #
19
+ # @return [String, nil]
20
+ optional :audio_codec, String, api_name: :audioCodec
21
+
22
+ # @!attribute bit_rate
23
+ # The bit rate of the video in kbps (only for video).
24
+ #
25
+ # @return [Integer, nil]
26
+ optional :bit_rate, Integer, api_name: :bitRate
27
+
28
+ # @!attribute custom_coordinates
29
+ # Value of custom coordinates associated with the image in the format
30
+ # `x,y,width,height`. If `customCoordinates` are not defined, then it is `null`.
31
+ # Send `customCoordinates` in `responseFields` in API request to get the value of
32
+ # this field.
33
+ #
34
+ # @return [String, nil]
35
+ optional :custom_coordinates, String, api_name: :customCoordinates, nil?: true
36
+
37
+ # @!attribute custom_metadata
38
+ # A key-value data associated with the asset. Use `responseField` in API request
39
+ # to get `customMetadata` in the upload API response. Before setting any custom
40
+ # metadata on an asset, you have to create the field using custom metadata fields
41
+ # API. Send `customMetadata` in `responseFields` in API request to get the value
42
+ # of this field.
43
+ #
44
+ # @return [Hash{Symbol=>Object}, nil]
45
+ optional :custom_metadata,
46
+ Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown],
47
+ api_name: :customMetadata
48
+
49
+ # @!attribute description
50
+ # Optional text to describe the contents of the file. Can be set by the user or
51
+ # the ai-auto-description extension.
52
+ #
53
+ # @return [String, nil]
54
+ optional :description, String
55
+
56
+ # @!attribute duration
57
+ # The duration of the video in seconds (only for video).
58
+ #
59
+ # @return [Integer, nil]
60
+ optional :duration, Integer
61
+
62
+ # @!attribute embedded_metadata
63
+ # Consolidated embedded metadata associated with the file. It includes exif, iptc,
64
+ # and xmp data. Send `embeddedMetadata` in `responseFields` in API request to get
65
+ # embeddedMetadata in the upload API response.
66
+ #
67
+ # @return [Hash{Symbol=>Object}, nil]
68
+ optional :embedded_metadata,
69
+ Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown],
70
+ api_name: :embeddedMetadata
71
+
72
+ # @!attribute extension_status
73
+ # Extension names with their processing status at the time of completion of the
74
+ # request. It could have one of the following status values:
75
+ #
76
+ # `success`: The extension has been successfully applied. `failed`: The extension
77
+ # has failed and will not be retried. `pending`: The extension will finish
78
+ # processing in some time. On completion, the final status (success / failed) will
79
+ # be sent to the `webhookUrl` provided.
80
+ #
81
+ # If no extension was requested, then this parameter is not returned.
82
+ #
83
+ # @return [Imagekitio::Models::FileUploadResponse::ExtensionStatus, nil]
84
+ optional :extension_status,
85
+ -> { Imagekitio::Models::FileUploadResponse::ExtensionStatus },
86
+ api_name: :extensionStatus
87
+
88
+ # @!attribute file_id
89
+ # Unique fileId. Store this fileld in your database, as this will be used to
90
+ # perform update action on this file.
91
+ #
92
+ # @return [String, nil]
93
+ optional :file_id, String, api_name: :fileId
94
+
95
+ # @!attribute file_path
96
+ # The relative path of the file in the media library e.g.
97
+ # `/marketing-assets/new-banner.jpg`.
98
+ #
99
+ # @return [String, nil]
100
+ optional :file_path, String, api_name: :filePath
101
+
102
+ # @!attribute file_type
103
+ # Type of the uploaded file. Possible values are `image`, `non-image`.
104
+ #
105
+ # @return [String, nil]
106
+ optional :file_type, String, api_name: :fileType
107
+
108
+ # @!attribute height
109
+ # Height of the image in pixels (Only for images)
110
+ #
111
+ # @return [Float, nil]
112
+ optional :height, Float
113
+
114
+ # @!attribute is_private_file
115
+ # Is the file marked as private. It can be either `true` or `false`. Send
116
+ # `isPrivateFile` in `responseFields` in API request to get the value of this
117
+ # field.
118
+ #
119
+ # @return [Boolean, nil]
120
+ optional :is_private_file, Imagekitio::Internal::Type::Boolean, api_name: :isPrivateFile
121
+
122
+ # @!attribute is_published
123
+ # Is the file published or in draft state. It can be either `true` or `false`.
124
+ # Send `isPublished` in `responseFields` in API request to get the value of this
125
+ # field.
126
+ #
127
+ # @return [Boolean, nil]
128
+ optional :is_published, Imagekitio::Internal::Type::Boolean, api_name: :isPublished
129
+
130
+ # @!attribute metadata
131
+ # Legacy metadata. Send `metadata` in `responseFields` in API request to get
132
+ # metadata in the upload API response.
133
+ #
134
+ # @return [Imagekitio::Models::Metadata, nil]
135
+ optional :metadata, -> { Imagekitio::Metadata }
136
+
137
+ # @!attribute name
138
+ # Name of the asset.
139
+ #
140
+ # @return [String, nil]
141
+ optional :name, String
142
+
143
+ # @!attribute selected_fields_schema
144
+ # This field is included in the response only if the Path policy feature is
145
+ # available in the plan. It contains schema definitions for the custom metadata
146
+ # fields selected for the specified file path. Field selection can only be done
147
+ # when the Path policy feature is enabled.
148
+ #
149
+ # Keys are the names of the custom metadata fields; the value object has details
150
+ # about the custom metadata schema.
151
+ #
152
+ # @return [Hash{Symbol=>Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema}, nil]
153
+ optional :selected_fields_schema,
154
+ -> { Imagekitio::Internal::Type::HashOf[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema] },
155
+ api_name: :selectedFieldsSchema
156
+
157
+ # @!attribute size
158
+ # Size of the image file in Bytes.
159
+ #
160
+ # @return [Float, nil]
161
+ optional :size, Float
162
+
163
+ # @!attribute tags
164
+ # The array of tags associated with the asset. If no tags are set, it will be
165
+ # `null`. Send `tags` in `responseFields` in API request to get the value of this
166
+ # field.
167
+ #
168
+ # @return [Array<String>, nil]
169
+ optional :tags, Imagekitio::Internal::Type::ArrayOf[String], nil?: true
170
+
171
+ # @!attribute thumbnail_url
172
+ # In the case of an image, a small thumbnail URL.
173
+ #
174
+ # @return [String, nil]
175
+ optional :thumbnail_url, String, api_name: :thumbnailUrl
176
+
177
+ # @!attribute url
178
+ # A publicly accessible URL of the file.
179
+ #
180
+ # @return [String, nil]
181
+ optional :url, String
182
+
183
+ # @!attribute version_info
184
+ # An object containing the file or file version's `id` (versionId) and `name`.
185
+ #
186
+ # @return [Imagekitio::Models::FileUploadResponse::VersionInfo, nil]
187
+ optional :version_info, -> { Imagekitio::Models::FileUploadResponse::VersionInfo }, api_name: :versionInfo
188
+
189
+ # @!attribute video_codec
190
+ # The video codec used in the video (only for video).
191
+ #
192
+ # @return [String, nil]
193
+ optional :video_codec, String, api_name: :videoCodec
194
+
195
+ # @!attribute width
196
+ # Width of the image in pixels (Only for Images)
197
+ #
198
+ # @return [Float, nil]
199
+ optional :width, Float
200
+
201
+ # @!method initialize(ai_tags: nil, audio_codec: nil, bit_rate: nil, custom_coordinates: nil, custom_metadata: nil, description: nil, duration: nil, embedded_metadata: nil, extension_status: nil, file_id: nil, file_path: nil, file_type: nil, height: nil, is_private_file: nil, is_published: nil, metadata: nil, name: nil, selected_fields_schema: nil, size: nil, tags: nil, thumbnail_url: nil, url: nil, version_info: nil, video_codec: nil, width: nil)
202
+ # Some parameter documentations has been truncated, see
203
+ # {Imagekitio::Models::FileUploadResponse} for more details.
204
+ #
205
+ # Object containing details of a successful upload.
206
+ #
207
+ # @param ai_tags [Array<Imagekitio::Models::FileUploadResponse::AITag>, nil] An array of tags assigned to the uploaded file by auto tagging.
208
+ #
209
+ # @param audio_codec [String] The audio codec used in the video (only for video).
210
+ #
211
+ # @param bit_rate [Integer] The bit rate of the video in kbps (only for video).
212
+ #
213
+ # @param custom_coordinates [String, nil] Value of custom coordinates associated with the image in the format `x,y,width,h
214
+ #
215
+ # @param custom_metadata [Hash{Symbol=>Object}] A key-value data associated with the asset. Use `responseField` in API request t
216
+ #
217
+ # @param description [String] Optional text to describe the contents of the file. Can be set by the user or th
218
+ #
219
+ # @param duration [Integer] The duration of the video in seconds (only for video).
220
+ #
221
+ # @param embedded_metadata [Hash{Symbol=>Object}] Consolidated embedded metadata associated with the file. It includes exif, iptc,
222
+ #
223
+ # @param extension_status [Imagekitio::Models::FileUploadResponse::ExtensionStatus] Extension names with their processing status at the time of completion of the re
224
+ #
225
+ # @param file_id [String] Unique fileId. Store this fileld in your database, as this will be used to perfo
226
+ #
227
+ # @param file_path [String] The relative path of the file in the media library e.g. `/marketing-assets/new-b
228
+ #
229
+ # @param file_type [String] Type of the uploaded file. Possible values are `image`, `non-image`.
230
+ #
231
+ # @param height [Float] Height of the image in pixels (Only for images)
232
+ #
233
+ # @param is_private_file [Boolean] Is the file marked as private. It can be either `true` or `false`. Send `isPriva
234
+ #
235
+ # @param is_published [Boolean] Is the file published or in draft state. It can be either `true` or `false`. Sen
236
+ #
237
+ # @param metadata [Imagekitio::Models::Metadata] Legacy metadata. Send `metadata` in `responseFields` in API request to get metad
238
+ #
239
+ # @param name [String] Name of the asset.
240
+ #
241
+ # @param selected_fields_schema [Hash{Symbol=>Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema}] This field is included in the response only if the Path policy feature is availa
242
+ #
243
+ # @param size [Float] Size of the image file in Bytes.
244
+ #
245
+ # @param tags [Array<String>, nil] The array of tags associated with the asset. If no tags are set, it will be `nul
246
+ #
247
+ # @param thumbnail_url [String] In the case of an image, a small thumbnail URL.
248
+ #
249
+ # @param url [String] A publicly accessible URL of the file.
250
+ #
251
+ # @param version_info [Imagekitio::Models::FileUploadResponse::VersionInfo] An object containing the file or file version's `id` (versionId) and `name`.
252
+ #
253
+ # @param video_codec [String] The video codec used in the video (only for video).
254
+ #
255
+ # @param width [Float] Width of the image in pixels (Only for Images)
256
+
257
+ class AITag < Imagekitio::Internal::Type::BaseModel
258
+ # @!attribute confidence
259
+ # Confidence score of the tag.
260
+ #
261
+ # @return [Float, nil]
262
+ optional :confidence, Float
263
+
264
+ # @!attribute name
265
+ # Name of the tag.
266
+ #
267
+ # @return [String, nil]
268
+ optional :name, String
269
+
270
+ # @!attribute source
271
+ # Array of `AITags` associated with the image. If no `AITags` are set, it will be
272
+ # null. These tags can be added using the `google-auto-tagging` or
273
+ # `aws-auto-tagging` extensions.
274
+ #
275
+ # @return [String, nil]
276
+ optional :source, String
277
+
278
+ # @!method initialize(confidence: nil, name: nil, source: nil)
279
+ # Some parameter documentations has been truncated, see
280
+ # {Imagekitio::Models::FileUploadResponse::AITag} for more details.
281
+ #
282
+ # @param confidence [Float] Confidence score of the tag.
283
+ #
284
+ # @param name [String] Name of the tag.
285
+ #
286
+ # @param source [String] Array of `AITags` associated with the image. If no `AITags` are set, it will be
287
+ end
288
+
289
+ # @see Imagekitio::Models::FileUploadResponse#extension_status
290
+ class ExtensionStatus < Imagekitio::Internal::Type::BaseModel
291
+ # @!attribute ai_auto_description
292
+ #
293
+ # @return [Symbol, Imagekitio::Models::FileUploadResponse::ExtensionStatus::AIAutoDescription, nil]
294
+ optional :ai_auto_description,
295
+ enum: -> { Imagekitio::Models::FileUploadResponse::ExtensionStatus::AIAutoDescription },
296
+ api_name: :"ai-auto-description"
297
+
298
+ # @!attribute aws_auto_tagging
299
+ #
300
+ # @return [Symbol, Imagekitio::Models::FileUploadResponse::ExtensionStatus::AwsAutoTagging, nil]
301
+ optional :aws_auto_tagging,
302
+ enum: -> { Imagekitio::Models::FileUploadResponse::ExtensionStatus::AwsAutoTagging },
303
+ api_name: :"aws-auto-tagging"
304
+
305
+ # @!attribute google_auto_tagging
306
+ #
307
+ # @return [Symbol, Imagekitio::Models::FileUploadResponse::ExtensionStatus::GoogleAutoTagging, nil]
308
+ optional :google_auto_tagging,
309
+ enum: -> { Imagekitio::Models::FileUploadResponse::ExtensionStatus::GoogleAutoTagging },
310
+ api_name: :"google-auto-tagging"
311
+
312
+ # @!attribute remove_bg
313
+ #
314
+ # @return [Symbol, Imagekitio::Models::FileUploadResponse::ExtensionStatus::RemoveBg, nil]
315
+ optional :remove_bg,
316
+ enum: -> { Imagekitio::Models::FileUploadResponse::ExtensionStatus::RemoveBg },
317
+ api_name: :"remove-bg"
318
+
319
+ # @!method initialize(ai_auto_description: nil, aws_auto_tagging: nil, google_auto_tagging: nil, remove_bg: nil)
320
+ # Extension names with their processing status at the time of completion of the
321
+ # request. It could have one of the following status values:
322
+ #
323
+ # `success`: The extension has been successfully applied. `failed`: The extension
324
+ # has failed and will not be retried. `pending`: The extension will finish
325
+ # processing in some time. On completion, the final status (success / failed) will
326
+ # be sent to the `webhookUrl` provided.
327
+ #
328
+ # If no extension was requested, then this parameter is not returned.
329
+ #
330
+ # @param ai_auto_description [Symbol, Imagekitio::Models::FileUploadResponse::ExtensionStatus::AIAutoDescription]
331
+ # @param aws_auto_tagging [Symbol, Imagekitio::Models::FileUploadResponse::ExtensionStatus::AwsAutoTagging]
332
+ # @param google_auto_tagging [Symbol, Imagekitio::Models::FileUploadResponse::ExtensionStatus::GoogleAutoTagging]
333
+ # @param remove_bg [Symbol, Imagekitio::Models::FileUploadResponse::ExtensionStatus::RemoveBg]
334
+
335
+ # @see Imagekitio::Models::FileUploadResponse::ExtensionStatus#ai_auto_description
336
+ module AIAutoDescription
337
+ extend Imagekitio::Internal::Type::Enum
338
+
339
+ SUCCESS = :success
340
+ PENDING = :pending
341
+ FAILED = :failed
342
+
343
+ # @!method self.values
344
+ # @return [Array<Symbol>]
345
+ end
346
+
347
+ # @see Imagekitio::Models::FileUploadResponse::ExtensionStatus#aws_auto_tagging
348
+ module AwsAutoTagging
349
+ extend Imagekitio::Internal::Type::Enum
350
+
351
+ SUCCESS = :success
352
+ PENDING = :pending
353
+ FAILED = :failed
354
+
355
+ # @!method self.values
356
+ # @return [Array<Symbol>]
357
+ end
358
+
359
+ # @see Imagekitio::Models::FileUploadResponse::ExtensionStatus#google_auto_tagging
360
+ module GoogleAutoTagging
361
+ extend Imagekitio::Internal::Type::Enum
362
+
363
+ SUCCESS = :success
364
+ PENDING = :pending
365
+ FAILED = :failed
366
+
367
+ # @!method self.values
368
+ # @return [Array<Symbol>]
369
+ end
370
+
371
+ # @see Imagekitio::Models::FileUploadResponse::ExtensionStatus#remove_bg
372
+ module RemoveBg
373
+ extend Imagekitio::Internal::Type::Enum
374
+
375
+ SUCCESS = :success
376
+ PENDING = :pending
377
+ FAILED = :failed
378
+
379
+ # @!method self.values
380
+ # @return [Array<Symbol>]
381
+ end
382
+ end
383
+
384
+ class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel
385
+ # @!attribute type
386
+ # Type of the custom metadata field.
387
+ #
388
+ # @return [Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type]
389
+ required :type, enum: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type }
390
+
391
+ # @!attribute default_value
392
+ # The default value for this custom metadata field. The value should match the
393
+ # `type` of custom metadata field.
394
+ #
395
+ # @return [String, Float, Boolean, Array<String, Float, Boolean>, nil]
396
+ optional :default_value,
397
+ union: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue },
398
+ api_name: :defaultValue
399
+
400
+ # @!attribute is_value_required
401
+ # Specifies if the custom metadata field is required or not.
402
+ #
403
+ # @return [Boolean, nil]
404
+ optional :is_value_required, Imagekitio::Internal::Type::Boolean, api_name: :isValueRequired
405
+
406
+ # @!attribute max_length
407
+ # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
408
+ #
409
+ # @return [Float, nil]
410
+ optional :max_length, Float, api_name: :maxLength
411
+
412
+ # @!attribute max_value
413
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
414
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
415
+ # field, it will be a numeric value.
416
+ #
417
+ # @return [String, Float, nil]
418
+ optional :max_value,
419
+ union: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MaxValue },
420
+ api_name: :maxValue
421
+
422
+ # @!attribute min_length
423
+ # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
424
+ #
425
+ # @return [Float, nil]
426
+ optional :min_length, Float, api_name: :minLength
427
+
428
+ # @!attribute min_value
429
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
430
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
431
+ # field, it will be a numeric value.
432
+ #
433
+ # @return [String, Float, nil]
434
+ optional :min_value,
435
+ union: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MinValue },
436
+ api_name: :minValue
437
+
438
+ # @!attribute read_only
439
+ # Indicates whether the custom metadata field is read only. A read only field
440
+ # cannot be modified after being set. This field is configurable only via the
441
+ # **Path policy** feature.
442
+ #
443
+ # @return [Boolean, nil]
444
+ optional :read_only, Imagekitio::Internal::Type::Boolean, api_name: :readOnly
445
+
446
+ # @!attribute select_options
447
+ # An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
448
+ #
449
+ # @return [Array<String, Float, Boolean>, nil]
450
+ optional :select_options,
451
+ -> { Imagekitio::Internal::Type::ArrayOf[union: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::SelectOption] },
452
+ api_name: :selectOptions
453
+
454
+ # @!attribute select_options_truncated
455
+ # Specifies if the selectOptions array is truncated. It is truncated when number
456
+ # of options are > 100.
457
+ #
458
+ # @return [Boolean, nil]
459
+ optional :select_options_truncated,
460
+ Imagekitio::Internal::Type::Boolean,
461
+ api_name: :selectOptionsTruncated
462
+
463
+ # @!method initialize(type:, default_value: nil, is_value_required: nil, max_length: nil, max_value: nil, min_length: nil, min_value: nil, read_only: nil, select_options: nil, select_options_truncated: nil)
464
+ # Some parameter documentations has been truncated, see
465
+ # {Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema} for more details.
466
+ #
467
+ # @param type [Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type] Type of the custom metadata field.
468
+ #
469
+ # @param default_value [String, Float, Boolean, Array<String, Float, Boolean>] The default value for this custom metadata field. The value should match the `ty
470
+ #
471
+ # @param is_value_required [Boolean] Specifies if the custom metadata field is required or not.
472
+ #
473
+ # @param max_length [Float] Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
474
+ #
475
+ # @param max_value [String, Float] Maximum value of the field. Only set if field type is `Date` or `Number`. For `D
476
+ #
477
+ # @param min_length [Float] Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
478
+ #
479
+ # @param min_value [String, Float] Minimum value of the field. Only set if field type is `Date` or `Number`. For `D
480
+ #
481
+ # @param read_only [Boolean] Indicates whether the custom metadata field is read only. A read only field cann
482
+ #
483
+ # @param select_options [Array<String, Float, Boolean>] An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
484
+ #
485
+ # @param select_options_truncated [Boolean] Specifies if the selectOptions array is truncated. It is truncated when number o
486
+
487
+ # Type of the custom metadata field.
488
+ #
489
+ # @see Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema#type
490
+ module Type
491
+ extend Imagekitio::Internal::Type::Enum
492
+
493
+ TEXT = :Text
494
+ TEXTAREA = :Textarea
495
+ NUMBER = :Number
496
+ DATE = :Date
497
+ BOOLEAN = :Boolean
498
+ SINGLE_SELECT = :SingleSelect
499
+ MULTI_SELECT = :MultiSelect
500
+
501
+ # @!method self.values
502
+ # @return [Array<Symbol>]
503
+ end
504
+
505
+ # The default value for this custom metadata field. The value should match the
506
+ # `type` of custom metadata field.
507
+ #
508
+ # @see Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema#default_value
509
+ module DefaultValue
510
+ extend Imagekitio::Internal::Type::Union
511
+
512
+ variant String
513
+
514
+ variant Float
515
+
516
+ variant Imagekitio::Internal::Type::Boolean
517
+
518
+ # Default value should be of type array when custom metadata field type is set to `MultiSelect`.
519
+ variant -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::MixedArray }
520
+
521
+ module Mixed
522
+ extend Imagekitio::Internal::Type::Union
523
+
524
+ variant String
525
+
526
+ variant Float
527
+
528
+ variant Imagekitio::Internal::Type::Boolean
529
+
530
+ # @!method self.variants
531
+ # @return [Array(String, Float, Boolean)]
532
+ end
533
+
534
+ # @!method self.variants
535
+ # @return [Array(String, Float, Boolean, Array<String, Float, Boolean>)]
536
+
537
+ # @type [Imagekitio::Internal::Type::Converter]
538
+ MixedArray =
539
+ Imagekitio::Internal::Type::ArrayOf[union: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Mixed }]
540
+ end
541
+
542
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
543
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
544
+ # field, it will be a numeric value.
545
+ #
546
+ # @see Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema#max_value
547
+ module MaxValue
548
+ extend Imagekitio::Internal::Type::Union
549
+
550
+ variant String
551
+
552
+ variant Float
553
+
554
+ # @!method self.variants
555
+ # @return [Array(String, Float)]
556
+ end
557
+
558
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
559
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
560
+ # field, it will be a numeric value.
561
+ #
562
+ # @see Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema#min_value
563
+ module MinValue
564
+ extend Imagekitio::Internal::Type::Union
565
+
566
+ variant String
567
+
568
+ variant Float
569
+
570
+ # @!method self.variants
571
+ # @return [Array(String, Float)]
572
+ end
573
+
574
+ module SelectOption
575
+ extend Imagekitio::Internal::Type::Union
576
+
577
+ variant String
578
+
579
+ variant Float
580
+
581
+ variant Imagekitio::Internal::Type::Boolean
582
+
583
+ # @!method self.variants
584
+ # @return [Array(String, Float, Boolean)]
585
+ end
586
+ end
587
+
588
+ # @see Imagekitio::Models::FileUploadResponse#version_info
589
+ class VersionInfo < Imagekitio::Internal::Type::BaseModel
590
+ # @!attribute id
591
+ # Unique identifier of the file version.
592
+ #
593
+ # @return [String, nil]
594
+ optional :id, String
595
+
596
+ # @!attribute name
597
+ # Name of the file version.
598
+ #
599
+ # @return [String, nil]
600
+ optional :name, String
601
+
602
+ # @!method initialize(id: nil, name: nil)
603
+ # An object containing the file or file version's `id` (versionId) and `name`.
604
+ #
605
+ # @param id [String] Unique identifier of the file version.
606
+ #
607
+ # @param name [String] Name of the file version.
608
+ end
609
+ end
610
+ end
611
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ module Files
6
+ # @see Imagekitio::Resources::Files::Bulk#add_tags
7
+ class BulkAddTagsParams < Imagekitio::Internal::Type::BaseModel
8
+ extend Imagekitio::Internal::Type::RequestParameters::Converter
9
+ include Imagekitio::Internal::Type::RequestParameters
10
+
11
+ # @!attribute file_ids
12
+ # An array of fileIds to which you want to add tags.
13
+ #
14
+ # @return [Array<String>]
15
+ required :file_ids, Imagekitio::Internal::Type::ArrayOf[String], api_name: :fileIds
16
+
17
+ # @!attribute tags
18
+ # An array of tags that you want to add to the files.
19
+ #
20
+ # @return [Array<String>]
21
+ required :tags, Imagekitio::Internal::Type::ArrayOf[String]
22
+
23
+ # @!method initialize(file_ids:, tags:, request_options: {})
24
+ # Some parameter documentations has been truncated, see
25
+ # {Imagekitio::Models::Files::BulkAddTagsParams} for more details.
26
+ #
27
+ # @param file_ids [Array<String>] An array of fileIds to which you want to add tags.
28
+ #
29
+ # @param tags [Array<String>] An array of tags that you want to add to the files.
30
+ #
31
+ # @param request_options [Imagekitio::RequestOptions, Hash{Symbol=>Object}]
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Imagekitio
4
+ module Models
5
+ module Files
6
+ # @see Imagekitio::Resources::Files::Bulk#add_tags
7
+ class BulkAddTagsResponse < Imagekitio::Internal::Type::BaseModel
8
+ # @!attribute successfully_updated_file_ids
9
+ # An array of fileIds that in which tags were successfully added.
10
+ #
11
+ # @return [Array<String>, nil]
12
+ optional :successfully_updated_file_ids,
13
+ Imagekitio::Internal::Type::ArrayOf[String],
14
+ api_name: :successfullyUpdatedFileIds
15
+
16
+ # @!method initialize(successfully_updated_file_ids: nil)
17
+ # Some parameter documentations has been truncated, see
18
+ # {Imagekitio::Models::Files::BulkAddTagsResponse} for more details.
19
+ #
20
+ # @param successfully_updated_file_ids [Array<String>] An array of fileIds that in which tags were successfully added.
21
+ end
22
+ end
23
+ end
24
+ end