carbon_ruby_sdk 0.1.10 → 0.1.12
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +44 -2
- data/lib/carbon_ruby_sdk/api/files_api.rb +96 -0
- data/lib/carbon_ruby_sdk/api/integrations_api.rb +6 -2
- data/lib/carbon_ruby_sdk/models/delete_files_v2_query_input.rb +226 -0
- data/lib/carbon_ruby_sdk/models/external_source_item.rb +11 -1
- data/lib/carbon_ruby_sdk/models/list_data_source_items_request.rb +11 -1
- data/lib/carbon_ruby_sdk/models/list_items_filters.rb +250 -0
- data/lib/carbon_ruby_sdk/models/list_items_filters_nullable.rb +250 -0
- data/lib/carbon_ruby_sdk/models/organization_user_files_to_sync_filters.rb +37 -5
- data/lib/carbon_ruby_sdk/models/organization_user_files_to_sync_order_by_types.rb +2 -1
- data/lib/carbon_ruby_sdk/models/source_property.rb +1 -0
- data/lib/carbon_ruby_sdk/version.rb +1 -1
- data/lib/carbon_ruby_sdk.rb +3 -0
- data/spec/api/files_api_spec.rb +11 -0
- data/spec/models/delete_files_v2_query_input_spec.rb +34 -0
- data/spec/models/external_source_item_spec.rb +6 -0
- data/spec/models/list_data_source_items_request_spec.rb +6 -0
- data/spec/models/list_items_filters_nullable_spec.rb +46 -0
- data/spec/models/list_items_filters_spec.rb +46 -0
- data/spec/models/organization_user_files_to_sync_filters_spec.rb +12 -0
- metadata +11 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5179770ad5d7c1f5b1c2ef1af3458c580828918db3f930a6ee35647a86a87ad9
|
4
|
+
data.tar.gz: b36c127b805ea1bd77d83e300fb5a34ef8a4578a4ce2b81895000381ff3231d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1933c50cbc17a4665a8dce352a75454899c8a6335c69382a71490dbacfa8cc37064b2122cfd77c7de2c9afa711d3483b7cf40a939d92d35e90b631ee83383eee
|
7
|
+
data.tar.gz: c1355a71d679989804e3d33119a9e3ebcd2176974372003f0db176b406079b5de1b1d455b2f0b91674a8d66fa35fe8ce1d3b6884f355dd9021ecac709d3818eb
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
Connect external data to LLMs, no matter the source.
|
8
8
|
|
9
|
-
[](https://rubygems.org/gems/carbon_ruby_sdk/versions/0.1.12)
|
10
10
|
|
11
11
|
</div>
|
12
12
|
|
@@ -29,6 +29,7 @@ Connect external data to LLMs, no matter the source.
|
|
29
29
|
* [`carbon.files.delete`](#carbonfilesdelete)
|
30
30
|
* [`carbon.files.delete_file_tags`](#carbonfilesdelete_file_tags)
|
31
31
|
* [`carbon.files.delete_many`](#carbonfilesdelete_many)
|
32
|
+
* [`carbon.files.delete_v2`](#carbonfilesdelete_v2)
|
32
33
|
* [`carbon.files.get_parsed_file`](#carbonfilesget_parsed_file)
|
33
34
|
* [`carbon.files.get_raw_file`](#carbonfilesget_raw_file)
|
34
35
|
* [`carbon.files.query_user_files`](#carbonfilesquery_user_files)
|
@@ -79,7 +80,7 @@ Connect external data to LLMs, no matter the source.
|
|
79
80
|
Add to Gemfile:
|
80
81
|
|
81
82
|
```ruby
|
82
|
-
gem 'carbon_ruby_sdk', '~> 0.1.
|
83
|
+
gem 'carbon_ruby_sdk', '~> 0.1.12'
|
83
84
|
```
|
84
85
|
|
85
86
|
## Getting Started<a id="getting-started"></a>
|
@@ -671,6 +672,40 @@ p result
|
|
671
672
|
---
|
672
673
|
|
673
674
|
|
675
|
+
### `carbon.files.delete_v2`<a id="carbonfilesdelete_v2"></a>
|
676
|
+
|
677
|
+
Delete Files V2 Endpoint
|
678
|
+
|
679
|
+
#### 🛠️ Usage<a id="🛠️-usage"></a>
|
680
|
+
|
681
|
+
```ruby
|
682
|
+
result = carbon.files.delete_v2(
|
683
|
+
filters: {
|
684
|
+
"include_all_children" => false,
|
685
|
+
"non_synced_only" => false,
|
686
|
+
},
|
687
|
+
send_webhook: false,
|
688
|
+
)
|
689
|
+
p result
|
690
|
+
```
|
691
|
+
|
692
|
+
#### ⚙️ Parameters<a id="⚙️-parameters"></a>
|
693
|
+
|
694
|
+
##### filters: [`OrganizationUserFilesToSyncFilters`](./lib/carbon_ruby_sdk/models/organization_user_files_to_sync_filters.rb)<a id="filters-organizationuserfilestosyncfilterslibcarbon_ruby_sdkmodelsorganization_user_files_to_sync_filtersrb"></a>
|
695
|
+
##### send_webhook: `Boolean`<a id="send_webhook-boolean"></a>
|
696
|
+
#### 🔄 Return<a id="🔄-return"></a>
|
697
|
+
|
698
|
+
[GenericSuccessResponse](./lib/carbon_ruby_sdk/models/generic_success_response.rb)
|
699
|
+
|
700
|
+
#### 🌐 Endpoint<a id="🌐-endpoint"></a>
|
701
|
+
|
702
|
+
`/delete_files_v2` `POST`
|
703
|
+
|
704
|
+
[🔙 **Back to Table of Contents**](#table-of-contents)
|
705
|
+
|
706
|
+
---
|
707
|
+
|
708
|
+
|
674
709
|
### `carbon.files.get_parsed_file`<a id="carbonfilesget_parsed_file"></a>
|
675
710
|
|
676
711
|
This route is deprecated. Use `/user_files_v2` instead.
|
@@ -793,6 +828,8 @@ result = carbon.files.query_user_files(
|
|
793
828
|
order_by: "created_at",
|
794
829
|
order_dir: "desc",
|
795
830
|
filters: {
|
831
|
+
"include_all_children" => false,
|
832
|
+
"non_synced_only" => false,
|
796
833
|
},
|
797
834
|
include_raw_file: true,
|
798
835
|
include_parsed_text_file: true,
|
@@ -838,6 +875,8 @@ result = carbon.files.query_user_files_deprecated(
|
|
838
875
|
order_by: "created_at",
|
839
876
|
order_dir: "desc",
|
840
877
|
filters: {
|
878
|
+
"include_all_children" => false,
|
879
|
+
"non_synced_only" => false,
|
841
880
|
},
|
842
881
|
include_raw_file: true,
|
843
882
|
include_parsed_text_file: true,
|
@@ -1436,6 +1475,8 @@ List Data Source Items
|
|
1436
1475
|
result = carbon.integrations.list_data_source_items(
|
1437
1476
|
data_source_id: 1,
|
1438
1477
|
parent_id: "string_example",
|
1478
|
+
filters: {
|
1479
|
+
},
|
1439
1480
|
pagination: {
|
1440
1481
|
"limit" => 10,
|
1441
1482
|
"offset" => 0,
|
@@ -1448,6 +1489,7 @@ p result
|
|
1448
1489
|
|
1449
1490
|
##### data_source_id: `Integer`<a id="data_source_id-integer"></a>
|
1450
1491
|
##### parent_id: `String`<a id="parent_id-string"></a>
|
1492
|
+
##### filters: [`ListItemsFiltersNullable`](./lib/carbon_ruby_sdk/models/list_items_filters_nullable.rb)<a id="filters-listitemsfiltersnullablelibcarbon_ruby_sdkmodelslist_items_filters_nullablerb"></a>
|
1451
1493
|
##### pagination: [`Pagination`](./lib/carbon_ruby_sdk/models/pagination.rb)<a id="pagination-paginationlibcarbon_ruby_sdkmodelspaginationrb"></a>
|
1452
1494
|
#### 🔄 Return<a id="🔄-return"></a>
|
1453
1495
|
|
@@ -421,6 +421,102 @@ module Carbon
|
|
421
421
|
end
|
422
422
|
|
423
423
|
|
424
|
+
# Delete Files V2 Endpoint
|
425
|
+
#
|
426
|
+
# @param filters [OrganizationUserFilesToSyncFilters]
|
427
|
+
# @param send_webhook [Boolean]
|
428
|
+
# @param body [DeleteFilesV2QueryInput]
|
429
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
430
|
+
def delete_v2(filters: SENTINEL, send_webhook: false, extra: {})
|
431
|
+
_body = {}
|
432
|
+
_body[:filters] = filters if filters != SENTINEL
|
433
|
+
_body[:send_webhook] = send_webhook if send_webhook != SENTINEL
|
434
|
+
delete_files_v2_query_input = _body
|
435
|
+
api_response = delete_v2_with_http_info_impl(delete_files_v2_query_input, extra)
|
436
|
+
api_response.data
|
437
|
+
end
|
438
|
+
|
439
|
+
# Delete Files V2 Endpoint
|
440
|
+
#
|
441
|
+
# @param filters [OrganizationUserFilesToSyncFilters]
|
442
|
+
# @param send_webhook [Boolean]
|
443
|
+
# @param body [DeleteFilesV2QueryInput]
|
444
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
445
|
+
def delete_v2_with_http_info(filters: SENTINEL, send_webhook: false, extra: {})
|
446
|
+
_body = {}
|
447
|
+
_body[:filters] = filters if filters != SENTINEL
|
448
|
+
_body[:send_webhook] = send_webhook if send_webhook != SENTINEL
|
449
|
+
delete_files_v2_query_input = _body
|
450
|
+
delete_v2_with_http_info_impl(delete_files_v2_query_input, extra)
|
451
|
+
end
|
452
|
+
|
453
|
+
# Delete Files V2 Endpoint
|
454
|
+
# @param delete_files_v2_query_input [DeleteFilesV2QueryInput]
|
455
|
+
# @param [Hash] opts the optional parameters
|
456
|
+
# @return [GenericSuccessResponse]
|
457
|
+
private def delete_v2_impl(delete_files_v2_query_input, opts = {})
|
458
|
+
data, _status_code, _headers = delete_v2_with_http_info(delete_files_v2_query_input, opts)
|
459
|
+
data
|
460
|
+
end
|
461
|
+
|
462
|
+
# Delete Files V2 Endpoint
|
463
|
+
# @param delete_files_v2_query_input [DeleteFilesV2QueryInput]
|
464
|
+
# @param [Hash] opts the optional parameters
|
465
|
+
# @return [APIResponse] data is GenericSuccessResponse, status code, headers and response
|
466
|
+
private def delete_v2_with_http_info_impl(delete_files_v2_query_input, opts = {})
|
467
|
+
if @api_client.config.debugging
|
468
|
+
@api_client.config.logger.debug 'Calling API: FilesApi.delete_v2 ...'
|
469
|
+
end
|
470
|
+
# verify the required parameter 'delete_files_v2_query_input' is set
|
471
|
+
if @api_client.config.client_side_validation && delete_files_v2_query_input.nil?
|
472
|
+
fail ArgumentError, "Missing the required parameter 'delete_files_v2_query_input' when calling FilesApi.delete_v2"
|
473
|
+
end
|
474
|
+
# resource path
|
475
|
+
local_var_path = '/delete_files_v2'
|
476
|
+
|
477
|
+
# query parameters
|
478
|
+
query_params = opts[:query_params] || {}
|
479
|
+
|
480
|
+
# header parameters
|
481
|
+
header_params = opts[:header_params] || {}
|
482
|
+
# HTTP header 'Accept' (if needed)
|
483
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
484
|
+
# HTTP header 'Content-Type'
|
485
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
486
|
+
if !content_type.nil?
|
487
|
+
header_params['Content-Type'] = content_type
|
488
|
+
end
|
489
|
+
|
490
|
+
# form parameters
|
491
|
+
form_params = opts[:form_params] || {}
|
492
|
+
|
493
|
+
# http body (model)
|
494
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(delete_files_v2_query_input)
|
495
|
+
|
496
|
+
# return_type
|
497
|
+
return_type = opts[:debug_return_type] || 'GenericSuccessResponse'
|
498
|
+
|
499
|
+
# auth_names
|
500
|
+
auth_names = opts[:debug_auth_names] || ['accessToken', 'apiKey', 'customerId']
|
501
|
+
|
502
|
+
new_options = opts.merge(
|
503
|
+
:operation => :"FilesApi.delete_v2",
|
504
|
+
:header_params => header_params,
|
505
|
+
:query_params => query_params,
|
506
|
+
:form_params => form_params,
|
507
|
+
:body => post_body,
|
508
|
+
:auth_names => auth_names,
|
509
|
+
:return_type => return_type
|
510
|
+
)
|
511
|
+
|
512
|
+
data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
|
513
|
+
if @api_client.config.debugging
|
514
|
+
@api_client.config.logger.debug "API called: FilesApi#delete_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
515
|
+
end
|
516
|
+
APIResponse::new(data, status_code, headers, response)
|
517
|
+
end
|
518
|
+
|
519
|
+
|
424
520
|
# Parsed File
|
425
521
|
#
|
426
522
|
# This route is deprecated. Use `/user_files_v2` instead.
|
@@ -802,13 +802,15 @@ module Carbon
|
|
802
802
|
#
|
803
803
|
# @param data_source_id [Integer]
|
804
804
|
# @param parent_id [String]
|
805
|
+
# @param filters [ListItemsFiltersNullable]
|
805
806
|
# @param pagination [Pagination]
|
806
807
|
# @param body [ListDataSourceItemsRequest]
|
807
808
|
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
808
|
-
def list_data_source_items(data_source_id:, parent_id: SENTINEL, pagination: SENTINEL, extra: {})
|
809
|
+
def list_data_source_items(data_source_id:, parent_id: SENTINEL, filters: SENTINEL, pagination: SENTINEL, extra: {})
|
809
810
|
_body = {}
|
810
811
|
_body[:data_source_id] = data_source_id if data_source_id != SENTINEL
|
811
812
|
_body[:parent_id] = parent_id if parent_id != SENTINEL
|
813
|
+
_body[:filters] = filters if filters != SENTINEL
|
812
814
|
_body[:pagination] = pagination if pagination != SENTINEL
|
813
815
|
list_data_source_items_request = _body
|
814
816
|
api_response = list_data_source_items_with_http_info_impl(list_data_source_items_request, extra)
|
@@ -819,13 +821,15 @@ module Carbon
|
|
819
821
|
#
|
820
822
|
# @param data_source_id [Integer]
|
821
823
|
# @param parent_id [String]
|
824
|
+
# @param filters [ListItemsFiltersNullable]
|
822
825
|
# @param pagination [Pagination]
|
823
826
|
# @param body [ListDataSourceItemsRequest]
|
824
827
|
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
825
|
-
def list_data_source_items_with_http_info(data_source_id:, parent_id: SENTINEL, pagination: SENTINEL, extra: {})
|
828
|
+
def list_data_source_items_with_http_info(data_source_id:, parent_id: SENTINEL, filters: SENTINEL, pagination: SENTINEL, extra: {})
|
826
829
|
_body = {}
|
827
830
|
_body[:data_source_id] = data_source_id if data_source_id != SENTINEL
|
828
831
|
_body[:parent_id] = parent_id if parent_id != SENTINEL
|
832
|
+
_body[:filters] = filters if filters != SENTINEL
|
829
833
|
_body[:pagination] = pagination if pagination != SENTINEL
|
830
834
|
list_data_source_items_request = _body
|
831
835
|
list_data_source_items_with_http_info_impl(list_data_source_items_request, extra)
|
@@ -0,0 +1,226 @@
|
|
1
|
+
=begin
|
2
|
+
#Carbon
|
3
|
+
|
4
|
+
#Connect external data to LLMs, no matter the source.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
7
|
+
=end
|
8
|
+
|
9
|
+
require 'date'
|
10
|
+
require 'time'
|
11
|
+
|
12
|
+
module Carbon
|
13
|
+
class DeleteFilesV2QueryInput
|
14
|
+
attr_accessor :filters
|
15
|
+
|
16
|
+
attr_accessor :send_webhook
|
17
|
+
|
18
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
19
|
+
def self.attribute_map
|
20
|
+
{
|
21
|
+
:'filters' => :'filters',
|
22
|
+
:'send_webhook' => :'send_webhook'
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
26
|
+
# Returns all the JSON keys this model knows about
|
27
|
+
def self.acceptable_attributes
|
28
|
+
attribute_map.values
|
29
|
+
end
|
30
|
+
|
31
|
+
# Attribute type mapping.
|
32
|
+
def self.openapi_types
|
33
|
+
{
|
34
|
+
:'filters' => :'OrganizationUserFilesToSyncFilters',
|
35
|
+
:'send_webhook' => :'Boolean'
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
# List of attributes with nullable: true
|
40
|
+
def self.openapi_nullable
|
41
|
+
Set.new([
|
42
|
+
])
|
43
|
+
end
|
44
|
+
|
45
|
+
# Initializes the object
|
46
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
47
|
+
def initialize(attributes = {})
|
48
|
+
if (!attributes.is_a?(Hash))
|
49
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Carbon::DeleteFilesV2QueryInput` initialize method"
|
50
|
+
end
|
51
|
+
|
52
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
53
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
54
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
55
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Carbon::DeleteFilesV2QueryInput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
56
|
+
end
|
57
|
+
h[k.to_sym] = v
|
58
|
+
}
|
59
|
+
|
60
|
+
if attributes.key?(:'filters')
|
61
|
+
self.filters = attributes[:'filters']
|
62
|
+
end
|
63
|
+
|
64
|
+
if attributes.key?(:'send_webhook')
|
65
|
+
self.send_webhook = attributes[:'send_webhook']
|
66
|
+
else
|
67
|
+
self.send_webhook = false
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
72
|
+
# @return Array for valid properties with the reasons
|
73
|
+
def list_invalid_properties
|
74
|
+
invalid_properties = Array.new
|
75
|
+
invalid_properties
|
76
|
+
end
|
77
|
+
|
78
|
+
# Check to see if the all the properties in the model are valid
|
79
|
+
# @return true if the model is valid
|
80
|
+
def valid?
|
81
|
+
true
|
82
|
+
end
|
83
|
+
|
84
|
+
# Checks equality by comparing each attribute.
|
85
|
+
# @param [Object] Object to be compared
|
86
|
+
def ==(o)
|
87
|
+
return true if self.equal?(o)
|
88
|
+
self.class == o.class &&
|
89
|
+
filters == o.filters &&
|
90
|
+
send_webhook == o.send_webhook
|
91
|
+
end
|
92
|
+
|
93
|
+
# @see the `==` method
|
94
|
+
# @param [Object] Object to be compared
|
95
|
+
def eql?(o)
|
96
|
+
self == o
|
97
|
+
end
|
98
|
+
|
99
|
+
# Calculates hash code according to all attributes.
|
100
|
+
# @return [Integer] Hash code
|
101
|
+
def hash
|
102
|
+
[filters, send_webhook].hash
|
103
|
+
end
|
104
|
+
|
105
|
+
# Builds the object from hash
|
106
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
107
|
+
# @return [Object] Returns the model itself
|
108
|
+
def self.build_from_hash(attributes)
|
109
|
+
new.build_from_hash(attributes)
|
110
|
+
end
|
111
|
+
|
112
|
+
# Builds the object from hash
|
113
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
114
|
+
# @return [Object] Returns the model itself
|
115
|
+
def build_from_hash(attributes)
|
116
|
+
return nil unless attributes.is_a?(Hash)
|
117
|
+
attributes = attributes.transform_keys(&:to_sym)
|
118
|
+
self.class.openapi_types.each_pair do |key, type|
|
119
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
120
|
+
self.send("#{key}=", nil)
|
121
|
+
elsif type =~ /\AArray<(.*)>/i
|
122
|
+
# check to ensure the input is an array given that the attribute
|
123
|
+
# is documented as an array but the input is not
|
124
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
125
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
126
|
+
end
|
127
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
128
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
self
|
133
|
+
end
|
134
|
+
|
135
|
+
# Deserializes the data based on type
|
136
|
+
# @param string type Data type
|
137
|
+
# @param string value Value to be deserialized
|
138
|
+
# @return [Object] Deserialized data
|
139
|
+
def _deserialize(type, value)
|
140
|
+
case type.to_sym
|
141
|
+
when :Time
|
142
|
+
Time.parse(value)
|
143
|
+
when :Date
|
144
|
+
Date.parse(value)
|
145
|
+
when :String
|
146
|
+
value.to_s
|
147
|
+
when :Integer
|
148
|
+
value.to_i
|
149
|
+
when :Float
|
150
|
+
value.to_f
|
151
|
+
when :Boolean
|
152
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
153
|
+
true
|
154
|
+
else
|
155
|
+
false
|
156
|
+
end
|
157
|
+
when :Object
|
158
|
+
# generic object (usually a Hash), return directly
|
159
|
+
value
|
160
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
161
|
+
inner_type = Regexp.last_match[:inner_type]
|
162
|
+
value.map { |v| _deserialize(inner_type, v) }
|
163
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
164
|
+
k_type = Regexp.last_match[:k_type]
|
165
|
+
v_type = Regexp.last_match[:v_type]
|
166
|
+
{}.tap do |hash|
|
167
|
+
value.each do |k, v|
|
168
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
else # model
|
172
|
+
# models (e.g. Pet) or oneOf
|
173
|
+
klass = Carbon.const_get(type)
|
174
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
# Returns the string representation of the object
|
179
|
+
# @return [String] String presentation of the object
|
180
|
+
def to_s
|
181
|
+
to_hash.to_s
|
182
|
+
end
|
183
|
+
|
184
|
+
# to_body is an alias to to_hash (backward compatibility)
|
185
|
+
# @return [Hash] Returns the object in the form of hash
|
186
|
+
def to_body
|
187
|
+
to_hash
|
188
|
+
end
|
189
|
+
|
190
|
+
# Returns the object in the form of hash
|
191
|
+
# @return [Hash] Returns the object in the form of hash
|
192
|
+
def to_hash
|
193
|
+
hash = {}
|
194
|
+
self.class.attribute_map.each_pair do |attr, param|
|
195
|
+
value = self.send(attr)
|
196
|
+
if value.nil?
|
197
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
198
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
199
|
+
end
|
200
|
+
|
201
|
+
hash[param] = _to_hash(value)
|
202
|
+
end
|
203
|
+
hash
|
204
|
+
end
|
205
|
+
|
206
|
+
# Outputs non-array value in the form of hash
|
207
|
+
# For object, use to_hash. Otherwise, just return the value
|
208
|
+
# @param [Object] value Any valid value
|
209
|
+
# @return [Hash] Returns the value in the form of hash
|
210
|
+
def _to_hash(value)
|
211
|
+
if value.is_a?(Array)
|
212
|
+
value.compact.map { |v| _to_hash(v) }
|
213
|
+
elsif value.is_a?(Hash)
|
214
|
+
{}.tap do |hash|
|
215
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
216
|
+
end
|
217
|
+
elsif value.respond_to? :to_hash
|
218
|
+
value.to_hash
|
219
|
+
else
|
220
|
+
value
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
end
|
225
|
+
|
226
|
+
end
|
@@ -41,6 +41,8 @@ module Carbon
|
|
41
41
|
|
42
42
|
attr_accessor :root_external_id
|
43
43
|
|
44
|
+
attr_accessor :external_url
|
45
|
+
|
44
46
|
attr_accessor :created_at
|
45
47
|
|
46
48
|
attr_accessor :updated_at
|
@@ -63,6 +65,7 @@ module Carbon
|
|
63
65
|
:'parent_external_id' => :'parent_external_id',
|
64
66
|
:'item_type' => :'item_type',
|
65
67
|
:'root_external_id' => :'root_external_id',
|
68
|
+
:'external_url' => :'external_url',
|
66
69
|
:'created_at' => :'created_at',
|
67
70
|
:'updated_at' => :'updated_at'
|
68
71
|
}
|
@@ -91,6 +94,7 @@ module Carbon
|
|
91
94
|
:'parent_external_id' => :'String',
|
92
95
|
:'item_type' => :'String',
|
93
96
|
:'root_external_id' => :'String',
|
97
|
+
:'external_url' => :'String',
|
94
98
|
:'created_at' => :'Time',
|
95
99
|
:'updated_at' => :'Time'
|
96
100
|
}
|
@@ -105,6 +109,7 @@ module Carbon
|
|
105
109
|
:'parent_external_id',
|
106
110
|
:'item_type',
|
107
111
|
:'root_external_id',
|
112
|
+
:'external_url',
|
108
113
|
])
|
109
114
|
end
|
110
115
|
|
@@ -183,6 +188,10 @@ module Carbon
|
|
183
188
|
self.root_external_id = attributes[:'root_external_id']
|
184
189
|
end
|
185
190
|
|
191
|
+
if attributes.key?(:'external_url')
|
192
|
+
self.external_url = attributes[:'external_url']
|
193
|
+
end
|
194
|
+
|
186
195
|
if attributes.key?(:'created_at')
|
187
196
|
self.created_at = attributes[:'created_at']
|
188
197
|
end
|
@@ -280,6 +289,7 @@ module Carbon
|
|
280
289
|
parent_external_id == o.parent_external_id &&
|
281
290
|
item_type == o.item_type &&
|
282
291
|
root_external_id == o.root_external_id &&
|
292
|
+
external_url == o.external_url &&
|
283
293
|
created_at == o.created_at &&
|
284
294
|
updated_at == o.updated_at
|
285
295
|
end
|
@@ -293,7 +303,7 @@ module Carbon
|
|
293
303
|
# Calculates hash code according to all attributes.
|
294
304
|
# @return [Integer] Hash code
|
295
305
|
def hash
|
296
|
-
[id, external_id, source, name, synced_at, is_selectable, is_expandable, organization_id, organization_supplied_user_id, organization_user_id, organization_user_data_source_id, organization_user_file_to_sync_id, parent_external_id, item_type, root_external_id, created_at, updated_at].hash
|
306
|
+
[id, external_id, source, name, synced_at, is_selectable, is_expandable, organization_id, organization_supplied_user_id, organization_user_id, organization_user_data_source_id, organization_user_file_to_sync_id, parent_external_id, item_type, root_external_id, external_url, created_at, updated_at].hash
|
297
307
|
end
|
298
308
|
|
299
309
|
# Builds the object from hash
|
@@ -15,6 +15,8 @@ module Carbon
|
|
15
15
|
|
16
16
|
attr_accessor :parent_id
|
17
17
|
|
18
|
+
attr_accessor :filters
|
19
|
+
|
18
20
|
attr_accessor :pagination
|
19
21
|
|
20
22
|
# Attribute mapping from ruby-style variable name to JSON key.
|
@@ -22,6 +24,7 @@ module Carbon
|
|
22
24
|
{
|
23
25
|
:'data_source_id' => :'data_source_id',
|
24
26
|
:'parent_id' => :'parent_id',
|
27
|
+
:'filters' => :'filters',
|
25
28
|
:'pagination' => :'pagination'
|
26
29
|
}
|
27
30
|
end
|
@@ -36,6 +39,7 @@ module Carbon
|
|
36
39
|
{
|
37
40
|
:'data_source_id' => :'Integer',
|
38
41
|
:'parent_id' => :'String',
|
42
|
+
:'filters' => :'ListItemsFiltersNullable',
|
39
43
|
:'pagination' => :'Pagination'
|
40
44
|
}
|
41
45
|
end
|
@@ -44,6 +48,7 @@ module Carbon
|
|
44
48
|
def self.openapi_nullable
|
45
49
|
Set.new([
|
46
50
|
:'parent_id',
|
51
|
+
:'filters',
|
47
52
|
])
|
48
53
|
end
|
49
54
|
|
@@ -70,6 +75,10 @@ module Carbon
|
|
70
75
|
self.parent_id = attributes[:'parent_id']
|
71
76
|
end
|
72
77
|
|
78
|
+
if attributes.key?(:'filters')
|
79
|
+
self.filters = attributes[:'filters']
|
80
|
+
end
|
81
|
+
|
73
82
|
if attributes.key?(:'pagination')
|
74
83
|
self.pagination = attributes[:'pagination']
|
75
84
|
end
|
@@ -100,6 +109,7 @@ module Carbon
|
|
100
109
|
self.class == o.class &&
|
101
110
|
data_source_id == o.data_source_id &&
|
102
111
|
parent_id == o.parent_id &&
|
112
|
+
filters == o.filters &&
|
103
113
|
pagination == o.pagination
|
104
114
|
end
|
105
115
|
|
@@ -112,7 +122,7 @@ module Carbon
|
|
112
122
|
# Calculates hash code according to all attributes.
|
113
123
|
# @return [Integer] Hash code
|
114
124
|
def hash
|
115
|
-
[data_source_id, parent_id, pagination].hash
|
125
|
+
[data_source_id, parent_id, filters, pagination].hash
|
116
126
|
end
|
117
127
|
|
118
128
|
# Builds the object from hash
|