trieve_ruby_client 0.3.5 → 0.4.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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +78 -74
  3. data/docs/AuthApi.md +28 -34
  4. data/docs/AuthQuery.md +22 -0
  5. data/docs/BatchQueuedChunkResponse.md +20 -0
  6. data/docs/ChunkApi.md +69 -143
  7. data/docs/ChunkData.md +42 -0
  8. data/docs/ChunkGroupApi.md +169 -85
  9. data/docs/CreateChunkData.md +41 -34
  10. data/docs/DatasetApi.md +31 -31
  11. data/docs/EventsApi.md +13 -13
  12. data/docs/FileApi.md +21 -21
  13. data/docs/GetEventsData.md +22 -0
  14. data/docs/HealthApi.md +6 -4
  15. data/docs/InvitationApi.md +6 -6
  16. data/docs/MessageApi.md +21 -21
  17. data/docs/OrganizationApi.md +31 -31
  18. data/docs/ReturnQueuedChunk.md +39 -10
  19. data/docs/SingleQueuedChunkResponse.md +20 -0
  20. data/docs/StripeApi.md +21 -13
  21. data/docs/TopicApi.md +21 -21
  22. data/docs/UserApi.md +16 -16
  23. data/lib/trieve_ruby_client/api/auth_api.rb +27 -34
  24. data/lib/trieve_ruby_client/api/chunk_api.rb +57 -132
  25. data/lib/trieve_ruby_client/api/chunk_group_api.rb +149 -61
  26. data/lib/trieve_ruby_client/api/dataset_api.rb +25 -25
  27. data/lib/trieve_ruby_client/api/events_api.rb +21 -16
  28. data/lib/trieve_ruby_client/api/file_api.rb +17 -17
  29. data/lib/trieve_ruby_client/api/health_api.rb +5 -1
  30. data/lib/trieve_ruby_client/api/invitation_api.rb +5 -5
  31. data/lib/trieve_ruby_client/api/message_api.rb +17 -17
  32. data/lib/trieve_ruby_client/api/organization_api.rb +25 -25
  33. data/lib/trieve_ruby_client/api/stripe_api.rb +17 -1
  34. data/lib/trieve_ruby_client/api/topic_api.rb +17 -17
  35. data/lib/trieve_ruby_client/api/user_api.rb +13 -13
  36. data/lib/trieve_ruby_client/api_client.rb +1 -1
  37. data/lib/trieve_ruby_client/api_error.rb +1 -1
  38. data/lib/trieve_ruby_client/configuration.rb +8 -4
  39. data/lib/trieve_ruby_client/models/add_chunk_to_group_data.rb +1 -1
  40. data/lib/trieve_ruby_client/models/api_key_dto.rb +1 -1
  41. data/lib/trieve_ruby_client/models/auth_query.rb +238 -0
  42. data/lib/trieve_ruby_client/models/batch_queued_chunk_response.rb +240 -0
  43. data/lib/trieve_ruby_client/models/bookmark_data.rb +1 -1
  44. data/lib/trieve_ruby_client/models/bookmark_group_result.rb +1 -1
  45. data/lib/trieve_ruby_client/models/chat_message_proxy.rb +1 -1
  46. data/lib/trieve_ruby_client/models/chunk_data.rb +356 -0
  47. data/lib/trieve_ruby_client/models/chunk_filter.rb +1 -1
  48. data/lib/trieve_ruby_client/models/chunk_group.rb +1 -1
  49. data/lib/trieve_ruby_client/models/chunk_group_and_file.rb +1 -1
  50. data/lib/trieve_ruby_client/models/chunk_metadata.rb +1 -1
  51. data/lib/trieve_ruby_client/models/chunk_metadata_with_file_data.rb +1 -1
  52. data/lib/trieve_ruby_client/models/client_dataset_configuration.rb +1 -1
  53. data/lib/trieve_ruby_client/models/create_chunk_data.rb +79 -330
  54. data/lib/trieve_ruby_client/models/create_chunk_group_data.rb +1 -1
  55. data/lib/trieve_ruby_client/models/create_dataset_request.rb +1 -1
  56. data/lib/trieve_ruby_client/models/create_message_data.rb +1 -1
  57. data/lib/trieve_ruby_client/models/create_organization_data.rb +1 -1
  58. data/lib/trieve_ruby_client/models/create_topic_data.rb +1 -1
  59. data/lib/trieve_ruby_client/models/dataset.rb +1 -1
  60. data/lib/trieve_ruby_client/models/dataset_and_usage.rb +1 -1
  61. data/lib/trieve_ruby_client/models/dataset_dto.rb +1 -1
  62. data/lib/trieve_ruby_client/models/dataset_usage_count.rb +1 -1
  63. data/lib/trieve_ruby_client/models/delete_dataset_request.rb +1 -1
  64. data/lib/trieve_ruby_client/models/delete_topic_data.rb +1 -1
  65. data/lib/trieve_ruby_client/models/delete_user_api_key_request.rb +1 -1
  66. data/lib/trieve_ruby_client/models/edit_message_data.rb +1 -1
  67. data/lib/trieve_ruby_client/models/error_response_body.rb +1 -1
  68. data/lib/trieve_ruby_client/models/event.rb +1 -1
  69. data/lib/trieve_ruby_client/models/event_return.rb +1 -1
  70. data/lib/trieve_ruby_client/models/field_condition.rb +1 -1
  71. data/lib/trieve_ruby_client/models/file.rb +1 -1
  72. data/lib/trieve_ruby_client/models/file_dto.rb +1 -1
  73. data/lib/trieve_ruby_client/models/generate_chunks_request.rb +1 -1
  74. data/lib/trieve_ruby_client/models/get_events_data.rb +240 -0
  75. data/lib/trieve_ruby_client/models/get_groups_for_chunks_data.rb +1 -1
  76. data/lib/trieve_ruby_client/models/group_data.rb +1 -1
  77. data/lib/trieve_ruby_client/models/group_score_chunk_dto.rb +1 -1
  78. data/lib/trieve_ruby_client/models/invitation_data.rb +1 -1
  79. data/lib/trieve_ruby_client/models/match_condition.rb +1 -1
  80. data/lib/trieve_ruby_client/models/message.rb +1 -1
  81. data/lib/trieve_ruby_client/models/organization.rb +1 -1
  82. data/lib/trieve_ruby_client/models/organization_usage_count.rb +1 -1
  83. data/lib/trieve_ruby_client/models/range.rb +1 -1
  84. data/lib/trieve_ruby_client/models/reccomend_group_chunks_request.rb +1 -1
  85. data/lib/trieve_ruby_client/models/recommend_chunks_request.rb +1 -1
  86. data/lib/trieve_ruby_client/models/regenerate_message_data.rb +1 -1
  87. data/lib/trieve_ruby_client/models/return_queued_chunk.rb +75 -207
  88. data/lib/trieve_ruby_client/models/score_chunk_dto.rb +1 -1
  89. data/lib/trieve_ruby_client/models/search_chunk_data.rb +1 -1
  90. data/lib/trieve_ruby_client/models/search_chunk_query_response_body.rb +1 -1
  91. data/lib/trieve_ruby_client/models/search_groups_result.rb +1 -1
  92. data/lib/trieve_ruby_client/models/search_over_groups_data.rb +1 -1
  93. data/lib/trieve_ruby_client/models/search_over_groups_response_body.rb +1 -1
  94. data/lib/trieve_ruby_client/models/search_within_group_data.rb +1 -1
  95. data/lib/trieve_ruby_client/models/set_user_api_key_request.rb +1 -1
  96. data/lib/trieve_ruby_client/models/set_user_api_key_response.rb +1 -1
  97. data/lib/trieve_ruby_client/models/single_queued_chunk_response.rb +238 -0
  98. data/lib/trieve_ruby_client/models/slim_group.rb +1 -1
  99. data/lib/trieve_ruby_client/models/slim_user.rb +1 -1
  100. data/lib/trieve_ruby_client/models/stripe_plan.rb +1 -1
  101. data/lib/trieve_ruby_client/models/suggested_queries_request.rb +1 -1
  102. data/lib/trieve_ruby_client/models/suggested_queries_response.rb +1 -1
  103. data/lib/trieve_ruby_client/models/topic.rb +1 -1
  104. data/lib/trieve_ruby_client/models/update_chunk_by_tracking_id_data.rb +1 -1
  105. data/lib/trieve_ruby_client/models/update_chunk_data.rb +1 -1
  106. data/lib/trieve_ruby_client/models/update_chunk_group_data.rb +1 -1
  107. data/lib/trieve_ruby_client/models/update_dataset_request.rb +1 -1
  108. data/lib/trieve_ruby_client/models/update_group_by_tracking_id_data.rb +1 -1
  109. data/lib/trieve_ruby_client/models/update_organization_data.rb +1 -1
  110. data/lib/trieve_ruby_client/models/update_topic_data.rb +1 -1
  111. data/lib/trieve_ruby_client/models/update_user_data.rb +1 -1
  112. data/lib/trieve_ruby_client/models/upload_file_data.rb +1 -1
  113. data/lib/trieve_ruby_client/models/upload_file_result.rb +1 -1
  114. data/lib/trieve_ruby_client/models/user_organization.rb +1 -1
  115. data/lib/trieve_ruby_client/version.rb +2 -2
  116. data/lib/trieve_ruby_client.rb +6 -2
  117. data/openapi-generator.yaml +1 -1
  118. data/openapi.json +1233 -824
  119. data/spec/models/auth_query_spec.rb +48 -0
  120. data/spec/models/batch_queued_chunk_response_spec.rb +42 -0
  121. data/spec/models/chunk_data_spec.rb +108 -0
  122. data/spec/models/get_events_data_spec.rb +48 -0
  123. data/spec/models/single_queued_chunk_response_spec.rb +42 -0
  124. data/spec/spec_helper.rb +1 -1
  125. data/trieve_ruby_client-0.3.5.gem +0 -0
  126. data/trieve_ruby_client.gemspec +1 -1
  127. metadata +23 -4
  128. data/trieve_ruby_client-0.3.4.gem +0 -0
  129. data/trieve_ruby_client-0.3.41.gem +0 -0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.3.5
