test-test-sink-test-test 0.0.2.pre.alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (265) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +151 -0
  3. data/lib/sink/base_client.rb +404 -0
  4. data/lib/sink/base_model.rb +226 -0
  5. data/lib/sink/client.rb +391 -0
  6. data/lib/sink/fake_page.rb +44 -0
  7. data/lib/sink/models/address.rb +55 -0
  8. data/lib/sink/models/allof_base_parent.rb +18 -0
  9. data/lib/sink/models/allof_multiple_inline_entries.rb +15 -0
  10. data/lib/sink/models/api_status.rb +18 -0
  11. data/lib/sink/models/array_float_items_response.rb +6 -0
  12. data/lib/sink/models/array_missing_items_response.rb +18 -0
  13. data/lib/sink/models/array_object_items.rb +18 -0
  14. data/lib/sink/models/array_object_items_response.rb +18 -0
  15. data/lib/sink/models/array_recursion.rb +6 -0
  16. data/lib/sink/models/balance.rb +18 -0
  17. data/lib/sink/models/basic_shared_model_object.rb +23 -0
  18. data/lib/sink/models/body_param_top_level_all_of_response.rb +28 -0
  19. data/lib/sink/models/body_param_top_level_any_of_response.rb +6 -0
  20. data/lib/sink/models/body_param_top_level_one_of_response.rb +6 -0
  21. data/lib/sink/models/body_param_union_overlapping_prop_response.rb +19 -0
  22. data/lib/sink/models/card.rb +211 -0
  23. data/lib/sink/models/card_list_response.rb +36 -0
  24. data/lib/sink/models/card_provision_foo_response.rb +18 -0
  25. data/lib/sink/models/child_inlined_response_response.rb +18 -0
  26. data/lib/sink/models/child_model.rb +36 -0
  27. data/lib/sink/models/class_.rb +18 -0
  28. data/lib/sink/models/client.rb +23 -0
  29. data/lib/sink/models/company.rb +18 -0
  30. data/lib/sink/models/company_payment.rb +18 -0
  31. data/lib/sink/models/complex_query_array_query_response.rb +26 -0
  32. data/lib/sink/models/config_tool_model_ref_from_nested_response_body_response.rb +32 -0
  33. data/lib/sink/models/currency.rb +23 -0
  34. data/lib/sink/models/decorator_test_keep_me_response.rb +18 -0
  35. data/lib/sink/models/docstring_leading_double_quote_response.rb +20 -0
  36. data/lib/sink/models/docstring_trailing_double_quote_response.rb +32 -0
  37. data/lib/sink/models/documents.rb +23 -0
  38. data/lib/sink/models/eeoc.rb +18 -0
  39. data/lib/sink/models/employment_data.rb +18 -0
  40. data/lib/sink/models/enum_basic_response.rb +62 -0
  41. data/lib/sink/models/envelope_inline_response_response.rb +18 -0
  42. data/lib/sink/models/envelope_wrapped_array_response.rb +6 -0
  43. data/lib/sink/models/export.rb +19 -0
  44. data/lib/sink/models/file_create_multipart_response.rb +18 -0
  45. data/lib/sink/models/file_everything_multipart_response.rb +19 -0
  46. data/lib/sink/models/file_no_file_multipart_response.rb +18 -0
  47. data/lib/sink/models/file_with_optional_param_response.rb +18 -0
  48. data/lib/sink/models/funding_account.rb +100 -0
  49. data/lib/sink/models/import.rb +18 -0
  50. data/lib/sink/models/interface.rb +18 -0
  51. data/lib/sink/models/keep_this_resource_keep_this_method_response.rb +19 -0
  52. data/lib/sink/models/make_ambiguous_schemas_explicit_make_ambiguous_schemas_explicit_response.rb +45 -0
  53. data/lib/sink/models/make_ambiguous_schemas_looser_make_ambiguous_schemas_looser_response.rb +45 -0
  54. data/lib/sink/models/map_nullable_items_response.rb +28 -0
  55. data/lib/sink/models/method_config_skipped_tests_all_response.rb +19 -0
  56. data/lib/sink/models/method_config_skipped_tests_go_response.rb +19 -0
  57. data/lib/sink/models/method_config_skipped_tests_java_response.rb +19 -0
  58. data/lib/sink/models/method_config_skipped_tests_kotlin_response.rb +19 -0
  59. data/lib/sink/models/method_config_skipped_tests_node_and_python_response.rb +19 -0
  60. data/lib/sink/models/method_config_skipped_tests_node_response.rb +19 -0
  61. data/lib/sink/models/method_config_skipped_tests_python_response.rb +19 -0
  62. data/lib/sink/models/method_config_skipped_tests_ruby_response.rb +19 -0
  63. data/lib/sink/models/model_from_nested_path.rb +39 -0
  64. data/lib/sink/models/model_from_nested_response_body_ref.rb +18 -0
  65. data/lib/sink/models/model_from_schemas_ref.rb +18 -0
  66. data/lib/sink/models/model_from_schemas_ref_openapi_uri.rb +18 -0
  67. data/lib/sink/models/model_from_schemas_ref_openapi_uri_jmespath.rb +19 -0
  68. data/lib/sink/models/model_from_schemas_ref_openapi_uri_jsonpath.rb +19 -0
  69. data/lib/sink/models/model_level_1.rb +22 -0
  70. data/lib/sink/models/model_level_2.rb +22 -0
  71. data/lib/sink/models/model_level_3.rb +22 -0
  72. data/lib/sink/models/model_referenced_in_parent_and_child.rb +19 -0
  73. data/lib/sink/models/model_with_nested_model.rb +24 -0
  74. data/lib/sink/models/my_model.rb +18 -0
  75. data/lib/sink/models/name_child_prop_import_clash_response.rb +37 -0
  76. data/lib/sink/models/name_properties_common_conflicts_response.rb +84 -0
  77. data/lib/sink/models/name_properties_illegal_go_identifiers_response.rb +19 -0
  78. data/lib/sink/models/name_properties_illegal_javascript_identifiers_response.rb +6 -0
  79. data/lib/sink/models/name_response_property_clashes_model_import_response.rb +24 -0
  80. data/lib/sink/models/name_response_shadows_pydantic_response.rb +24 -0
  81. data/lib/sink/models/nested_request_model_a.rb +18 -0
  82. data/lib/sink/models/nested_request_model_b.rb +18 -0
  83. data/lib/sink/models/nested_request_model_c.rb +31 -0
  84. data/lib/sink/models/object_missing_items_response.rb +18 -0
  85. data/lib/sink/models/object_mixed_known_and_unknown_response.rb +19 -0
  86. data/lib/sink/models/object_multiple_array_properties_same_ref_response.rb +73 -0
  87. data/lib/sink/models/object_multiple_properties_same_model_response.rb +29 -0
  88. data/lib/sink/models/object_multiple_properties_same_ref_response.rb +68 -0
  89. data/lib/sink/models/object_skipped_props.rb +38 -0
  90. data/lib/sink/models/object_two_dimensional_array_primitive_property_response.rb +34 -0
  91. data/lib/sink/models/object_with_any_of_null_property.rb +31 -0
  92. data/lib/sink/models/object_with_child_ref.rb +23 -0
  93. data/lib/sink/models/object_with_one_of_null_property.rb +31 -0
  94. data/lib/sink/models/object_with_union_properties.rb +23 -0
  95. data/lib/sink/models/openapi_format_array_type_one_entry_response.rb +19 -0
  96. data/lib/sink/models/openapi_format_array_type_one_entry_with_null_response.rb +19 -0
  97. data/lib/sink/models/openapi_special_used_used_as_property_name_response.rb +19 -0
  98. data/lib/sink/models/page_cursor_shared_ref_pagination.rb +23 -0
  99. data/lib/sink/models/parent_model_with_child_ref.rb +28 -0
  100. data/lib/sink/models/path_param_colon_suffix_response.rb +18 -0
  101. data/lib/sink/models/path_param_file_extension_response.rb +18 -0
  102. data/lib/sink/models/path_param_multiple_response.rb +18 -0
  103. data/lib/sink/models/path_param_query_param_response.rb +18 -0
  104. data/lib/sink/models/path_param_singular_response.rb +18 -0
  105. data/lib/sink/models/primitive_strings_response.rb +18 -0
  106. data/lib/sink/models/private.rb +18 -0
  107. data/lib/sink/models/public.rb +18 -0
  108. data/lib/sink/models/recursion_create_envelope_response.rb +19 -0
  109. data/lib/sink/models/response_allof_simple_response.rb +23 -0
  110. data/lib/sink/models/response_array_object_with_union_properties_response.rb +6 -0
  111. data/lib/sink/models/response_array_response_response.rb +6 -0
  112. data/lib/sink/models/response_missing_required_response.rb +24 -0
  113. data/lib/sink/models/response_nested_array_response.rb +36 -0
  114. data/lib/sink/models/response_object_all_properties_response.rb +65 -0
  115. data/lib/sink/models/response_object_no_properties_response.rb +14 -0
  116. data/lib/sink/models/response_object_with_additional_properties_prop_response.rb +32 -0
  117. data/lib/sink/models/response_object_with_heavily_nested_union_response.rb +19 -0
  118. data/lib/sink/models/response_only_read_only_properties_response.rb +25 -0
  119. data/lib/sink/models/responses_allof_cross_object.rb +23 -0
  120. data/lib/sink/models/return_.rb +18 -0
  121. data/lib/sink/models/root_response.rb +31 -0
  122. data/lib/sink/models/self_recursion.rb +23 -0
  123. data/lib/sink/models/shared_cursor_nested_response_prop_meta.rb +33 -0
  124. data/lib/sink/models/shared_self_recursion.rb +23 -0
  125. data/lib/sink/models/shipping_address.rb +85 -0
  126. data/lib/sink/models/simple_allof.rb +28 -0
  127. data/lib/sink/models/simple_object.rb +32 -0
  128. data/lib/sink/models/skip_this_resource_i_never_appear_response.rb +19 -0
  129. data/lib/sink/models/streaming_basic_response.rb +23 -0
  130. data/lib/sink/models/streaming_nested_params_response.rb +23 -0
  131. data/lib/sink/models/streaming_no_discriminator_response.rb +24 -0
  132. data/lib/sink/models/streaming_query_param_discriminator_response.rb +24 -0
  133. data/lib/sink/models/streaming_with_unrelated_default_param_response.rb +24 -0
  134. data/lib/sink/models/type_dates_response.rb +38 -0
  135. data/lib/sink/models/type_datetimes_response.rb +38 -0
  136. data/lib/sink/models/union_discriminated_variant_a.rb +27 -0
  137. data/lib/sink/models/union_discriminated_variant_b.rb +27 -0
  138. data/lib/sink/models/union_response_discriminated_by_property_name_response.rb +6 -0
  139. data/lib/sink/models/union_response_discriminated_with_basic_mapping_response.rb +6 -0
  140. data/lib/sink/models/union_type_mixed_types_response.rb +6 -0
  141. data/lib/sink/models/union_type_nullable_union_response.rb +6 -0
  142. data/lib/sink/models/union_type_objects_response.rb +6 -0
  143. data/lib/sink/models/union_type_super_mixed_types_response.rb +6 -0
  144. data/lib/sink/models/union_type_unknown_variant_response.rb +6 -0
  145. data/lib/sink/models/version_1_30_name_create_response.rb +18 -0
  146. data/lib/sink/models/widget.rb +19 -0
  147. data/lib/sink/models/write_only_response_simple_response.rb +21 -0
  148. data/lib/sink/page_cursor.rb +54 -0
  149. data/lib/sink/page_cursor_from_headers.rb +54 -0
  150. data/lib/sink/page_cursor_id.rb +50 -0
  151. data/lib/sink/page_cursor_nested_items.rb +84 -0
  152. data/lib/sink/page_cursor_nested_object_ref.rb +71 -0
  153. data/lib/sink/page_cursor_shared_ref.rb +72 -0
  154. data/lib/sink/page_cursor_top_level_array.rb +51 -0
  155. data/lib/sink/page_cursor_url.rb +51 -0
  156. data/lib/sink/page_cursor_with_reverse.rb +58 -0
  157. data/lib/sink/page_offset.rb +54 -0
  158. data/lib/sink/page_offset_no_start_field.rb +50 -0
  159. data/lib/sink/page_offset_total_count.rb +58 -0
  160. data/lib/sink/page_page_number.rb +58 -0
  161. data/lib/sink/page_page_number_without_current_page_response.rb +50 -0
  162. data/lib/sink/pooled_net_requester.rb +72 -0
  163. data/lib/sink/request_options.rb +89 -0
  164. data/lib/sink/resources/body_params/objects.rb +34 -0
  165. data/lib/sink/resources/body_params/unions.rb +34 -0
  166. data/lib/sink/resources/body_params.rb +630 -0
  167. data/lib/sink/resources/cards.rb +508 -0
  168. data/lib/sink/resources/casing/eeoc.rb +34 -0
  169. data/lib/sink/resources/casing.rb +16 -0
  170. data/lib/sink/resources/clients.rb +30 -0
  171. data/lib/sink/resources/company/payments.rb +30 -0
  172. data/lib/sink/resources/company.rb +18 -0
  173. data/lib/sink/resources/complex_queries.rb +60 -0
  174. data/lib/sink/resources/config_tools/parent_with_skip_node_python/child_only_skip_python.rb +99 -0
  175. data/lib/sink/resources/config_tools/parent_with_skip_node_python.rb +101 -0
  176. data/lib/sink/resources/config_tools.rb +40 -0
  177. data/lib/sink/resources/decorator_tests/keep_this_resource.rb +29 -0
  178. data/lib/sink/resources/decorator_tests/languages.rb +59 -0
  179. data/lib/sink/resources/decorator_tests/skip_this_resource.rb +28 -0
  180. data/lib/sink/resources/decorator_tests.rb +38 -0
  181. data/lib/sink/resources/deeply_nested/level_one/level_two/level_three.rb +33 -0
  182. data/lib/sink/resources/deeply_nested/level_one/level_two.rb +35 -0
  183. data/lib/sink/resources/deeply_nested/level_one.rb +33 -0
  184. data/lib/sink/resources/deeply_nested.rb +16 -0
  185. data/lib/sink/resources/docstrings.rb +82 -0
  186. data/lib/sink/resources/empty_body.rb +60 -0
  187. data/lib/sink/resources/envelopes.rb +74 -0
  188. data/lib/sink/resources/files.rb +101 -0
  189. data/lib/sink/resources/header_params.rb +81 -0
  190. data/lib/sink/resources/invalid_schemas/arrays.rb +26 -0
  191. data/lib/sink/resources/invalid_schemas/objects.rb +26 -0
  192. data/lib/sink/resources/invalid_schemas.rb +20 -0
  193. data/lib/sink/resources/make_ambiguous_schemas_explicit.rb +26 -0
  194. data/lib/sink/resources/make_ambiguous_schemas_looser.rb +26 -0
  195. data/lib/sink/resources/method_config.rb +167 -0
  196. data/lib/sink/resources/mixed_params/duplicates.rb +79 -0
  197. data/lib/sink/resources/mixed_params.rb +88 -0
  198. data/lib/sink/resources/model_referenced_in_parent_and_child/child.rb +26 -0
  199. data/lib/sink/resources/model_referenced_in_parent_and_child.rb +28 -0
  200. data/lib/sink/resources/names/can_cause_clashes/employment_data.rb +16 -0
  201. data/lib/sink/resources/names/can_cause_clashes/response.rb +32 -0
  202. data/lib/sink/resources/names/can_cause_clashes.rb +23 -0
  203. data/lib/sink/resources/names/documents.rb +28 -0
  204. data/lib/sink/resources/names/openapi_specials.rb +26 -0
  205. data/lib/sink/resources/names/params.rb +52 -0
  206. data/lib/sink/resources/names/reserved_names/import.rb +31 -0
  207. data/lib/sink/resources/names/reserved_names/methods.rb +40 -0
  208. data/lib/sink/resources/names/reserved_names/public/class_.rb +30 -0
  209. data/lib/sink/resources/names/reserved_names/public/interface.rb +30 -0
  210. data/lib/sink/resources/names/reserved_names/public/private.rb +30 -0
  211. data/lib/sink/resources/names/reserved_names/public.rb +40 -0
  212. data/lib/sink/resources/names/reserved_names.rb +46 -0
  213. data/lib/sink/resources/names.rb +170 -0
  214. data/lib/sink/resources/openapi_formats.rb +53 -0
  215. data/lib/sink/resources/pagination_tests/cursor.rb +57 -0
  216. data/lib/sink/resources/pagination_tests/cursor_id.rb +34 -0
  217. data/lib/sink/resources/pagination_tests/cursor_url.rb +34 -0
  218. data/lib/sink/resources/pagination_tests/fake_pages.rb +33 -0
  219. data/lib/sink/resources/pagination_tests/items_types.rb +34 -0
  220. data/lib/sink/resources/pagination_tests/nested_items.rb +34 -0
  221. data/lib/sink/resources/pagination_tests/offset.rb +74 -0
  222. data/lib/sink/resources/pagination_tests/page_number.rb +54 -0
  223. data/lib/sink/resources/pagination_tests/page_number_without_current_page_response.rb +55 -0
  224. data/lib/sink/resources/pagination_tests/refs.rb +55 -0
  225. data/lib/sink/resources/pagination_tests/response_headers.rb +34 -0
  226. data/lib/sink/resources/pagination_tests/schema_types.rb +54 -0
  227. data/lib/sink/resources/pagination_tests/top_level_arrays.rb +34 -0
  228. data/lib/sink/resources/pagination_tests.rb +64 -0
  229. data/lib/sink/resources/parent/child.rb +30 -0
  230. data/lib/sink/resources/parent.rb +18 -0
  231. data/lib/sink/resources/path_params.rb +210 -0
  232. data/lib/sink/resources/positional_params.rb +237 -0
  233. data/lib/sink/resources/query_params.rb +166 -0
  234. data/lib/sink/resources/recursion/shared_responses.rb +26 -0
  235. data/lib/sink/resources/recursion.rb +68 -0
  236. data/lib/sink/resources/resource_refs/paginated_model_first_ref.rb +14 -0
  237. data/lib/sink/resources/resource_refs/paginated_model_second_ref.rb +14 -0
  238. data/lib/sink/resources/resource_refs/parent/child.rb +31 -0
  239. data/lib/sink/resources/resource_refs/parent.rb +32 -0
  240. data/lib/sink/resources/resource_refs.rb +24 -0
  241. data/lib/sink/resources/resources.rb +26 -0
  242. data/lib/sink/resources/responses/union_types.rb +98 -0
  243. data/lib/sink/resources/responses.rb +319 -0
  244. data/lib/sink/resources/shared_query_params.rb +48 -0
  245. data/lib/sink/resources/streaming.rb +106 -0
  246. data/lib/sink/resources/testing.rb +24 -0
  247. data/lib/sink/resources/tests.rb +26 -0
  248. data/lib/sink/resources/tools.rb +33 -0
  249. data/lib/sink/resources/types/allofs.rb +14 -0
  250. data/lib/sink/resources/types/arrays.rb +62 -0
  251. data/lib/sink/resources/types/enums.rb +95 -0
  252. data/lib/sink/resources/types/maps.rb +29 -0
  253. data/lib/sink/resources/types/objects.rb +105 -0
  254. data/lib/sink/resources/types/primitives.rb +34 -0
  255. data/lib/sink/resources/types/read_only_params.rb +34 -0
  256. data/lib/sink/resources/types/unions.rb +126 -0
  257. data/lib/sink/resources/types/write_only_responses.rb +28 -0
  258. data/lib/sink/resources/types.rb +95 -0
  259. data/lib/sink/resources/undocumented_resource.rb +47 -0
  260. data/lib/sink/resources/version_1_30_names.rb +41 -0
  261. data/lib/sink/resources/widgets.rb +30 -0
  262. data/lib/sink/util.rb +78 -0
  263. data/lib/sink/version.rb +5 -0
  264. data/lib/sink.rb +276 -0
  265. metadata +322 -0
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class EmptyBody
6
+ # @param client [Sink::Client]
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # Endpoint with x-stainless-empty-object should still have types for params
12
+ #
13
+ # @param path_param [String] Path param: Path param description
14
+ #
15
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
16
+ # @option params [Body] :body Body param:
17
+ # @option params [String, nil] :query_param Query param: Query param description
18
+ # @option params [String, nil] :second_query_param Query param: Query param description
19
+ #
20
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
21
+ #
22
+ # @return [Sink::Models::BasicSharedModelObject]
23
+ def stainless_empty_object(path_param = nil, params = {}, opts = {})
24
+ req = {
25
+ method: :post,
26
+ path: "/mixed_params/with_empty_body/#{path_param}/x_stainless_empty_object",
27
+ body: params[:body],
28
+ query: params.except(:body),
29
+ headers: {"Content-Type" => "application/json"},
30
+ model: Sink::Models::BasicSharedModelObject
31
+ }
32
+ @client.request(req, opts)
33
+ end
34
+
35
+ # Endpoint with an empty `requestBody` should still have types for params
36
+ #
37
+ # @param path_param [String] Path param: Path param description
38
+ #
39
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
40
+ # @option params [Object] :body Body param:
41
+ # @option params [String, nil] :query_param Query param: Query param description
42
+ # @option params [String, nil] :second_query_param Query param: Query param description
43
+ #
44
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
45
+ #
46
+ # @return [Sink::Models::BasicSharedModelObject]
47
+ def typed_params(path_param = nil, params = {}, opts = {})
48
+ req = {
49
+ method: :post,
50
+ path: "/mixed_params/with_empty_body/#{path_param}",
51
+ body: params[:body],
52
+ query: params.except(:body),
53
+ headers: {"Content-Type" => "application/json"},
54
+ model: Sink::Models::BasicSharedModelObject
55
+ }
56
+ @client.request(req, opts)
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Envelopes
6
+ # @param client [Sink::Client]
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # Endpoint with a response wrapped within a `data` property.
12
+ #
13
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
14
+ #
15
+ # @return [Sink::Models::Address]
16
+ def explicit(opts = {})
17
+ req = {
18
+ method: :get,
19
+ path: "/envelopes/data",
20
+ unwrap: :data,
21
+ model: Sink::Models::Address
22
+ }
23
+ @client.request(req, opts)
24
+ end
25
+
26
+ # Endpoint with a response wrapped within a `items` property.
27
+ #
28
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
29
+ #
30
+ # @return [Sink::Models::Address]
31
+ def implicit(opts = {})
32
+ req = {
33
+ method: :get,
34
+ path: "/envelopes/items",
35
+ unwrap: :items,
36
+ model: Sink::Models::Address
37
+ }
38
+ @client.request(req, opts)
39
+ end
40
+
41
+ # Endpoint with a response wrapped within a `items` property that doesn't use a
42
+ # $ref.
43
+ #
44
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
45
+ #
46
+ # @return [Sink::Models::EnvelopeInlineResponseResponse]
47
+ def inline_response(opts = {})
48
+ req = {
49
+ method: :get,
50
+ path: "/envelopes/items/inline_response",
51
+ unwrap: :items,
52
+ model: Sink::Models::EnvelopeInlineResponseResponse
53
+ }
54
+ @client.request(req, opts)
55
+ end
56
+
57
+ # Endpoint with a response wrapped within a `items` property that is an array
58
+ # type.
59
+ #
60
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
61
+ #
62
+ # @return [Array<Sink::Models::ObjectWithChildRef>]
63
+ def wrapped_array(opts = {})
64
+ req = {
65
+ method: :get,
66
+ path: "/envelopes/items/wrapped_array",
67
+ unwrap: :items,
68
+ model: Sink::ArrayOf.new(Sink::Models::ObjectWithChildRef)
69
+ }
70
+ @client.request(req, opts)
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,101 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class Files
6
+ # @param client [Sink::Client]
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # Endpoint for testing file uploads
12
+ #
13
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
14
+ # @option params [String] :file
15
+ # @option params [String] :purpose
16
+ #
17
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
18
+ #
19
+ # @return [Sink::Models::FileCreateMultipartResponse]
20
+ def create_multipart(params = {}, opts = {})
21
+ req = {
22
+ method: :post,
23
+ path: "/files/multipart",
24
+ body: params,
25
+ headers: {"Content-Type" => "multipart/form-data"},
26
+ model: Sink::Models::FileCreateMultipartResponse
27
+ }
28
+ @client.request(req, opts)
29
+ end
30
+
31
+ # Endpoint for testing file uploads with all kinds of properties
32
+ #
33
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
34
+ # @option params [Boolean] :b
35
+ # @option params [Symbol, E] :e
36
+ # @option params [Float] :f
37
+ # @option params [String] :file
38
+ # @option params [Integer] :i
39
+ # @option params [String] :purpose
40
+ # @option params [String] :s
41
+ #
42
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
43
+ #
44
+ # @return [Sink::Models::FileEverythingMultipartResponse]
45
+ def everything_multipart(params = {}, opts = {})
46
+ req = {
47
+ method: :post,
48
+ path: "/files/multipart_everything",
49
+ body: params,
50
+ headers: {"Content-Type" => "multipart/form-data"},
51
+ model: Sink::Models::FileEverythingMultipartResponse
52
+ }
53
+ @client.request(req, opts)
54
+ end
55
+
56
+ # Endpoint for multipart requests without a file parameter.
57
+ #
58
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
59
+ # @option params [String] :purpose
60
+ #
61
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
62
+ #
63
+ # @return [Sink::Models::FileNoFileMultipartResponse]
64
+ def no_file_multipart(params = {}, opts = {})
65
+ req = {
66
+ method: :post,
67
+ path: "/files/no_file_multipart",
68
+ body: params,
69
+ headers: {"Content-Type" => "multipart/form-data"},
70
+ model: Sink::Models::FileNoFileMultipartResponse
71
+ }
72
+ @client.request(req, opts)
73
+ end
74
+
75
+ # Multipart request with a required and an optional file request param.
76
+ #
77
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
78
+ # @option params [String] :image The image to edit. Must be a valid PNG file, less than 4MB, and square. If mask
79
+ # is not provided, image must have transparency, which will be used as the mask.
80
+ # @option params [String] :prompt A text description of the desired image(s). The maximum length is 1000
81
+ # characters.
82
+ # @option params [String, nil] :mask An additional image whose fully transparent areas (e.g. where alpha is zero)
83
+ # indicate where `image` should be edited. Must be a valid PNG file, less than
84
+ # 4MB, and have the same dimensions as `image`.
85
+ #
86
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
87
+ #
88
+ # @return [Sink::Models::FileWithOptionalParamResponse]
89
+ def with_optional_param(params = {}, opts = {})
90
+ req = {
91
+ method: :post,
92
+ path: "/files/with_optional_param",
93
+ body: params,
94
+ headers: {"Content-Type" => "multipart/form-data"},
95
+ model: Sink::Models::FileWithOptionalParamResponse
96
+ }
97
+ @client.request(req, opts)
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class HeaderParams
6
+ # @param client [Sink::Client]
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # Endpoint with a `type: null` header param, which we should turn into a string
12
+ # type.
13
+ #
14
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
15
+ # @option params [Array<Integer>] :x_required_int_array Header param:
16
+ # @option params [Array<String>] :x_required_string_array Header param:
17
+ # @option params [String, nil] :body_argument Body param:
18
+ # @option params [Array<Integer>, nil] :x_optional_int_array Header param:
19
+ # @option params [Array<String>, nil] :x_optional_string_array Header param:
20
+ #
21
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
22
+ #
23
+ # @return [nil]
24
+ def arrays(params = {}, opts = {})
25
+ req = {
26
+ method: :post,
27
+ path: "/header_params/arrays",
28
+ body: params,
29
+ headers: {"Content-Type" => "application/json"},
30
+ model: NilClass
31
+ }
32
+ @client.request(req, opts)
33
+ end
34
+
35
+ # The `X-Client-Secret` header shouldn't be included in params definitions as it
36
+ # is already sent as a client argument.
37
+ #
38
+ # Whereas the `X-Custom-Endpoint-Header` should be included as it is only used
39
+ # here.
40
+ #
41
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
42
+ # @option params [String, nil] :foo Body param:
43
+ # @option params [String, nil] :x_custom_endpoint_header Header param:
44
+ #
45
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
46
+ #
47
+ # @return [nil]
48
+ def client_argument(params = {}, opts = {})
49
+ req = {
50
+ method: :post,
51
+ path: "/header_params/client_argument",
52
+ body: params,
53
+ headers: {"Content-Type" => "application/json"},
54
+ model: NilClass
55
+ }
56
+ @client.request(req, opts)
57
+ end
58
+
59
+ # Endpoint with a `type: null` header param, which we should turn into a string
60
+ # type.
61
+ #
62
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
63
+ # @option params [String, nil] :body_argument Body param:
64
+ # @option params [String, nil] :x_null Header param:
65
+ #
66
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
67
+ #
68
+ # @return [nil]
69
+ def nullable_type(params = {}, opts = {})
70
+ req = {
71
+ method: :post,
72
+ path: "/header_params/nullable_type",
73
+ body: params,
74
+ headers: {"Content-Type" => "application/json"},
75
+ model: NilClass
76
+ }
77
+ @client.request(req, opts)
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class InvalidSchemas
6
+ class Arrays
7
+ # @param client [Sink::Client]
8
+ def initialize(client:)
9
+ @client = client
10
+ end
11
+
12
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
13
+ #
14
+ # @return [Sink::Models::ArrayMissingItemsResponse]
15
+ def missing_items(opts = {})
16
+ req = {
17
+ method: :get,
18
+ path: "/invalid_schemas/arrays/missing_items",
19
+ model: Sink::Models::ArrayMissingItemsResponse
20
+ }
21
+ @client.request(req, opts)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class InvalidSchemas
6
+ class Objects
7
+ # @param client [Sink::Client]
8
+ def initialize(client:)
9
+ @client = client
10
+ end
11
+
12
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
13
+ #
14
+ # @return [Sink::Models::ObjectMissingItemsResponse]
15
+ def missing_items(opts = {})
16
+ req = {
17
+ method: :get,
18
+ path: "/invalid_schemas/objects/property_missing_def",
19
+ model: Sink::Models::ObjectMissingItemsResponse
20
+ }
21
+ @client.request(req, opts)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class InvalidSchemas
6
+ # @return [Sink::Resources::InvalidSchemas::Arrays]
7
+ attr_reader :arrays
8
+
9
+ # @return [Sink::Resources::InvalidSchemas::Objects]
10
+ attr_reader :objects
11
+
12
+ # @param client [Sink::Client]
13
+ def initialize(client:)
14
+ @client = client
15
+ @arrays = Sink::Resources::InvalidSchemas::Arrays.new(client: client)
16
+ @objects = Sink::Resources::InvalidSchemas::Objects.new(client: client)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class MakeAmbiguousSchemasExplicit
6
+ # @param client [Sink::Client]
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # Test case for makeAmbiguousSchemasExplicit
12
+ #
13
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
14
+ #
15
+ # @return [Sink::Models::MakeAmbiguousSchemasExplicitMakeAmbiguousSchemasExplicitResponse]
16
+ def make_ambiguous_schemas_explicit(opts = {})
17
+ req = {
18
+ method: :get,
19
+ path: "/make-ambiguous-schemas-explicit",
20
+ model: Sink::Models::MakeAmbiguousSchemasExplicitMakeAmbiguousSchemasExplicitResponse
21
+ }
22
+ @client.request(req, opts)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class MakeAmbiguousSchemasLooser
6
+ # @param client [Sink::Client]
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # Test case for makeAmbiguousSchemasLooser
12
+ #
13
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
14
+ #
15
+ # @return [Sink::Models::MakeAmbiguousSchemasLooserMakeAmbiguousSchemasLooserResponse]
16
+ def make_ambiguous_schemas_looser(opts = {})
17
+ req = {
18
+ method: :get,
19
+ path: "/make-ambiguous-schemas-looser",
20
+ model: Sink::Models::MakeAmbiguousSchemasLooserMakeAmbiguousSchemasLooserResponse
21
+ }
22
+ @client.request(req, opts)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,167 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class MethodConfig
6
+ # @param client [Sink::Client]
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # Initiate print and shipment of a duplicate card.
12
+ #
13
+ # Only applies to cards of type `PHYSICAL` [beta].
14
+ #
15
+ # @param card_token [String]
16
+ #
17
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
18
+ # @option params [String, nil] :product_id Specifies the configuration (e.g. physical card art) that the card should be
19
+ # manufactured with, and only applies to cards of type `PHYSICAL` [beta]. This
20
+ # must be configured with Lithic before use.
21
+ # @option params [Symbol, ShippingMethod, nil] :shipping_method Shipping method for the card. Use of options besides `STANDARD` require
22
+ # additional permissions.
23
+ #
24
+ # - `STANDARD` - USPS regular mail or similar international option, with no
25
+ # tracking
26
+ # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
27
+ # with tracking
28
+ # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
29
+ # tracking
30
+ # @option params [Sink::Models::ShippingAddress, nil] :shipping_address If omitted, the previous shipping address will be used.
31
+ #
32
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
33
+ #
34
+ # @return [Sink::Models::Card]
35
+ def should_not_show_up_in_api_docs(card_token, params = {}, opts = {})
36
+ req = {
37
+ method: :post,
38
+ path: "/cards/#{card_token}/reissue",
39
+ body: params,
40
+ headers: {"Content-Type" => "application/json"},
41
+ model: Sink::Models::Card
42
+ }
43
+ @client.request(req, opts)
44
+ end
45
+
46
+ # Used to test skipping generated unit tests.
47
+ #
48
+ # @param id [String]
49
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
50
+ #
51
+ # @return [Sink::Models::MethodConfigSkippedTestsAllResponse]
52
+ def skipped_tests_all(id, opts = {})
53
+ req = {
54
+ method: :get,
55
+ path: "/method_config/skipped_tests/#{id}",
56
+ model: Sink::Models::MethodConfigSkippedTestsAllResponse
57
+ }
58
+ @client.request(req, opts)
59
+ end
60
+
61
+ # Used to test skipping generated unit tests.
62
+ #
63
+ # @param id [String]
64
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
65
+ #
66
+ # @return [Sink::Models::MethodConfigSkippedTestsGoResponse]
67
+ def skipped_tests_go(id, opts = {})
68
+ req = {
69
+ method: :get,
70
+ path: "/method_config/skipped_tests/#{id}",
71
+ model: Sink::Models::MethodConfigSkippedTestsGoResponse
72
+ }
73
+ @client.request(req, opts)
74
+ end
75
+
76
+ # Used to test skipping generated unit tests.
77
+ #
78
+ # @param id [String]
79
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
80
+ #
81
+ # @return [Sink::Models::MethodConfigSkippedTestsJavaResponse]
82
+ def skipped_tests_java(id, opts = {})
83
+ req = {
84
+ method: :get,
85
+ path: "/method_config/skipped_tests/#{id}",
86
+ model: Sink::Models::MethodConfigSkippedTestsJavaResponse
87
+ }
88
+ @client.request(req, opts)
89
+ end
90
+
91
+ # Used to test skipping generated unit tests.
92
+ #
93
+ # @param id [String]
94
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
95
+ #
96
+ # @return [Sink::Models::MethodConfigSkippedTestsKotlinResponse]
97
+ def skipped_tests_kotlin(id, opts = {})
98
+ req = {
99
+ method: :get,
100
+ path: "/method_config/skipped_tests/#{id}",
101
+ model: Sink::Models::MethodConfigSkippedTestsKotlinResponse
102
+ }
103
+ @client.request(req, opts)
104
+ end
105
+
106
+ # Used to test skipping generated unit tests.
107
+ #
108
+ # @param id [String]
109
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
110
+ #
111
+ # @return [Sink::Models::MethodConfigSkippedTestsNodeResponse]
112
+ def skipped_tests_node(id, opts = {})
113
+ req = {
114
+ method: :get,
115
+ path: "/method_config/skipped_tests/#{id}",
116
+ model: Sink::Models::MethodConfigSkippedTestsNodeResponse
117
+ }
118
+ @client.request(req, opts)
119
+ end
120
+
121
+ # Used to test skipping generated unit tests.
122
+ #
123
+ # @param id [String]
124
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
125
+ #
126
+ # @return [Sink::Models::MethodConfigSkippedTestsNodeAndPythonResponse]
127
+ def skipped_tests_node_and_python(id, opts = {})
128
+ req = {
129
+ method: :get,
130
+ path: "/method_config/skipped_tests/#{id}",
131
+ model: Sink::Models::MethodConfigSkippedTestsNodeAndPythonResponse
132
+ }
133
+ @client.request(req, opts)
134
+ end
135
+
136
+ # Used to test skipping generated unit tests.
137
+ #
138
+ # @param id [String]
139
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
140
+ #
141
+ # @return [Sink::Models::MethodConfigSkippedTestsPythonResponse]
142
+ def skipped_tests_python(id, opts = {})
143
+ req = {
144
+ method: :get,
145
+ path: "/method_config/skipped_tests/#{id}",
146
+ model: Sink::Models::MethodConfigSkippedTestsPythonResponse
147
+ }
148
+ @client.request(req, opts)
149
+ end
150
+
151
+ # Used to test skipping generated unit tests.
152
+ #
153
+ # @param id [String]
154
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
155
+ #
156
+ # @return [Sink::Models::MethodConfigSkippedTestsRubyResponse]
157
+ def skipped_tests_ruby(id, opts = {})
158
+ req = {
159
+ method: :get,
160
+ path: "/method_config/skipped_tests/#{id}",
161
+ model: Sink::Models::MethodConfigSkippedTestsRubyResponse
162
+ }
163
+ @client.request(req, opts)
164
+ end
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sink
4
+ module Resources
5
+ class MixedParams
6
+ class Duplicates
7
+ # @param client [Sink::Client]
8
+ def initialize(client:)
9
+ @client = client
10
+ end
11
+
12
+ # Endpoint with a `requestBody` that defines a param with the same name in path
13
+ # and body params
14
+ #
15
+ # @param path_id [String] Path param description
16
+ #
17
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
18
+ # @option params [String] :body_id Body param description
19
+ #
20
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
21
+ #
22
+ # @return [Sink::Models::BasicSharedModelObject]
23
+ def body_and_path(_path_id = nil, params = {}, opts = {})
24
+ req = {
25
+ method: :post,
26
+ path: "/mixed_params/duplicates/body_and_path/#{params.fetch(:path_id)}",
27
+ body: params,
28
+ headers: {"Content-Type" => "application/json"},
29
+ model: Sink::Models::BasicSharedModelObject
30
+ }
31
+ @client.request(req, opts)
32
+ end
33
+
34
+ # Endpoint with a `requestBody` that defines a param with the same name in query
35
+ # and body params
36
+ #
37
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
38
+ # @option params [String] :body_id Body param: Body param description
39
+ #
40
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
41
+ #
42
+ # @return [Sink::Models::BasicSharedModelObject]
43
+ def query_and_body(params = {}, opts = {})
44
+ query_params = [:query_id]
45
+ req = {
46
+ method: :post,
47
+ path: "/mixed_params/duplicates/query_and_body",
48
+ query: params.slice(*query_params),
49
+ body: params.except(*query_params),
50
+ headers: {"Content-Type" => "application/json"},
51
+ model: Sink::Models::BasicSharedModelObject
52
+ }
53
+ @client.request(req, opts)
54
+ end
55
+
56
+ # Endpoint with a `requestBody` that defines a param with the same name in path
57
+ # and query params
58
+ #
59
+ # @param path_id [String] Path param description
60
+ #
61
+ # @param params [Hash{Symbol => Object}] Attributes to send in this request.
62
+ # @option params [String] :query_id Query param description
63
+ #
64
+ # @param opts [Hash, Sink::RequestOptions] Options to specify HTTP behaviour for this request.
65
+ #
66
+ # @return [Sink::Models::BasicSharedModelObject]
67
+ def query_and_path(_path_id = nil, params = {}, opts = {})
68
+ req = {
69
+ method: :post,
70
+ path: "/mixed_params/duplicates/query_and_path/#{params.fetch(:path_id)}",
71
+ query: params,
72
+ model: Sink::Models::BasicSharedModelObject
73
+ }
74
+ @client.request(req, opts)
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end