repull 0.2.8 → 0.2.9
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/lib/repull/api/airbnb_api.rb +116 -129
- data/lib/repull/api/billing_api.rb +0 -55
- data/lib/repull/api/booking_com_api.rb +19 -118
- data/lib/repull/api/listings_api.rb +74 -0
- data/lib/repull/api/reservations_api.rb +0 -197
- data/lib/repull/api/{availability_api.rb → sandbox_api.rb} +35 -66
- data/lib/repull/api/vrbo_api.rb +0 -126
- data/lib/repull/models/{create_studio_project_request.rb → airbnb_availability_write_request.rb} +38 -52
- data/lib/repull/models/{create_studio_deployment201_response_data.rb → airbnb_calendar_operation.rb} +108 -57
- data/lib/repull/models/{update_studio_project_request.rb → airbnb_listing_action_request.rb} +55 -47
- data/lib/repull/models/{update_availability_request.rb → airbnb_pricing_write_request.rb} +100 -11
- data/lib/repull/models/{update_reservation_request.rb → booking_availability_update.rb} +124 -22
- data/lib/repull/models/{list_studio_deployments200_response.rb → booking_availability_update_request.rb} +90 -18
- data/lib/repull/models/{generate_studio_completion_request_project_id.rb → booking_availability_update_request_property_id.rb} +2 -2
- data/lib/repull/models/{get_studio_deployment200_response.rb → booking_availability_update_request_updates_inner.rb} +74 -117
- data/lib/repull/models/booking_pricing_rate_update.rb +1 -0
- data/lib/repull/models/booking_pricing_rate_update_restrictions.rb +65 -6
- data/lib/repull/models/{get_studio_project200_response.rb → listing_content_update_request.rb} +106 -10
- data/lib/repull/models/{upsert_studio_project_file200_response.rb → listing_content_update_request_address.rb} +53 -10
- data/lib/repull/models/listing_content_update_request_amenities.rb +105 -0
- data/lib/repull/models/{create_studio_deployment_request.rb → listing_content_update_request_amenities_one_of_inner.rb} +51 -20
- data/lib/repull/models/{create_studio_project_generation_request.rb → listing_content_update_request_occupancy.rb} +42 -28
- data/lib/repull/{api/ai_api.rb → models/listing_content_update_request_photos_inner.rb} +77 -59
- data/lib/repull/models/{generate_studio_completion200_response_data.rb → listing_content_update_request_photos_inner_one_of.rb} +81 -66
- data/lib/repull/models/{generate_studio_completion200_response.rb → listing_content_update_request_policies.rb} +116 -10
- data/lib/repull/models/{delete_studio_project200_response_data.rb → listing_content_update_response.rb} +26 -10
- data/lib/repull/models/map_airbnb_listing_request.rb +215 -0
- data/lib/repull/models/{create_reservation_request.rb → map_airbnb_listing_response.rb} +137 -116
- data/lib/repull/models/property.rb +42 -69
- data/lib/repull/models/reservation.rb +28 -1
- data/lib/repull/models/{upsert_studio_project_file_request.rb → sandbox_fixture_ref.rb} +48 -20
- data/lib/repull/models/{delete_studio_deployment200_response_data.rb → sandbox_reset_result.rb} +72 -11
- data/lib/repull/models/sandbox_reset_result_deleted.rb +216 -0
- data/lib/repull/models/sandbox_seed_result.rb +278 -0
- data/lib/repull/version.rb +1 -1
- data/lib/repull.rb +24 -35
- data/openapi/v1.json +1167 -2030
- metadata +26 -37
- data/lib/repull/api/studio_api.rb +0 -1094
- data/lib/repull/models/create_ai_operation200_response.rb +0 -156
- data/lib/repull/models/create_studio_deployment201_response.rb +0 -147
- data/lib/repull/models/create_studio_project201_response.rb +0 -147
- data/lib/repull/models/create_studio_project201_response_data.rb +0 -199
- data/lib/repull/models/create_studio_project_generation201_response.rb +0 -147
- data/lib/repull/models/create_studio_project_generation201_response_data.rb +0 -165
- data/lib/repull/models/delete_studio_deployment200_response.rb +0 -147
- data/lib/repull/models/delete_studio_project200_response.rb +0 -147
- data/lib/repull/models/delete_studio_project_file200_response.rb +0 -147
- data/lib/repull/models/delete_studio_project_file200_response_data.rb +0 -156
- data/lib/repull/models/generate_studio_completion_request.rb +0 -305
- data/lib/repull/models/list_studio_project_files200_response.rb +0 -149
- data/lib/repull/models/list_studio_projects200_response.rb +0 -149
- data/lib/repull/models/upsert_studio_project_file200_response_data.rb +0 -147
data/lib/repull/models/{create_studio_project_request.rb → airbnb_availability_write_request.rb}
RENAMED
|
@@ -14,22 +14,22 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Repull
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
attr_accessor :
|
|
17
|
+
# Body for `PUT /v1/channels/airbnb/listings/{id}/availability`. `type: \"calendar\"` carries per-date restrictions (min/max nights, closed-to-arrival/departure, stop-sell); `type: \"rules\"` carries listing-level availability rules (default min/max nights, booking lead time, turnover days).
|
|
18
|
+
class AirbnbAvailabilityWriteRequest < ApiModelBase
|
|
19
|
+
attr_accessor :type
|
|
20
20
|
|
|
21
|
-
#
|
|
22
|
-
attr_accessor :
|
|
21
|
+
# Required when `type: \"calendar\"`. Batch of per-date restriction operations.
|
|
22
|
+
attr_accessor :operations
|
|
23
23
|
|
|
24
|
-
#
|
|
25
|
-
attr_accessor :
|
|
24
|
+
# Required when `type: \"rules\"`. Airbnb availability-rules object — `default_min_nights`, `default_max_nights`, `booking_lead_time`, `turnover_days`, `day_of_week_min_nights`, `seasonal_min_nights`, etc.
|
|
25
|
+
attr_accessor :rules
|
|
26
26
|
|
|
27
27
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
28
28
|
def self.attribute_map
|
|
29
29
|
{
|
|
30
|
-
:'
|
|
31
|
-
:'
|
|
32
|
-
:'
|
|
30
|
+
:'type' => :'type',
|
|
31
|
+
:'operations' => :'operations',
|
|
32
|
+
:'rules' => :'rules'
|
|
33
33
|
}
|
|
34
34
|
end
|
|
35
35
|
|
|
@@ -46,16 +46,15 @@ module Repull
|
|
|
46
46
|
# Attribute type mapping.
|
|
47
47
|
def self.openapi_types
|
|
48
48
|
{
|
|
49
|
-
:'
|
|
50
|
-
:'
|
|
51
|
-
:'
|
|
49
|
+
:'type' => :'String',
|
|
50
|
+
:'operations' => :'Array<AirbnbCalendarOperation>',
|
|
51
|
+
:'rules' => :'Hash<String, Object>'
|
|
52
52
|
}
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
# List of attributes with nullable: true
|
|
56
56
|
def self.openapi_nullable
|
|
57
57
|
Set.new([
|
|
58
|
-
:'template_id'
|
|
59
58
|
])
|
|
60
59
|
end
|
|
61
60
|
|
|
@@ -63,32 +62,34 @@ module Repull
|
|
|
63
62
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
64
63
|
def initialize(attributes = {})
|
|
65
64
|
if (!attributes.is_a?(Hash))
|
|
66
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Repull::
|
|
65
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Repull::AirbnbAvailabilityWriteRequest` initialize method"
|
|
67
66
|
end
|
|
68
67
|
|
|
69
68
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
70
69
|
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
71
70
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
72
71
|
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
73
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `Repull::
|
|
72
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Repull::AirbnbAvailabilityWriteRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
74
73
|
end
|
|
75
74
|
h[k.to_sym] = v
|
|
76
75
|
}
|
|
77
76
|
|
|
78
|
-
if attributes.key?(:'
|
|
79
|
-
self.
|
|
77
|
+
if attributes.key?(:'type')
|
|
78
|
+
self.type = attributes[:'type']
|
|
80
79
|
else
|
|
81
|
-
self.
|
|
80
|
+
self.type = nil
|
|
82
81
|
end
|
|
83
82
|
|
|
84
|
-
if attributes.key?(:'
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
if attributes.key?(:'operations')
|
|
84
|
+
if (value = attributes[:'operations']).is_a?(Array)
|
|
85
|
+
self.operations = value
|
|
86
|
+
end
|
|
88
87
|
end
|
|
89
88
|
|
|
90
|
-
if attributes.key?(:'
|
|
91
|
-
|
|
89
|
+
if attributes.key?(:'rules')
|
|
90
|
+
if (value = attributes[:'rules']).is_a?(Hash)
|
|
91
|
+
self.rules = value
|
|
92
|
+
end
|
|
92
93
|
end
|
|
93
94
|
end
|
|
94
95
|
|
|
@@ -97,12 +98,8 @@ module Repull
|
|
|
97
98
|
def list_invalid_properties
|
|
98
99
|
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
99
100
|
invalid_properties = Array.new
|
|
100
|
-
if @
|
|
101
|
-
invalid_properties.push('invalid value for "
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
if @prompt.nil?
|
|
105
|
-
invalid_properties.push('invalid value for "prompt", prompt cannot be nil.')
|
|
101
|
+
if @type.nil?
|
|
102
|
+
invalid_properties.push('invalid value for "type", type cannot be nil.')
|
|
106
103
|
end
|
|
107
104
|
|
|
108
105
|
invalid_properties
|
|
@@ -112,29 +109,18 @@ module Repull
|
|
|
112
109
|
# @return true if the model is valid
|
|
113
110
|
def valid?
|
|
114
111
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
115
|
-
return false if @
|
|
116
|
-
return false if @prompt.nil?
|
|
112
|
+
return false if @type.nil?
|
|
117
113
|
true
|
|
118
114
|
end
|
|
119
115
|
|
|
120
116
|
# Custom attribute writer method with validation
|
|
121
|
-
# @param [Object]
|
|
122
|
-
def
|
|
123
|
-
if
|
|
124
|
-
fail ArgumentError, '
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
@name = name
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
# Custom attribute writer method with validation
|
|
131
|
-
# @param [Object] prompt Value to be assigned
|
|
132
|
-
def prompt=(prompt)
|
|
133
|
-
if prompt.nil?
|
|
134
|
-
fail ArgumentError, 'prompt cannot be nil'
|
|
117
|
+
# @param [Object] type Value to be assigned
|
|
118
|
+
def type=(type)
|
|
119
|
+
if type.nil?
|
|
120
|
+
fail ArgumentError, 'type cannot be nil'
|
|
135
121
|
end
|
|
136
122
|
|
|
137
|
-
@
|
|
123
|
+
@type = type
|
|
138
124
|
end
|
|
139
125
|
|
|
140
126
|
# Checks equality by comparing each attribute.
|
|
@@ -142,9 +128,9 @@ module Repull
|
|
|
142
128
|
def ==(o)
|
|
143
129
|
return true if self.equal?(o)
|
|
144
130
|
self.class == o.class &&
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
131
|
+
type == o.type &&
|
|
132
|
+
operations == o.operations &&
|
|
133
|
+
rules == o.rules
|
|
148
134
|
end
|
|
149
135
|
|
|
150
136
|
# @see the `==` method
|
|
@@ -156,7 +142,7 @@ module Repull
|
|
|
156
142
|
# Calculates hash code according to all attributes.
|
|
157
143
|
# @return [Integer] Hash code
|
|
158
144
|
def hash
|
|
159
|
-
[
|
|
145
|
+
[type, operations, rules].hash
|
|
160
146
|
end
|
|
161
147
|
|
|
162
148
|
# Builds the object from hash
|
data/lib/repull/models/{create_studio_deployment201_response_data.rb → airbnb_calendar_operation.rb}
RENAMED
|
@@ -14,41 +14,50 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Repull
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
attr_accessor :
|
|
21
|
-
|
|
22
|
-
attr_accessor :status
|
|
23
|
-
|
|
24
|
-
class EnumAttributeValidator
|
|
25
|
-
attr_reader :datatype
|
|
26
|
-
attr_reader :allowable_values
|
|
27
|
-
|
|
28
|
-
def initialize(datatype, allowable_values)
|
|
29
|
-
@allowable_values = allowable_values.map do |value|
|
|
30
|
-
case datatype.to_s
|
|
31
|
-
when /Integer/i
|
|
32
|
-
value.to_i
|
|
33
|
-
when /Float/i
|
|
34
|
-
value.to_f
|
|
35
|
-
else
|
|
36
|
-
value
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
17
|
+
# One calendar operation. Supply either `start_date` + `end_date` OR a `dates` array. Every restriction here is forwarded verbatim to Airbnb's batch calendar API.
|
|
18
|
+
class AirbnbCalendarOperation < ApiModelBase
|
|
19
|
+
# Inclusive range start (pair with `end_date`).
|
|
20
|
+
attr_accessor :start_date
|
|
40
21
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
end
|
|
22
|
+
# Inclusive range end (pair with `start_date`).
|
|
23
|
+
attr_accessor :end_date
|
|
24
|
+
|
|
25
|
+
# Explicit date or `start:end` range strings, as an alternative to `start_date`/`end_date`.
|
|
26
|
+
attr_accessor :dates
|
|
27
|
+
|
|
28
|
+
# Nightly price override.
|
|
29
|
+
attr_accessor :daily_price
|
|
30
|
+
|
|
31
|
+
# Stop-sell is expressed here: `unavailable` blocks the date(s); `available` re-opens; `default` reverts to rule-based availability.
|
|
32
|
+
attr_accessor :availability
|
|
33
|
+
|
|
34
|
+
# Minimum length of stay for the date(s).
|
|
35
|
+
attr_accessor :min_nights
|
|
36
|
+
|
|
37
|
+
# Maximum length of stay for the date(s).
|
|
38
|
+
attr_accessor :max_nights
|
|
39
|
+
|
|
40
|
+
# Closed-to-arrival — no check-ins on the affected date(s).
|
|
41
|
+
attr_accessor :closed_to_arrival
|
|
42
|
+
|
|
43
|
+
# Closed-to-departure — no check-outs on the affected date(s).
|
|
44
|
+
attr_accessor :closed_to_departure
|
|
45
|
+
|
|
46
|
+
attr_accessor :notes
|
|
45
47
|
|
|
46
48
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
47
49
|
def self.attribute_map
|
|
48
50
|
{
|
|
49
|
-
:'
|
|
50
|
-
:'
|
|
51
|
-
:'
|
|
51
|
+
:'start_date' => :'start_date',
|
|
52
|
+
:'end_date' => :'end_date',
|
|
53
|
+
:'dates' => :'dates',
|
|
54
|
+
:'daily_price' => :'daily_price',
|
|
55
|
+
:'availability' => :'availability',
|
|
56
|
+
:'min_nights' => :'min_nights',
|
|
57
|
+
:'max_nights' => :'max_nights',
|
|
58
|
+
:'closed_to_arrival' => :'closed_to_arrival',
|
|
59
|
+
:'closed_to_departure' => :'closed_to_departure',
|
|
60
|
+
:'notes' => :'notes'
|
|
52
61
|
}
|
|
53
62
|
end
|
|
54
63
|
|
|
@@ -65,15 +74,32 @@ module Repull
|
|
|
65
74
|
# Attribute type mapping.
|
|
66
75
|
def self.openapi_types
|
|
67
76
|
{
|
|
68
|
-
:'
|
|
69
|
-
:'
|
|
70
|
-
:'
|
|
77
|
+
:'start_date' => :'Date',
|
|
78
|
+
:'end_date' => :'Date',
|
|
79
|
+
:'dates' => :'Array<String>',
|
|
80
|
+
:'daily_price' => :'Float',
|
|
81
|
+
:'availability' => :'String',
|
|
82
|
+
:'min_nights' => :'Integer',
|
|
83
|
+
:'max_nights' => :'Integer',
|
|
84
|
+
:'closed_to_arrival' => :'Boolean',
|
|
85
|
+
:'closed_to_departure' => :'Boolean',
|
|
86
|
+
:'notes' => :'String'
|
|
71
87
|
}
|
|
72
88
|
end
|
|
73
89
|
|
|
74
90
|
# List of attributes with nullable: true
|
|
75
91
|
def self.openapi_nullable
|
|
76
92
|
Set.new([
|
|
93
|
+
:'start_date',
|
|
94
|
+
:'end_date',
|
|
95
|
+
:'dates',
|
|
96
|
+
:'daily_price',
|
|
97
|
+
:'availability',
|
|
98
|
+
:'min_nights',
|
|
99
|
+
:'max_nights',
|
|
100
|
+
:'closed_to_arrival',
|
|
101
|
+
:'closed_to_departure',
|
|
102
|
+
:'notes'
|
|
77
103
|
])
|
|
78
104
|
end
|
|
79
105
|
|
|
@@ -81,28 +107,58 @@ module Repull
|
|
|
81
107
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
82
108
|
def initialize(attributes = {})
|
|
83
109
|
if (!attributes.is_a?(Hash))
|
|
84
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Repull::
|
|
110
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Repull::AirbnbCalendarOperation` initialize method"
|
|
85
111
|
end
|
|
86
112
|
|
|
87
113
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
88
114
|
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
89
115
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
90
116
|
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
91
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `Repull::
|
|
117
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Repull::AirbnbCalendarOperation`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
92
118
|
end
|
|
93
119
|
h[k.to_sym] = v
|
|
94
120
|
}
|
|
95
121
|
|
|
96
|
-
if attributes.key?(:'
|
|
97
|
-
self.
|
|
122
|
+
if attributes.key?(:'start_date')
|
|
123
|
+
self.start_date = attributes[:'start_date']
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
if attributes.key?(:'end_date')
|
|
127
|
+
self.end_date = attributes[:'end_date']
|
|
98
128
|
end
|
|
99
129
|
|
|
100
|
-
if attributes.key?(:'
|
|
101
|
-
|
|
130
|
+
if attributes.key?(:'dates')
|
|
131
|
+
if (value = attributes[:'dates']).is_a?(Array)
|
|
132
|
+
self.dates = value
|
|
133
|
+
end
|
|
102
134
|
end
|
|
103
135
|
|
|
104
|
-
if attributes.key?(:'
|
|
105
|
-
self.
|
|
136
|
+
if attributes.key?(:'daily_price')
|
|
137
|
+
self.daily_price = attributes[:'daily_price']
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
if attributes.key?(:'availability')
|
|
141
|
+
self.availability = attributes[:'availability']
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
if attributes.key?(:'min_nights')
|
|
145
|
+
self.min_nights = attributes[:'min_nights']
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
if attributes.key?(:'max_nights')
|
|
149
|
+
self.max_nights = attributes[:'max_nights']
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
if attributes.key?(:'closed_to_arrival')
|
|
153
|
+
self.closed_to_arrival = attributes[:'closed_to_arrival']
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
if attributes.key?(:'closed_to_departure')
|
|
157
|
+
self.closed_to_departure = attributes[:'closed_to_departure']
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
if attributes.key?(:'notes')
|
|
161
|
+
self.notes = attributes[:'notes']
|
|
106
162
|
end
|
|
107
163
|
end
|
|
108
164
|
|
|
@@ -118,29 +174,24 @@ module Repull
|
|
|
118
174
|
# @return true if the model is valid
|
|
119
175
|
def valid?
|
|
120
176
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
121
|
-
status_validator = EnumAttributeValidator.new('String', ["provisioning"])
|
|
122
|
-
return false unless status_validator.valid?(@status)
|
|
123
177
|
true
|
|
124
178
|
end
|
|
125
179
|
|
|
126
|
-
# Custom attribute writer method checking allowed values (enum).
|
|
127
|
-
# @param [Object] status Object to be assigned
|
|
128
|
-
def status=(status)
|
|
129
|
-
validator = EnumAttributeValidator.new('String', ["provisioning"])
|
|
130
|
-
unless validator.valid?(status)
|
|
131
|
-
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
132
|
-
end
|
|
133
|
-
@status = status
|
|
134
|
-
end
|
|
135
|
-
|
|
136
180
|
# Checks equality by comparing each attribute.
|
|
137
181
|
# @param [Object] Object to be compared
|
|
138
182
|
def ==(o)
|
|
139
183
|
return true if self.equal?(o)
|
|
140
184
|
self.class == o.class &&
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
185
|
+
start_date == o.start_date &&
|
|
186
|
+
end_date == o.end_date &&
|
|
187
|
+
dates == o.dates &&
|
|
188
|
+
daily_price == o.daily_price &&
|
|
189
|
+
availability == o.availability &&
|
|
190
|
+
min_nights == o.min_nights &&
|
|
191
|
+
max_nights == o.max_nights &&
|
|
192
|
+
closed_to_arrival == o.closed_to_arrival &&
|
|
193
|
+
closed_to_departure == o.closed_to_departure &&
|
|
194
|
+
notes == o.notes
|
|
144
195
|
end
|
|
145
196
|
|
|
146
197
|
# @see the `==` method
|
|
@@ -152,7 +203,7 @@ module Repull
|
|
|
152
203
|
# Calculates hash code according to all attributes.
|
|
153
204
|
# @return [Integer] Hash code
|
|
154
205
|
def hash
|
|
155
|
-
[
|
|
206
|
+
[start_date, end_date, dates, daily_price, availability, min_nights, max_nights, closed_to_arrival, closed_to_departure, notes].hash
|
|
156
207
|
end
|
|
157
208
|
|
|
158
209
|
# Builds the object from hash
|
data/lib/repull/models/{update_studio_project_request.rb → airbnb_listing_action_request.rb}
RENAMED
|
@@ -14,38 +14,27 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Repull
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
attr_accessor :
|
|
21
|
-
|
|
22
|
-
class EnumAttributeValidator
|
|
23
|
-
attr_reader :datatype
|
|
24
|
-
attr_reader :allowable_values
|
|
25
|
-
|
|
26
|
-
def initialize(datatype, allowable_values)
|
|
27
|
-
@allowable_values = allowable_values.map do |value|
|
|
28
|
-
case datatype.to_s
|
|
29
|
-
when /Integer/i
|
|
30
|
-
value.to_i
|
|
31
|
-
when /Float/i
|
|
32
|
-
value.to_f
|
|
33
|
-
else
|
|
34
|
-
value
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
17
|
+
# Body for `POST /v1/channels/airbnb/listings/{id}`.
|
|
18
|
+
class AirbnbListingActionRequest < ApiModelBase
|
|
19
|
+
# `delete` deactivates the Repull record. `push`/`publish` push content to Airbnb.
|
|
20
|
+
attr_accessor :action
|
|
38
21
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
22
|
+
# For `push`/`publish`: the Airbnb connection to update (from `GET /v1/channels/airbnb/listings/{id}`). Pass this OR `hostId`.
|
|
23
|
+
attr_accessor :airbnb_connection_id
|
|
24
|
+
|
|
25
|
+
# For `push`/`publish`: create + publish a new Airbnb listing under this host. Pass this OR `airbnbConnectionId`.
|
|
26
|
+
attr_accessor :host_id
|
|
27
|
+
|
|
28
|
+
# For `push`/`publish`: re-push every field, ignoring dirty-field tracking.
|
|
29
|
+
attr_accessor :force
|
|
43
30
|
|
|
44
31
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
45
32
|
def self.attribute_map
|
|
46
33
|
{
|
|
47
|
-
:'
|
|
48
|
-
:'
|
|
34
|
+
:'action' => :'action',
|
|
35
|
+
:'airbnb_connection_id' => :'airbnbConnectionId',
|
|
36
|
+
:'host_id' => :'hostId',
|
|
37
|
+
:'force' => :'force'
|
|
49
38
|
}
|
|
50
39
|
end
|
|
51
40
|
|
|
@@ -62,8 +51,10 @@ module Repull
|
|
|
62
51
|
# Attribute type mapping.
|
|
63
52
|
def self.openapi_types
|
|
64
53
|
{
|
|
65
|
-
:'
|
|
66
|
-
:'
|
|
54
|
+
:'action' => :'String',
|
|
55
|
+
:'airbnb_connection_id' => :'String',
|
|
56
|
+
:'host_id' => :'String',
|
|
57
|
+
:'force' => :'Boolean'
|
|
67
58
|
}
|
|
68
59
|
end
|
|
69
60
|
|
|
@@ -77,24 +68,36 @@ module Repull
|
|
|
77
68
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
78
69
|
def initialize(attributes = {})
|
|
79
70
|
if (!attributes.is_a?(Hash))
|
|
80
|
-
fail ArgumentError, "The input argument (attributes) must be a hash in `Repull::
|
|
71
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Repull::AirbnbListingActionRequest` initialize method"
|
|
81
72
|
end
|
|
82
73
|
|
|
83
74
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
84
75
|
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
85
76
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
86
77
|
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
87
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `Repull::
|
|
78
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Repull::AirbnbListingActionRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
88
79
|
end
|
|
89
80
|
h[k.to_sym] = v
|
|
90
81
|
}
|
|
91
82
|
|
|
92
|
-
if attributes.key?(:'
|
|
93
|
-
self.
|
|
83
|
+
if attributes.key?(:'action')
|
|
84
|
+
self.action = attributes[:'action']
|
|
85
|
+
else
|
|
86
|
+
self.action = nil
|
|
94
87
|
end
|
|
95
88
|
|
|
96
|
-
if attributes.key?(:'
|
|
97
|
-
self.
|
|
89
|
+
if attributes.key?(:'airbnb_connection_id')
|
|
90
|
+
self.airbnb_connection_id = attributes[:'airbnb_connection_id']
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
if attributes.key?(:'host_id')
|
|
94
|
+
self.host_id = attributes[:'host_id']
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
if attributes.key?(:'force')
|
|
98
|
+
self.force = attributes[:'force']
|
|
99
|
+
else
|
|
100
|
+
self.force = false
|
|
98
101
|
end
|
|
99
102
|
end
|
|
100
103
|
|
|
@@ -103,6 +106,10 @@ module Repull
|
|
|
103
106
|
def list_invalid_properties
|
|
104
107
|
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
105
108
|
invalid_properties = Array.new
|
|
109
|
+
if @action.nil?
|
|
110
|
+
invalid_properties.push('invalid value for "action", action cannot be nil.')
|
|
111
|
+
end
|
|
112
|
+
|
|
106
113
|
invalid_properties
|
|
107
114
|
end
|
|
108
115
|
|
|
@@ -110,19 +117,18 @@ module Repull
|
|
|
110
117
|
# @return true if the model is valid
|
|
111
118
|
def valid?
|
|
112
119
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
113
|
-
|
|
114
|
-
return false unless status_validator.valid?(@status)
|
|
120
|
+
return false if @action.nil?
|
|
115
121
|
true
|
|
116
122
|
end
|
|
117
123
|
|
|
118
|
-
# Custom attribute writer method
|
|
119
|
-
# @param [Object]
|
|
120
|
-
def
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
124
|
+
# Custom attribute writer method with validation
|
|
125
|
+
# @param [Object] action Value to be assigned
|
|
126
|
+
def action=(action)
|
|
127
|
+
if action.nil?
|
|
128
|
+
fail ArgumentError, 'action cannot be nil'
|
|
124
129
|
end
|
|
125
|
-
|
|
130
|
+
|
|
131
|
+
@action = action
|
|
126
132
|
end
|
|
127
133
|
|
|
128
134
|
# Checks equality by comparing each attribute.
|
|
@@ -130,8 +136,10 @@ module Repull
|
|
|
130
136
|
def ==(o)
|
|
131
137
|
return true if self.equal?(o)
|
|
132
138
|
self.class == o.class &&
|
|
133
|
-
|
|
134
|
-
|
|
139
|
+
action == o.action &&
|
|
140
|
+
airbnb_connection_id == o.airbnb_connection_id &&
|
|
141
|
+
host_id == o.host_id &&
|
|
142
|
+
force == o.force
|
|
135
143
|
end
|
|
136
144
|
|
|
137
145
|
# @see the `==` method
|
|
@@ -143,7 +151,7 @@ module Repull
|
|
|
143
151
|
# Calculates hash code according to all attributes.
|
|
144
152
|
# @return [Integer] Hash code
|
|
145
153
|
def hash
|
|
146
|
-
[
|
|
154
|
+
[action, airbnb_connection_id, host_id, force].hash
|
|
147
155
|
end
|
|
148
156
|
|
|
149
157
|
# Builds the object from hash
|