6
+ The version of the OpenAPI document: 0.4.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -19,8 +19,8 @@ module TrieveRubyClient
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
- # create_topic
23
- # create_topic Create a new chat topic. Topics are attached to a user and act as a coordinator for memory of gen-AI chat sessions. We are considering refactoring this resource of the API soon.
22
+ # Create Topic
23
+ # Create Topic Create a new chat topic. Topics are attached to a user and act as a coordinator for memory of gen-AI chat sessions. We are considering refactoring this resource of the API soon.
24
24
  # @param tr_dataset [String] The dataset id to use for the request
25
25
  # @param create_topic_data [CreateTopicData] JSON request payload to create chat topic
26
26
  # @param [Hash] opts the optional parameters
@@ -30,8 +30,8 @@ module TrieveRubyClient
30
30
  data
31
31
  end
32
32
 
33
- # create_topic
34
- # create_topic Create a new chat topic. Topics are attached to a user and act as a coordinator for memory of gen-AI chat sessions. We are considering refactoring this resource of the API soon.
33
+ # Create Topic
34
+ # Create Topic Create a new chat topic. Topics are attached to a user and act as a coordinator for memory of gen-AI chat sessions. We are considering refactoring this resource of the API soon.
35
35
  # @param tr_dataset [String] The dataset id to use for the request
