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,789 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class File < Imagekitio::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Imagekitio::File, Imagekitio::Internal::AnyHash) }
8
+
9
+ # An array of tags assigned to the file by auto tagging.
10
+ sig { returns(T.nilable(T::Array[Imagekitio::File::AITag])) }
11
+ attr_accessor :ai_tags
12
+
13
+ # Date and time when the file was uploaded. The date and time is in ISO8601
14
+ # format.
15
+ sig { returns(T.nilable(Time)) }
16
+ attr_reader :created_at
17
+
18
+ sig { params(created_at: Time).void }
19
+ attr_writer :created_at
20
+
21
+ # An string with custom coordinates of the file.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :custom_coordinates
24
+
25
+ # An object with custom metadata for the file.
26
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
27
+ attr_reader :custom_metadata
28
+
29
+ sig { params(custom_metadata: T::Hash[Symbol, T.anything]).void }
30
+ attr_writer :custom_metadata
31
+
32
+ # Optional text to describe the contents of the file. Can be set by the user or
33
+ # the ai-auto-description extension.
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :description
36
+
37
+ sig { params(description: String).void }
38
+ attr_writer :description
39
+
40
+ # Unique identifier of the asset.
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :file_id
43
+
44
+ sig { params(file_id: String).void }
45
+ attr_writer :file_id
46
+
47
+ # Path of the file. This is the path you would use in the URL to access the file.
48
+ # For example, if the file is at the root of the media library, the path will be
49
+ # `/file.jpg`. If the file is inside a folder named `images`, the path will be
50
+ # `/images/file.jpg`.
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :file_path
53
+
54
+ sig { params(file_path: String).void }
55
+ attr_writer :file_path
56
+
57
+ # Type of the file. Possible values are `image`, `non-image`.
58
+ sig { returns(T.nilable(String)) }
59
+ attr_reader :file_type
60
+
61
+ sig { params(file_type: String).void }
62
+ attr_writer :file_type
63
+
64
+ # Specifies if the image has an alpha channel.
65
+ sig { returns(T.nilable(T::Boolean)) }
66
+ attr_reader :has_alpha
67
+
68
+ sig { params(has_alpha: T::Boolean).void }
69
+ attr_writer :has_alpha
70
+
71
+ # Height of the file.
72
+ sig { returns(T.nilable(Float)) }
73
+ attr_reader :height
74
+
75
+ sig { params(height: Float).void }
76
+ attr_writer :height
77
+
78
+ # Specifies if the file is private or not.
79
+ sig { returns(T.nilable(T::Boolean)) }
80
+ attr_reader :is_private_file
81
+
82
+ sig { params(is_private_file: T::Boolean).void }
83
+ attr_writer :is_private_file
84
+
85
+ # Specifies if the file is published or not.
86
+ sig { returns(T.nilable(T::Boolean)) }
87
+ attr_reader :is_published
88
+
89
+ sig { params(is_published: T::Boolean).void }
90
+ attr_writer :is_published
91
+
92
+ # MIME type of the file.
93
+ sig { returns(T.nilable(String)) }
94
+ attr_reader :mime
95
+
96
+ sig { params(mime: String).void }
97
+ attr_writer :mime
98
+
99
+ # Name of the asset.
100
+ sig { returns(T.nilable(String)) }
101
+ attr_reader :name
102
+
103
+ sig { params(name: String).void }
104
+ attr_writer :name
105
+
106
+ # This field is included in the response only if the Path policy feature is
107
+ # available in the plan. It contains schema definitions for the custom metadata
108
+ # fields selected for the specified file path. Field selection can only be done
109
+ # when the Path policy feature is enabled.
110
+ #
111
+ # Keys are the names of the custom metadata fields; the value object has details
112
+ # about the custom metadata schema.
113
+ sig do
114
+ returns(
115
+ T.nilable(T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema])
116
+ )
117
+ end
118
+ attr_reader :selected_fields_schema
119
+
120
+ sig do
121
+ params(
122
+ selected_fields_schema:
123
+ T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema::OrHash]
124
+ ).void
125
+ end
126
+ attr_writer :selected_fields_schema
127
+
128
+ # Size of the file in bytes.
129
+ sig { returns(T.nilable(Float)) }
130
+ attr_reader :size
131
+
132
+ sig { params(size: Float).void }
133
+ attr_writer :size
134
+
135
+ # An array of tags assigned to the file. Tags are used to search files in the
136
+ # media library.
137
+ sig { returns(T.nilable(T::Array[String])) }
138
+ attr_accessor :tags
139
+
140
+ # URL of the thumbnail image. This URL is used to access the thumbnail image of
141
+ # the file in the media library.
142
+ sig { returns(T.nilable(String)) }
143
+ attr_reader :thumbnail
144
+
145
+ sig { params(thumbnail: String).void }
146
+ attr_writer :thumbnail
147
+
148
+ # Type of the asset.
149
+ sig { returns(T.nilable(Imagekitio::File::Type::TaggedSymbol)) }
150
+ attr_reader :type
151
+
152
+ sig { params(type: Imagekitio::File::Type::OrSymbol).void }
153
+ attr_writer :type
154
+
155
+ # Date and time when the file was last updated. The date and time is in ISO8601
156
+ # format.
157
+ sig { returns(T.nilable(Time)) }
158
+ attr_reader :updated_at
159
+
160
+ sig { params(updated_at: Time).void }
161
+ attr_writer :updated_at
162
+
163
+ # URL of the file.
164
+ sig { returns(T.nilable(String)) }
165
+ attr_reader :url
166
+
167
+ sig { params(url: String).void }
168
+ attr_writer :url
169
+
170
+ # An object with details of the file version.
171
+ sig { returns(T.nilable(Imagekitio::File::VersionInfo)) }
172
+ attr_reader :version_info
173
+
174
+ sig { params(version_info: Imagekitio::File::VersionInfo::OrHash).void }
175
+ attr_writer :version_info
176
+
177
+ # Width of the file.
178
+ sig { returns(T.nilable(Float)) }
179
+ attr_reader :width
180
+
181
+ sig { params(width: Float).void }
182
+ attr_writer :width
183
+
184
+ # Object containing details of a file or file version.
185
+ sig do
186
+ params(
187
+ ai_tags: T.nilable(T::Array[Imagekitio::File::AITag::OrHash]),
188
+ created_at: Time,
189
+ custom_coordinates: T.nilable(String),
190
+ custom_metadata: T::Hash[Symbol, T.anything],
191
+ description: String,
192
+ file_id: String,
193
+ file_path: String,
194
+ file_type: String,
195
+ has_alpha: T::Boolean,
196
+ height: Float,
197
+ is_private_file: T::Boolean,
198
+ is_published: T::Boolean,
199
+ mime: String,
200
+ name: String,
201
+ selected_fields_schema:
202
+ T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema::OrHash],
203
+ size: Float,
204
+ tags: T.nilable(T::Array[String]),
205
+ thumbnail: String,
206
+ type: Imagekitio::File::Type::OrSymbol,
207
+ updated_at: Time,
208
+ url: String,
209
+ version_info: Imagekitio::File::VersionInfo::OrHash,
210
+ width: Float
211
+ ).returns(T.attached_class)
212
+ end
213
+ def self.new(
214
+ # An array of tags assigned to the file by auto tagging.
215
+ ai_tags: nil,
216
+ # Date and time when the file was uploaded. The date and time is in ISO8601
217
+ # format.
218
+ created_at: nil,
219
+ # An string with custom coordinates of the file.
220
+ custom_coordinates: nil,
221
+ # An object with custom metadata for the file.
222
+ custom_metadata: nil,
223
+ # Optional text to describe the contents of the file. Can be set by the user or
224
+ # the ai-auto-description extension.
225
+ description: nil,
226
+ # Unique identifier of the asset.
227
+ file_id: nil,
228
+ # Path of the file. This is the path you would use in the URL to access the file.
229
+ # For example, if the file is at the root of the media library, the path will be
230
+ # `/file.jpg`. If the file is inside a folder named `images`, the path will be
231
+ # `/images/file.jpg`.
232
+ file_path: nil,
233
+ # Type of the file. Possible values are `image`, `non-image`.
234
+ file_type: nil,
235
+ # Specifies if the image has an alpha channel.
236
+ has_alpha: nil,
237
+ # Height of the file.
238
+ height: nil,
239
+ # Specifies if the file is private or not.
240
+ is_private_file: nil,
241
+ # Specifies if the file is published or not.
242
+ is_published: nil,
243
+ # MIME type of the file.
244
+ mime: nil,
245
+ # Name of the asset.
246
+ name: nil,
247
+ # This field is included in the response only if the Path policy feature is
248
+ # available in the plan. It contains schema definitions for the custom metadata
249
+ # fields selected for the specified file path. Field selection can only be done
250
+ # when the Path policy feature is enabled.
251
+ #
252
+ # Keys are the names of the custom metadata fields; the value object has details
253
+ # about the custom metadata schema.
254
+ selected_fields_schema: nil,
255
+ # Size of the file in bytes.
256
+ size: nil,
257
+ # An array of tags assigned to the file. Tags are used to search files in the
258
+ # media library.
259
+ tags: nil,
260
+ # URL of the thumbnail image. This URL is used to access the thumbnail image of
261
+ # the file in the media library.
262
+ thumbnail: nil,
263
+ # Type of the asset.
264
+ type: nil,
265
+ # Date and time when the file was last updated. The date and time is in ISO8601
266
+ # format.
267
+ updated_at: nil,
268
+ # URL of the file.
269
+ url: nil,
270
+ # An object with details of the file version.
271
+ version_info: nil,
272
+ # Width of the file.
273
+ width: nil
274
+ )
275
+ end
276
+
277
+ sig do
278
+ override.returns(
279
+ {
280
+ ai_tags: T.nilable(T::Array[Imagekitio::File::AITag]),
281
+ created_at: Time,
282
+ custom_coordinates: T.nilable(String),
283
+ custom_metadata: T::Hash[Symbol, T.anything],
284
+ description: String,
285
+ file_id: String,
286
+ file_path: String,
287
+ file_type: String,
288
+ has_alpha: T::Boolean,
289
+ height: Float,
290
+ is_private_file: T::Boolean,
291
+ is_published: T::Boolean,
292
+ mime: String,
293
+ name: String,
294
+ selected_fields_schema:
295
+ T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema],
296
+ size: Float,
297
+ tags: T.nilable(T::Array[String]),
298
+ thumbnail: String,
299
+ type: Imagekitio::File::Type::TaggedSymbol,
300
+ updated_at: Time,
301
+ url: String,
302
+ version_info: Imagekitio::File::VersionInfo,
303
+ width: Float
304
+ }
305
+ )
306
+ end
307
+ def to_hash
308
+ end
309
+
310
+ class AITag < Imagekitio::Internal::Type::BaseModel
311
+ OrHash =
312
+ T.type_alias do
313
+ T.any(Imagekitio::File::AITag, Imagekitio::Internal::AnyHash)
314
+ end
315
+
316
+ # Confidence score of the tag.
317
+ sig { returns(T.nilable(Float)) }
318
+ attr_reader :confidence
319
+
320
+ sig { params(confidence: Float).void }
321
+ attr_writer :confidence
322
+
323
+ # Name of the tag.
324
+ sig { returns(T.nilable(String)) }
325
+ attr_reader :name
326
+
327
+ sig { params(name: String).void }
328
+ attr_writer :name
329
+
330
+ # Source of the tag. Possible values are `google-auto-tagging` and
331
+ # `aws-auto-tagging`.
332
+ sig { returns(T.nilable(String)) }
333
+ attr_reader :source
334
+
335
+ sig { params(source: String).void }
336
+ attr_writer :source
337
+
338
+ sig do
339
+ params(confidence: Float, name: String, source: String).returns(
340
+ T.attached_class
341
+ )
342
+ end
343
+ def self.new(
344
+ # Confidence score of the tag.
345
+ confidence: nil,
346
+ # Name of the tag.
347
+ name: nil,
348
+ # Source of the tag. Possible values are `google-auto-tagging` and
349
+ # `aws-auto-tagging`.
350
+ source: nil
351
+ )
352
+ end
353
+
354
+ sig do
355
+ override.returns({ confidence: Float, name: String, source: String })
356
+ end
357
+ def to_hash
358
+ end
359
+ end
360
+
361
+ class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel
362
+ OrHash =
363
+ T.type_alias do
364
+ T.any(
365
+ Imagekitio::File::SelectedFieldsSchema,
366
+ Imagekitio::Internal::AnyHash
367
+ )
368
+ end
369
+
370
+ # Type of the custom metadata field.
371
+ sig do
372
+ returns(Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol)
373
+ end
374
+ attr_accessor :type
375
+
376
+ # The default value for this custom metadata field. The value should match the
377
+ # `type` of custom metadata field.
378
+ sig do
379
+ returns(
380
+ T.nilable(
381
+ Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants
382
+ )
383
+ )
384
+ end
385
+ attr_reader :default_value
386
+
387
+ sig do
388
+ params(
389
+ default_value:
390
+ Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants
391
+ ).void
392
+ end
393
+ attr_writer :default_value
394
+
395
+ # Specifies if the custom metadata field is required or not.
396
+ sig { returns(T.nilable(T::Boolean)) }
397
+ attr_reader :is_value_required
398
+
399
+ sig { params(is_value_required: T::Boolean).void }
400
+ attr_writer :is_value_required
401
+
402
+ # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
403
+ sig { returns(T.nilable(Float)) }
404
+ attr_reader :max_length
405
+
406
+ sig { params(max_length: Float).void }
407
+ attr_writer :max_length
408
+
409
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
410
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
411
+ # field, it will be a numeric value.
412
+ sig do
413
+ returns(
414
+ T.nilable(
415
+ Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants
416
+ )
417
+ )
418
+ end
419
+ attr_reader :max_value
420
+
421
+ sig do
422
+ params(
423
+ max_value:
424
+ Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants
425
+ ).void
426
+ end
427
+ attr_writer :max_value
428
+
429
+ # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
430
+ sig { returns(T.nilable(Float)) }
431
+ attr_reader :min_length
432
+
433
+ sig { params(min_length: Float).void }
434
+ attr_writer :min_length
435
+
436
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
437
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
438
+ # field, it will be a numeric value.
439
+ sig do
440
+ returns(
441
+ T.nilable(
442
+ Imagekitio::File::SelectedFieldsSchema::MinValue::Variants
443
+ )
444
+ )
445
+ end
446
+ attr_reader :min_value
447
+
448
+ sig do
449
+ params(
450
+ min_value:
451
+ Imagekitio::File::SelectedFieldsSchema::MinValue::Variants
452
+ ).void
453
+ end
454
+ attr_writer :min_value
455
+
456
+ # Indicates whether the custom metadata field is read only. A read only field
457
+ # cannot be modified after being set. This field is configurable only via the
458
+ # **Path policy** feature.
459
+ sig { returns(T.nilable(T::Boolean)) }
460
+ attr_reader :read_only
461
+
462
+ sig { params(read_only: T::Boolean).void }
463
+ attr_writer :read_only
464
+
465
+ # An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
466
+ sig do
467
+ returns(
468
+ T.nilable(
469
+ T::Array[
470
+ Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
471
+ ]
472
+ )
473
+ )
474
+ end
475
+ attr_reader :select_options
476
+
477
+ sig do
478
+ params(
479
+ select_options:
480
+ T::Array[
481
+ Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
482
+ ]
483
+ ).void
484
+ end
485
+ attr_writer :select_options
486
+
487
+ # Specifies if the selectOptions array is truncated. It is truncated when number
488
+ # of options are > 100.
489
+ sig { returns(T.nilable(T::Boolean)) }
490
+ attr_reader :select_options_truncated
491
+
492
+ sig { params(select_options_truncated: T::Boolean).void }
493
+ attr_writer :select_options_truncated
494
+
495
+ sig do
496
+ params(
497
+ type: Imagekitio::File::SelectedFieldsSchema::Type::OrSymbol,
498
+ default_value:
499
+ Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants,
500
+ is_value_required: T::Boolean,
501
+ max_length: Float,
502
+ max_value:
503
+ Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants,
504
+ min_length: Float,
505
+ min_value:
506
+ Imagekitio::File::SelectedFieldsSchema::MinValue::Variants,
507
+ read_only: T::Boolean,
508
+ select_options:
509
+ T::Array[
510
+ Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
511
+ ],
512
+ select_options_truncated: T::Boolean
513
+ ).returns(T.attached_class)
514
+ end
515
+ def self.new(
516
+ # Type of the custom metadata field.
517
+ type:,
518
+ # The default value for this custom metadata field. The value should match the
519
+ # `type` of custom metadata field.
520
+ default_value: nil,
521
+ # Specifies if the custom metadata field is required or not.
522
+ is_value_required: nil,
523
+ # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
524
+ max_length: nil,
525
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
526
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
527
+ # field, it will be a numeric value.
528
+ max_value: nil,
529
+ # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
530
+ min_length: nil,
531
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
532
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
533
+ # field, it will be a numeric value.
534
+ min_value: nil,
535
+ # Indicates whether the custom metadata field is read only. A read only field
536
+ # cannot be modified after being set. This field is configurable only via the
537
+ # **Path policy** feature.
538
+ read_only: nil,
539
+ # An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
540
+ select_options: nil,
541
+ # Specifies if the selectOptions array is truncated. It is truncated when number
542
+ # of options are > 100.
543
+ select_options_truncated: nil
544
+ )
545
+ end
546
+
547
+ sig do
548
+ override.returns(
549
+ {
550
+ type: Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol,
551
+ default_value:
552
+ Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants,
553
+ is_value_required: T::Boolean,
554
+ max_length: Float,
555
+ max_value:
556
+ Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants,
557
+ min_length: Float,
558
+ min_value:
559
+ Imagekitio::File::SelectedFieldsSchema::MinValue::Variants,
560
+ read_only: T::Boolean,
561
+ select_options:
562
+ T::Array[
563
+ Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
564
+ ],
565
+ select_options_truncated: T::Boolean
566
+ }
567
+ )
568
+ end
569
+ def to_hash
570
+ end
571
+
572
+ # Type of the custom metadata field.
573
+ module Type
574
+ extend Imagekitio::Internal::Type::Enum
575
+
576
+ TaggedSymbol =
577
+ T.type_alias do
578
+ T.all(Symbol, Imagekitio::File::SelectedFieldsSchema::Type)
579
+ end
580
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
581
+
582
+ TEXT =
583
+ T.let(
584
+ :Text,
585
+ Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
586
+ )
587
+ TEXTAREA =
588
+ T.let(
589
+ :Textarea,
590
+ Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
591
+ )
592
+ NUMBER =
593
+ T.let(
594
+ :Number,
595
+ Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
596
+ )
597
+ DATE =
598
+ T.let(
599
+ :Date,
600
+ Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
601
+ )
602
+ BOOLEAN =
603
+ T.let(
604
+ :Boolean,
605
+ Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
606
+ )
607
+ SINGLE_SELECT =
608
+ T.let(
609
+ :SingleSelect,
610
+ Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
611
+ )
612
+ MULTI_SELECT =
613
+ T.let(
614
+ :MultiSelect,
615
+ Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
616
+ )
617
+
618
+ sig do
619
+ override.returns(
620
+ T::Array[
621
+ Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
622
+ ]
623
+ )
624
+ end
625
+ def self.values
626
+ end
627
+ end
628
+
629
+ # The default value for this custom metadata field. The value should match the
630
+ # `type` of custom metadata field.
631
+ module DefaultValue
632
+ extend Imagekitio::Internal::Type::Union
633
+
634
+ Variants =
635
+ T.type_alias do
636
+ T.any(
637
+ String,
638
+ Float,
639
+ T::Boolean,
640
+ T::Array[
641
+ Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed::Variants
642
+ ]
643
+ )
644
+ end
645
+
646
+ module Mixed
647
+ extend Imagekitio::Internal::Type::Union
648
+
649
+ Variants = T.type_alias { T.any(String, Float, T::Boolean) }
650
+
651
+ sig do
652
+ override.returns(
653
+ T::Array[
654
+ Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed::Variants
655
+ ]
656
+ )
657
+ end
658
+ def self.variants
659
+ end
660
+ end
661
+
662
+ sig do
663
+ override.returns(
664
+ T::Array[
665
+ Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants
666
+ ]
667
+ )
668
+ end
669
+ def self.variants
670
+ end
671
+
672
+ MixedArray =
673
+ T.let(
674
+ Imagekitio::Internal::Type::ArrayOf[
675
+ union:
676
+ Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed
677
+ ],
678
+ Imagekitio::Internal::Type::Converter
679
+ )
680
+ end
681
+
682
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
683
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
684
+ # field, it will be a numeric value.
685
+ module MaxValue
686
+ extend Imagekitio::Internal::Type::Union
687
+
688
+ Variants = T.type_alias { T.any(String, Float) }
689
+
690
+ sig do
691
+ override.returns(
692
+ T::Array[
693
+ Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants
694
+ ]
695
+ )
696
+ end
697
+ def self.variants
698
+ end
699
+ end
700
+
701
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
702
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
703
+ # field, it will be a numeric value.
704
+ module MinValue
705
+ extend Imagekitio::Internal::Type::Union
706
+
707
+ Variants = T.type_alias { T.any(String, Float) }
708
+
709
+ sig do
710
+ override.returns(
711
+ T::Array[
712
+ Imagekitio::File::SelectedFieldsSchema::MinValue::Variants
713
+ ]
714
+ )
715
+ end
716
+ def self.variants
717
+ end
718
+ end
719
+
720
+ module SelectOption
721
+ extend Imagekitio::Internal::Type::Union
722
+
723
+ Variants = T.type_alias { T.any(String, Float, T::Boolean) }
724
+
725
+ sig do
726
+ override.returns(
727
+ T::Array[
728
+ Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
729
+ ]
730
+ )
731
+ end
732
+ def self.variants
733
+ end
734
+ end
735
+ end
736
+
737
+ # Type of the asset.
738
+ module Type
739
+ extend Imagekitio::Internal::Type::Enum
740
+
741
+ TaggedSymbol = T.type_alias { T.all(Symbol, Imagekitio::File::Type) }
742
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
743
+
744
+ FILE = T.let(:file, Imagekitio::File::Type::TaggedSymbol)
745
+ FILE_VERSION =
746
+ T.let(:"file-version", Imagekitio::File::Type::TaggedSymbol)
747
+
748
+ sig { override.returns(T::Array[Imagekitio::File::Type::TaggedSymbol]) }
749
+ def self.values
750
+ end
751
+ end
752
+
753
+ class VersionInfo < Imagekitio::Internal::Type::BaseModel
754
+ OrHash =
755
+ T.type_alias do
756
+ T.any(Imagekitio::File::VersionInfo, Imagekitio::Internal::AnyHash)
757
+ end
758
+
759
+ # Unique identifier of the file version.
760
+ sig { returns(T.nilable(String)) }
761
+ attr_reader :id
762
+
763
+ sig { params(id: String).void }
764
+ attr_writer :id
765
+
766
+ # Name of the file version.
767
+ sig { returns(T.nilable(String)) }
768
+ attr_reader :name
769
+
770
+ sig { params(name: String).void }
771
+ attr_writer :name
772
+
773
+ # An object with details of the file version.
774
+ sig { params(id: String, name: String).returns(T.attached_class) }
775
+ def self.new(
776
+ # Unique identifier of the file version.
777
+ id: nil,
778
+ # Name of the file version.
779
+ name: nil
780
+ )
781
+ end
782
+
783
+ sig { override.returns({ id: String, name: String }) }
784
+ def to_hash
785
+ end
786
+ end
787
+ end
788
+ end
789
+ end