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,45 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ module Cache
6
+ class InvalidationCreateParams < Imagekitio::Internal::Type::BaseModel
7
+ extend Imagekitio::Internal::Type::RequestParameters::Converter
8
+ include Imagekitio::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Imagekitio::Cache::InvalidationCreateParams,
14
+ Imagekitio::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # The full URL of the file to be purged.
19
+ sig { returns(String) }
20
+ attr_accessor :url
21
+
22
+ sig do
23
+ params(
24
+ url: String,
25
+ request_options: Imagekitio::RequestOptions::OrHash
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.new(
29
+ # The full URL of the file to be purged.
30
+ url:,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ sig do
36
+ override.returns(
37
+ { url: String, request_options: Imagekitio::RequestOptions }
38
+ )
39
+ end
40
+ def to_hash
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,37 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ module Cache
6
+ class InvalidationCreateResponse < Imagekitio::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Imagekitio::Models::Cache::InvalidationCreateResponse,
11
+ Imagekitio::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Unique identifier of the purge request. This can be used to check the status of
16
+ # the purge request.
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :request_id
19
+
20
+ sig { params(request_id: String).void }
21
+ attr_writer :request_id
22
+
23
+ sig { params(request_id: String).returns(T.attached_class) }
24
+ def self.new(
25
+ # Unique identifier of the purge request. This can be used to check the status of
26
+ # the purge request.
27
+ request_id: nil
28
+ )
29
+ end
30
+
31
+ sig { override.returns({ request_id: String }) }
32
+ def to_hash
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ module Cache
6
+ class InvalidationGetParams < Imagekitio::Internal::Type::BaseModel
7
+ extend Imagekitio::Internal::Type::RequestParameters::Converter
8
+ include Imagekitio::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Imagekitio::Cache::InvalidationGetParams,
14
+ Imagekitio::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig do
19
+ params(request_options: Imagekitio::RequestOptions::OrHash).returns(
20
+ T.attached_class
21
+ )
22
+ end
23
+ def self.new(request_options: {})
24
+ end
25
+
26
+ sig do
27
+ override.returns({ request_options: Imagekitio::RequestOptions })
28
+ end
29
+ def to_hash
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,93 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ module Cache
6
+ class InvalidationGetResponse < Imagekitio::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Imagekitio::Models::Cache::InvalidationGetResponse,
11
+ Imagekitio::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Status of the purge request.
16
+ sig do
17
+ returns(
18
+ T.nilable(
19
+ Imagekitio::Models::Cache::InvalidationGetResponse::Status::TaggedSymbol
20
+ )
21
+ )
22
+ end
23
+ attr_reader :status
24
+
25
+ sig do
26
+ params(
27
+ status:
28
+ Imagekitio::Models::Cache::InvalidationGetResponse::Status::OrSymbol
29
+ ).void
30
+ end
31
+ attr_writer :status
32
+
33
+ sig do
34
+ params(
35
+ status:
36
+ Imagekitio::Models::Cache::InvalidationGetResponse::Status::OrSymbol
37
+ ).returns(T.attached_class)
38
+ end
39
+ def self.new(
40
+ # Status of the purge request.
41
+ status: nil
42
+ )
43
+ end
44
+
45
+ sig do
46
+ override.returns(
47
+ {
48
+ status:
49
+ Imagekitio::Models::Cache::InvalidationGetResponse::Status::TaggedSymbol
50
+ }
51
+ )
52
+ end
53
+ def to_hash
54
+ end
55
+
56
+ # Status of the purge request.
57
+ module Status
58
+ extend Imagekitio::Internal::Type::Enum
59
+
60
+ TaggedSymbol =
61
+ T.type_alias do
62
+ T.all(
63
+ Symbol,
64
+ Imagekitio::Models::Cache::InvalidationGetResponse::Status
65
+ )
66
+ end
67
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
68
+
69
+ PENDING =
70
+ T.let(
71
+ :Pending,
72
+ Imagekitio::Models::Cache::InvalidationGetResponse::Status::TaggedSymbol
73
+ )
74
+ COMPLETED =
75
+ T.let(
76
+ :Completed,
77
+ Imagekitio::Models::Cache::InvalidationGetResponse::Status::TaggedSymbol
78
+ )
79
+
80
+ sig do
81
+ override.returns(
82
+ T::Array[
83
+ Imagekitio::Models::Cache::InvalidationGetResponse::Status::TaggedSymbol
84
+ ]
85
+ )
86
+ end
87
+ def self.values
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,422 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class CustomMetadataField < Imagekitio::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Imagekitio::CustomMetadataField, Imagekitio::Internal::AnyHash)
9
+ end
10
+
11
+ # Unique identifier for the custom metadata field. Use this to update the field.
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # Human readable name of the custom metadata field. This name is displayed as form
16
+ # field label to the users while setting field value on the asset in the media
17
+ # library UI.
18
+ sig { returns(String) }
19
+ attr_accessor :label
20
+
21
+ # API name of the custom metadata field. This becomes the key while setting
22
+ # `customMetadata` (key-value object) for an asset using upload or update API.
23
+ sig { returns(String) }
24
+ attr_accessor :name
25
+
26
+ # An object that describes the rules for the custom metadata field value.
27
+ sig { returns(Imagekitio::CustomMetadataField::Schema) }
28
+ attr_reader :schema
29
+
30
+ sig do
31
+ params(schema: Imagekitio::CustomMetadataField::Schema::OrHash).void
32
+ end
33
+ attr_writer :schema
34
+
35
+ # Object containing details of a custom metadata field.
36
+ sig do
37
+ params(
38
+ id: String,
39
+ label: String,
40
+ name: String,
41
+ schema: Imagekitio::CustomMetadataField::Schema::OrHash
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # Unique identifier for the custom metadata field. Use this to update the field.
46
+ id:,
47
+ # Human readable name of the custom metadata field. This name is displayed as form
48
+ # field label to the users while setting field value on the asset in the media
49
+ # library UI.
50
+ label:,
51
+ # API name of the custom metadata field. This becomes the key while setting
52
+ # `customMetadata` (key-value object) for an asset using upload or update API.
53
+ name:,
54
+ # An object that describes the rules for the custom metadata field value.
55
+ schema:
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ id: String,
63
+ label: String,
64
+ name: String,
65
+ schema: Imagekitio::CustomMetadataField::Schema
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+
72
+ class Schema < Imagekitio::Internal::Type::BaseModel
73
+ OrHash =
74
+ T.type_alias do
75
+ T.any(
76
+ Imagekitio::CustomMetadataField::Schema,
77
+ Imagekitio::Internal::AnyHash
78
+ )
79
+ end
80
+
81
+ # Type of the custom metadata field.
82
+ sig do
83
+ returns(Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol)
84
+ end
85
+ attr_accessor :type
86
+
87
+ # The default value for this custom metadata field. Data type of default value
88
+ # depends on the field type.
89
+ sig do
90
+ returns(
91
+ T.nilable(
92
+ Imagekitio::CustomMetadataField::Schema::DefaultValue::Variants
93
+ )
94
+ )
95
+ end
96
+ attr_reader :default_value
97
+
98
+ sig do
99
+ params(
100
+ default_value:
101
+ Imagekitio::CustomMetadataField::Schema::DefaultValue::Variants
102
+ ).void
103
+ end
104
+ attr_writer :default_value
105
+
106
+ # Specifies if the this custom metadata field is required or not.
107
+ sig { returns(T.nilable(T::Boolean)) }
108
+ attr_reader :is_value_required
109
+
110
+ sig { params(is_value_required: T::Boolean).void }
111
+ attr_writer :is_value_required
112
+
113
+ # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
114
+ sig { returns(T.nilable(Float)) }
115
+ attr_reader :max_length
116
+
117
+ sig { params(max_length: Float).void }
118
+ attr_writer :max_length
119
+
120
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
121
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
122
+ # field, it will be a numeric value.
123
+ sig do
124
+ returns(
125
+ T.nilable(
126
+ Imagekitio::CustomMetadataField::Schema::MaxValue::Variants
127
+ )
128
+ )
129
+ end
130
+ attr_reader :max_value
131
+
132
+ sig do
133
+ params(
134
+ max_value:
135
+ Imagekitio::CustomMetadataField::Schema::MaxValue::Variants
136
+ ).void
137
+ end
138
+ attr_writer :max_value
139
+
140
+ # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
141
+ sig { returns(T.nilable(Float)) }
142
+ attr_reader :min_length
143
+
144
+ sig { params(min_length: Float).void }
145
+ attr_writer :min_length
146
+
147
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
148
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
149
+ # field, it will be a numeric value.
150
+ sig do
151
+ returns(
152
+ T.nilable(
153
+ Imagekitio::CustomMetadataField::Schema::MinValue::Variants
154
+ )
155
+ )
156
+ end
157
+ attr_reader :min_value
158
+
159
+ sig do
160
+ params(
161
+ min_value:
162
+ Imagekitio::CustomMetadataField::Schema::MinValue::Variants
163
+ ).void
164
+ end
165
+ attr_writer :min_value
166
+
167
+ # An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
168
+ sig do
169
+ returns(
170
+ T.nilable(
171
+ T::Array[
172
+ Imagekitio::CustomMetadataField::Schema::SelectOption::Variants
173
+ ]
174
+ )
175
+ )
176
+ end
177
+ attr_reader :select_options
178
+
179
+ sig do
180
+ params(
181
+ select_options:
182
+ T::Array[
183
+ Imagekitio::CustomMetadataField::Schema::SelectOption::Variants
184
+ ]
185
+ ).void
186
+ end
187
+ attr_writer :select_options
188
+
189
+ # An object that describes the rules for the custom metadata field value.
190
+ sig do
191
+ params(
192
+ type: Imagekitio::CustomMetadataField::Schema::Type::OrSymbol,
193
+ default_value:
194
+ Imagekitio::CustomMetadataField::Schema::DefaultValue::Variants,
195
+ is_value_required: T::Boolean,
196
+ max_length: Float,
197
+ max_value:
198
+ Imagekitio::CustomMetadataField::Schema::MaxValue::Variants,
199
+ min_length: Float,
200
+ min_value:
201
+ Imagekitio::CustomMetadataField::Schema::MinValue::Variants,
202
+ select_options:
203
+ T::Array[
204
+ Imagekitio::CustomMetadataField::Schema::SelectOption::Variants
205
+ ]
206
+ ).returns(T.attached_class)
207
+ end
208
+ def self.new(
209
+ # Type of the custom metadata field.
210
+ type:,
211
+ # The default value for this custom metadata field. Data type of default value
212
+ # depends on the field type.
213
+ default_value: nil,
214
+ # Specifies if the this custom metadata field is required or not.
215
+ is_value_required: nil,
216
+ # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
217
+ max_length: nil,
218
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
219
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
220
+ # field, it will be a numeric value.
221
+ max_value: nil,
222
+ # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
223
+ min_length: nil,
224
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
225
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
226
+ # field, it will be a numeric value.
227
+ min_value: nil,
228
+ # An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
229
+ select_options: nil
230
+ )
231
+ end
232
+
233
+ sig do
234
+ override.returns(
235
+ {
236
+ type: Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol,
237
+ default_value:
238
+ Imagekitio::CustomMetadataField::Schema::DefaultValue::Variants,
239
+ is_value_required: T::Boolean,
240
+ max_length: Float,
241
+ max_value:
242
+ Imagekitio::CustomMetadataField::Schema::MaxValue::Variants,
243
+ min_length: Float,
244
+ min_value:
245
+ Imagekitio::CustomMetadataField::Schema::MinValue::Variants,
246
+ select_options:
247
+ T::Array[
248
+ Imagekitio::CustomMetadataField::Schema::SelectOption::Variants
249
+ ]
250
+ }
251
+ )
252
+ end
253
+ def to_hash
254
+ end
255
+
256
+ # Type of the custom metadata field.
257
+ module Type
258
+ extend Imagekitio::Internal::Type::Enum
259
+
260
+ TaggedSymbol =
261
+ T.type_alias do
262
+ T.all(Symbol, Imagekitio::CustomMetadataField::Schema::Type)
263
+ end
264
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
265
+
266
+ TEXT =
267
+ T.let(
268
+ :Text,
269
+ Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol
270
+ )
271
+ TEXTAREA =
272
+ T.let(
273
+ :Textarea,
274
+ Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol
275
+ )
276
+ NUMBER =
277
+ T.let(
278
+ :Number,
279
+ Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol
280
+ )
281
+ DATE =
282
+ T.let(
283
+ :Date,
284
+ Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol
285
+ )
286
+ BOOLEAN =
287
+ T.let(
288
+ :Boolean,
289
+ Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol
290
+ )
291
+ SINGLE_SELECT =
292
+ T.let(
293
+ :SingleSelect,
294
+ Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol
295
+ )
296
+ MULTI_SELECT =
297
+ T.let(
298
+ :MultiSelect,
299
+ Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol
300
+ )
301
+
302
+ sig do
303
+ override.returns(
304
+ T::Array[
305
+ Imagekitio::CustomMetadataField::Schema::Type::TaggedSymbol
306
+ ]
307
+ )
308
+ end
309
+ def self.values
310
+ end
311
+ end
312
+
313
+ # The default value for this custom metadata field. Data type of default value
314
+ # depends on the field type.
315
+ module DefaultValue
316
+ extend Imagekitio::Internal::Type::Union
317
+
318
+ Variants =
319
+ T.type_alias do
320
+ T.any(
321
+ String,
322
+ Float,
323
+ T::Boolean,
324
+ T::Array[
325
+ Imagekitio::CustomMetadataField::Schema::DefaultValue::Mixed::Variants
326
+ ]
327
+ )
328
+ end
329
+
330
+ module Mixed
331
+ extend Imagekitio::Internal::Type::Union
332
+
333
+ Variants = T.type_alias { T.any(String, Float, T::Boolean) }
334
+
335
+ sig do
336
+ override.returns(
337
+ T::Array[
338
+ Imagekitio::CustomMetadataField::Schema::DefaultValue::Mixed::Variants
339
+ ]
340
+ )
341
+ end
342
+ def self.variants
343
+ end
344
+ end
345
+
346
+ sig do
347
+ override.returns(
348
+ T::Array[
349
+ Imagekitio::CustomMetadataField::Schema::DefaultValue::Variants
350
+ ]
351
+ )
352
+ end
353
+ def self.variants
354
+ end
355
+
356
+ MixedArray =
357
+ T.let(
358
+ Imagekitio::Internal::Type::ArrayOf[
359
+ union:
360
+ Imagekitio::CustomMetadataField::Schema::DefaultValue::Mixed
361
+ ],
362
+ Imagekitio::Internal::Type::Converter
363
+ )
364
+ end
365
+
366
+ # Maximum value of the field. Only set if field type is `Date` or `Number`. For
367
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
368
+ # field, it will be a numeric value.
369
+ module MaxValue
370
+ extend Imagekitio::Internal::Type::Union
371
+
372
+ Variants = T.type_alias { T.any(String, Float) }
373
+
374
+ sig do
375
+ override.returns(
376
+ T::Array[
377
+ Imagekitio::CustomMetadataField::Schema::MaxValue::Variants
378
+ ]
379
+ )
380
+ end
381
+ def self.variants
382
+ end
383
+ end
384
+
385
+ # Minimum value of the field. Only set if field type is `Date` or `Number`. For
386
+ # `Date` type field, the value will be in ISO8601 string format. For `Number` type
387
+ # field, it will be a numeric value.
388
+ module MinValue
389
+ extend Imagekitio::Internal::Type::Union
390
+
391
+ Variants = T.type_alias { T.any(String, Float) }
392
+
393
+ sig do
394
+ override.returns(
395
+ T::Array[
396
+ Imagekitio::CustomMetadataField::Schema::MinValue::Variants
397
+ ]
398
+ )
399
+ end
400
+ def self.variants
401
+ end
402
+ end
403
+
404
+ module SelectOption
405
+ extend Imagekitio::Internal::Type::Union
406
+
407
+ Variants = T.type_alias { T.any(String, Float, T::Boolean) }
408
+
409
+ sig do
410
+ override.returns(
411
+ T::Array[
412
+ Imagekitio::CustomMetadataField::Schema::SelectOption::Variants
413
+ ]
414
+ )
415
+ end
416
+ def self.variants
417
+ end
418
+ end
419
+ end
420
+ end
421
+ end
422
+ end