36
36
  # @param create_topic_data [CreateTopicData] JSON request payload to create chat topic
37
37
  # @param [Hash] opts the optional parameters
@@ -94,8 +94,8 @@ module TrieveRubyClient
94
94
  return data, status_code, headers
95
95
  end
96
96
 
97
- # delete_topic
98
- # delete_topic Delete an existing chat topic. When a topic is deleted, all associated chat messages are also deleted.
97
+ # Delete Topic
98
+ # Delete Topic Delete an existing chat topic. When a topic is deleted, all associated chat messages are also deleted.
99
99
  # @param tr_dataset [String] The dataset id to use for the request
100
100
  # @param delete_topic_data [DeleteTopicData] JSON request payload to delete a chat topic
101
101
  # @param [Hash] opts the optional parameters
@@ -105,8 +105,8 @@ module TrieveRubyClient
105
105
  nil
106
106
  end
107
107
 
108
- # delete_topic
109
- # delete_topic Delete an existing chat topic. When a topic is deleted, all associated chat messages are also deleted.
108
+ # Delete Topic
109
+ # Delete Topic Delete an existing chat topic. When a topic is deleted, all associated chat messages are also deleted.
110
110
  # @param tr_dataset [String] The dataset id to use for the request
111
111
  # @param delete_topic_data [DeleteTopicData] JSON request payload to delete a chat topic
112
112
  # @param [Hash] opts the optional parameters
@@ -169,8 +169,8 @@ module TrieveRubyClient
169
169
  return data, status_code, headers
170
170
  end
171
171
 
172
- # get_all_topics_for_user
173
- # get_all_topics_for_user Get all topics belonging to a the auth'ed user. Soon, we plan to allow specification of the user for this route and include pagination.
172
+ # Get All Topics for User
173
+ # Get All Topics for User Get all topics belonging to a the auth'ed user. Soon, we plan to allow specification of the user for this route and include pagination.
174
174
  # @param user_id [String] The id of the user to get topics for
175
175
  # @param tr_dataset [String] The dataset id to use for the request
176
176
  # @param [Hash] opts the optional parameters
@@ -180,8 +180,8 @@ module TrieveRubyClient
180
180
  data
181
181
  end
182
182
 
183
- # get_all_topics_for_user
184
- # get_all_topics_for_user Get all topics belonging to a the auth'ed user. Soon, we plan to allow specification of the user for this route and include pagination.
183
+ # Get All Topics for User
184
+ # Get All Topics for User Get all topics belonging to a the auth'ed user. Soon, we plan to allow specification of the user for this route and include pagination.
185
185
  # @param user_id [String] The id of the user to get topics for
186
186
  # @param tr_dataset [String] The dataset id to use for the request
187
187
  # @param [Hash] opts the optional parameters
@@ -239,8 +239,8 @@ module TrieveRubyClient
239
239
  return data, status_code, headers
240
240
  end
241
241
 
242
- # update_topic
243
- # update_topic Update an existing chat topic. Currently, only the name of the topic can be updated.
242
+ # Update Topic
243
+ # Update Topic Update an existing chat topic. Currently, only the name of the topic can be updated.
244
244
  # @param tr_dataset [String] The dataset id to use for the request
245
245
  # @param update_topic_data [UpdateTopicData] JSON request payload to update a chat topic
246
246
  # @param [Hash] opts the optional parameters
@@ -250,8 +250,8 @@ module TrieveRubyClient
250
250
  nil
251
251
  end
252
252
 
253
- # update_topic
254
- # update_topic Update an existing chat topic. Currently, only the name of the topic can be updated.
253
+ # Update Topic
254
+ # Update Topic Update an existing chat topic. Currently, only the name of the topic can be updated.
255
255
  # @param tr_dataset [String] The dataset id to use for the request
256
256
  # @param update_topic_data [UpdateTopicData] JSON request payload to update a chat topic
257
257
  # @param [Hash] opts the optional parameters
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.3.5
6
+ The version of the OpenAPI document: 0.4.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -19,8 +19,8 @@ module TrieveRubyClient
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
- # delete_user_api_key
23
- # delete_user_api_key Delete an api key for the auth'ed user.
22
+ # Delete User Api Key
23
+ # Delete User Api Key Delete an api key for the auth'ed user.
24
24
  # @param delete_user_api_key_request [DeleteUserApiKeyRequest] JSON request payload to delete a user api key
25
25
  # @param [Hash] opts the optional parameters
26
26
  # @return [Array<ApiKeyDTO>]
@@ -29,8 +29,8 @@ module TrieveRubyClient
29
29
  data
30
30
  end
31
31
 
32
- # delete_user_api_key
33
- # delete_user_api_key Delete an api key for the auth&#39;ed user.
32
+ # Delete User Api Key
33
+ # Delete User Api Key Delete an api key for the auth&#39;ed user.
34
34
  # @param delete_user_api_key_request [DeleteUserApiKeyRequest] JSON request payload to delete a user api key
35
35
  # @param [Hash] opts the optional parameters
36
36
  # @return [Array<(Array<ApiKeyDTO>, Integer, Hash)>] Array<ApiKeyDTO> data, response status code and response headers
@@ -87,8 +87,8 @@ module TrieveRubyClient
87
87
  return data, status_code, headers
88
88
  end
89
89
 
90
- # set_user_api_key
91
- # set_user_api_key Create a new api key for the auth'ed user. Successful response will contain the newly created api key. If a write role is assigned the api key will have permission level of the auth'ed user who calls this endpoint.
90
+ # Set User Api Key
91
+ # Set User Api Key Create a new api key for the auth'ed user. Successful response will contain the newly created api key. If a write role is assigned the api key will have permission level of the auth'ed user who calls this endpoint.
92
92
  # @param set_user_api_key_request [SetUserApiKeyRequest] JSON request payload to create a new user api key
93
93
  # @param [Hash] opts the optional parameters
94
94
  # @return [SetUserApiKeyResponse]
@@ -97,8 +97,8 @@ module TrieveRubyClient
97
97
  data
98
98
  end
99
99
 
100
- # set_user_api_key
101
- # set_user_api_key Create a new api key for the auth&#39;ed user. Successful response will contain the newly created api key. If a write role is assigned the api key will have permission level of the auth&#39;ed user who calls this endpoint.
100
+ # Set User Api Key
101
+ # Set User Api Key Create a new api key for the auth&#39;ed user. Successful response will contain the newly created api key. If a write role is assigned the api key will have permission level of the auth&#39;ed user who calls this endpoint.
102
102
  # @param set_user_api_key_request [SetUserApiKeyRequest] JSON request payload to create a new user api key
103
103
  # @param [Hash] opts the optional parameters
104
104
  # @return [Array<(SetUserApiKeyResponse, Integer, Hash)>] SetUserApiKeyResponse data, response status code and response headers
@@ -155,8 +155,8 @@ module TrieveRubyClient
155
155
  return data, status_code, headers
156
156
  end
157
157
 
158
- # update_user
159
- # update_user Update a user's information. If the user_id is not provided, the auth'ed user will be updated. If the user_id is provided, the auth'ed user must be an admin (1) or owner (2) of the organization.
158
+ # Update User
159
+ # Update User Update a user's information. If the user_id is not provided, the auth'ed user will be updated. If the user_id is provided, the auth'ed user must be an admin (1) or owner (2) of the organization.
160
160
  # @param update_user_data [UpdateUserData] JSON request payload to update user information for the auth&#39;ed user
161
161
  # @param [Hash] opts the optional parameters
162
162
  # @return [SlimUser]
@@ -165,8 +165,8 @@ module TrieveRubyClient
165
165
  data
166
166
  end
167
167
 
168
- # update_user
169
- # update_user Update a user&#39;s information. If the user_id is not provided, the auth&#39;ed user will be updated. If the user_id is provided, the auth&#39;ed user must be an admin (1) or owner (2) of the organization.
168
+ # Update User
169
+ # Update User Update a user&#39;s information. If the user_id is not provided, the auth&#39;ed user will be updated. If the user_id is provided, the auth&#39;ed user must be an admin (1) or owner (2) of the organization.
170
170
  # @param update_user_data [UpdateUserData] JSON request payload to update user information for the auth&#39;ed user
171
171
  # @param [Hash] opts the optional parameters
172
172
  # @return [Array<(SlimUser, Integer, Hash)>] SlimUser data, response status code and response headers
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.3.5
6
+ The version of the OpenAPI document: 0.4.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.3.5
6
+ The version of the OpenAPI document: 0.4.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.3.5
6
+ The version of the OpenAPI document: 0.4.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -150,7 +150,7 @@ module TrieveRubyClient
150
150
 
151
151
  def initialize
152
152
  @scheme = 'http'
153
- @host = 'localhost'
153
+ @host = 'localhost:8090'
154
154
  @base_path = ''
155
155
  @server_index = nil
156
156
  @server_operation_index = {}
@@ -248,8 +248,12 @@ module TrieveRubyClient
248
248
  def server_settings
249
249
  [
250
250
  {
251
- url: "",
252
- description: "No description provided",
251
+ url: "http://localhost:8090",
252
+ description: "Local development server",
253
+ },
254
+ {
255
+ url: "https://api.trieve.ai",
256
+ description: "Production server",
253
257
  }
254
258
  ]
255
259
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.3.5
6
+ The version of the OpenAPI document: 0.4.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
5
 
6
- The version of the OpenAPI document: 0.3.5
6
+ The version of the OpenAPI document: 0.4.0
7
7
  Contact: developers@trieve.ai
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.4.0
@@ -0,0 +1,238 @@
1
+ =begin
2
+ #Trieve API
3
+
4
+ #Trieve OpenAPI Specification. This document describes all of the operations available through the Trieve API.
5
+
6
+ The version of the OpenAPI document: 0.4.0
7
+ Contact: developers@trieve.ai
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrieveRubyClient
17
+ class AuthQuery
18
+ # Code sent via email as a result of successful call to send_invitation
19
+ attr_accessor :inv_code
20
+
21
+ # ID of organization to authenticate into
22
+ attr_accessor :organization_id
23
+
24
+ # URL to redirect to after successful login
25
+ attr_accessor :redirect_uri
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'inv_code' => :'inv_code',
31
+ :'organization_id' => :'organization_id',
32
+ :'redirect_uri' => :'redirect_uri'
33
+ }
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'inv_code' => :'String',
45
+ :'organization_id' => :'String',
46
+ :'redirect_uri' => :'String'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ :'inv_code',
54
+ :'organization_id',
55
+ :'redirect_uri'
56
+ ])
57
+ end
58
+
59
+ # Initializes the object
60
+ # @param [Hash] attributes Model attributes in the form of hash
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrieveRubyClient::AuthQuery` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ attributes = attributes.each_with_object({}) { |(k, v), h|
68
+ if (!self.class.attribute_map.key?(k.to_sym))
69
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrieveRubyClient::AuthQuery`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ end
71
+ h[k.to_sym] = v
72
+ }
73
+
74
+ if attributes.key?(:'inv_code')
75
+ self.inv_code = attributes[:'inv_code']
76
+ end
77
+
78
+ if attributes.key?(:'organization_id')
79
+ self.organization_id = attributes[:'organization_id']
80
+ end
81
+
82
+ if attributes.key?(:'redirect_uri')
83
+ self.redirect_uri = attributes[:'redirect_uri']
84
+ end
85
+ end
86
+
87
+ # Show invalid properties with the reasons. Usually used together with valid?
88
+ # @return Array for valid properties with the reasons
89
+ def list_invalid_properties
90
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
91
+ invalid_properties = Array.new
92
+ invalid_properties
93
+ end
94
+
95
+ # Check to see if the all the properties in the model are valid
96
+ # @return true if the model is valid
97
+ def valid?
98
+ warn '[DEPRECATED] the `valid?` method is obsolete'
99
+ true
100
+ end
101
+
102
+ # Checks equality by comparing each attribute.
103
+ # @param [Object] Object to be compared
104
+ def ==(o)
105
+ return true if self.equal?(o)
106
+ self.class == o.class &&
107
+ inv_code == o.inv_code &&
108
+ organization_id == o.organization_id &&
109
+ redirect_uri == o.redirect_uri
110
+ end
111
+
112
+ # @see the `==` method
113
+ # @param [Object] Object to be compared
114
+ def eql?(o)
115
+ self == o
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Integer] Hash code
120
+ def hash
121
+ [inv_code, organization_id, redirect_uri].hash
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def self.build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ attributes = attributes.transform_keys(&:to_sym)
130
+ transformed_hash = {}
131
+ openapi_types.each_pair do |key, type|
132
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
133
+ transformed_hash["#{key}"] = nil
134
+ elsif type =~ /\AArray<(.*)>/i
135
+ # check to ensure the input is an array given that the attribute
136
+ # is documented as an array but the input is not
137
+ if attributes[attribute_map[key]].is_a?(Array)
138
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
139
+ end
140
+ elsif !attributes[attribute_map[key]].nil?
141
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
142
+ end
143
+ end
144
+ new(transformed_hash)
145
+ end
146
+
147
+ # Deserializes the data based on type
148
+ # @param string type Data type
149
+ # @param string value Value to be deserialized
150
+ # @return [Object] Deserialized data
151
+ def self._deserialize(type, value)
152
+ case type.to_sym
153
+ when :Time
154
+ Time.parse(value)
155
+ when :Date
156
+ Date.parse(value)
157
+ when :String
158
+ value.to_s
159
+ when :Integer
160
+ value.to_i
161
+ when :Float
162
+ value.to_f
163
+ when :Boolean
164
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
165
+ true
166
+ else
167
+ false
168
+ end
169
+ when :Object
170
+ # generic object (usually a Hash), return directly
171
+ value
172
+ when /\AArray<(?<inner_type>.+)>\z/
173
+ inner_type = Regexp.last_match[:inner_type]
174
+ value.map { |v| _deserialize(inner_type, v) }
175
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
176
+ k_type = Regexp.last_match[:k_type]
177
+ v_type = Regexp.last_match[:v_type]
178
+ {}.tap do |hash|
179
+ value.each do |k, v|
180
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
181
+ end
182
+ end
183
+ else # model
184
+ # models (e.g. Pet) or oneOf
185
+ klass = TrieveRubyClient.const_get(type)
186
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
187
+ end
188
+ end
189
+
190
+ # Returns the string representation of the object
191
+ # @return [String] String presentation of the object
192
+ def to_s
193
+ to_hash.to_s
194
+ end
195
+
196
+ # to_body is an alias to to_hash (backward compatibility)
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_body
199
+ to_hash
200
+ end
201
+
202
+ # Returns the object in the form of hash
203
+ # @return [Hash] Returns the object in the form of hash
204
+ def to_hash
205
+ hash = {}
206
+ self.class.attribute_map.each_pair do |attr, param|
207
+ value = self.send(attr)
208
+ if value.nil?
209
+ is_nullable = self.class.openapi_nullable.include?(attr)
210
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
211
+ end
212
+
213
+ hash[param] = _to_hash(value)
214
+ end
215
+ hash
216
+ end
217
+
218
+ # Outputs non-array value in the form of hash
219
+ # For object, use to_hash. Otherwise, just return the value
220
+ # @param [Object] value Any valid value
221
+ # @return [Hash] Returns the value in the form of hash
222
+ def _to_hash(value)
223
+ if value.is_a?(Array)
224
+ value.compact.map { |v| _to_hash(v) }
225
+ elsif value.is_a?(Hash)
226
+ {}.tap do |hash|
227
+ value.each { |k, v| hash[k] = _to_hash(v) }
228
+ end
229
+ elsif value.respond_to? :to_hash
230
+ value.to_hash
231
+ else
232
+ value
233
+ end
234
+ end
235
+
236
+ end
237
+
238
+ end