Class: Repull::PropertiesApi
- Inherits:
-
Object
- Object
- Repull::PropertiesApi
- Defined in:
- lib/repull/api/properties_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#get_property(id, opts = {}) ⇒ Property
Get property details Fetch a single property by Repull id.
-
#get_property_with_http_info(id, opts = {}) ⇒ Array<(Property, Integer, Hash)>
Get property details Fetch a single property by Repull id.
-
#initialize(api_client = ApiClient.default) ⇒ PropertiesApi
constructor
A new instance of PropertiesApi.
-
#list_properties(opts = {}) ⇒ PropertyListResponse
List properties Cursor-paginated list of properties for the authenticated workspace.
-
#list_properties_with_http_info(opts = {}) ⇒ Array<(PropertyListResponse, Integer, Hash)>
List properties Cursor-paginated list of properties for the authenticated workspace.
Constructor Details
#initialize(api_client = ApiClient.default) ⇒ PropertiesApi
Returns a new instance of PropertiesApi.
19 20 21 |
# File 'lib/repull/api/properties_api.rb', line 19 def initialize(api_client = ApiClient.default) @api_client = api_client end |
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
17 18 19 |
# File 'lib/repull/api/properties_api.rb', line 17 def api_client @api_client end |
Instance Method Details
#get_property(id, opts = {}) ⇒ Property
Get property details Fetch a single property by Repull id. Property ids are workspace-scoped — an id from one workspace is not valid in another. 404 means the id does not exist OR belongs to a different workspace. **Optional expansions:** Pass ‘?include=amenities` to enrich the response with the property’s amenities (sourced from the unified ‘listings_amenities` table). Returns `[]` when the property has no amenity rows. The default response stays lean; consumers must opt in.
28 29 30 31 |
# File 'lib/repull/api/properties_api.rb', line 28 def get_property(id, opts = {}) data, _status_code, _headers = get_property_with_http_info(id, opts) data end |
#get_property_with_http_info(id, opts = {}) ⇒ Array<(Property, Integer, Hash)>
Get property details Fetch a single property by Repull id. Property ids are workspace-scoped — an id from one workspace is not valid in another. 404 means the id does not exist OR belongs to a different workspace. **Optional expansions:** Pass `?include=amenities` to enrich the response with the property's amenities (sourced from the unified `listings_amenities` table). Returns `[]` when the property has no amenity rows. The default response stays lean; consumers must opt in.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/repull/api/properties_api.rb', line 39 def get_property_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PropertiesApi.get_property ...' end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling PropertiesApi.get_property" end allowable_values = ["amenities"] if @api_client.config.client_side_validation && opts[:'include'] && !allowable_values.include?(opts[:'include']) fail ArgumentError, "invalid value for \"include\", must be one of #{allowable_values}" end # resource path local_var_path = '/v1/properties/{id}'.sub('{id}', CGI.escape(id.to_s)) # query parameters query_params = opts[:query_params] || {} query_params[:'include'] = opts[:'include'] if !opts[:'include'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'Property' # auth_names auth_names = opts[:debug_auth_names] || ['bearerAuth'] = opts.merge( :operation => :"PropertiesApi.get_property", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: PropertiesApi#get_property\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |
#list_properties(opts = {}) ⇒ PropertyListResponse
List properties Cursor-paginated list of properties for the authenticated workspace. Walk pages with ‘?cursor=<pagination.nextCursor>`; stop when `pagination.hasMore` is `false`. Cursor is opaque base64 — do not parse it. `?offset=` is also accepted as a first-class alias for shallow paging (0..10000) — see the `offset` parameter below. Mutually exclusive with `cursor`. Filters: `q` (substring on name/street/city), `status` (active|inactive|all), `lifecycle_status` (exact match on the listing’s lifecycle state). Other unknown params (e.g. ‘?search=` or `?propertyId=`) are rejected with 422 — no silent unfiltered results.
103 104 105 106 |
# File 'lib/repull/api/properties_api.rb', line 103 def list_properties(opts = {}) data, _status_code, _headers = list_properties_with_http_info(opts) data end |
#list_properties_with_http_info(opts = {}) ⇒ Array<(PropertyListResponse, Integer, Hash)>
List properties Cursor-paginated list of properties for the authenticated workspace. Walk pages with `?cursor=<pagination.nextCursor>`; stop when `pagination.hasMore` is `false`. Cursor is opaque base64 — do not parse it. `?offset=` is also accepted as a first-class alias for shallow paging (0..10000) — see the `offset` parameter below. Mutually exclusive with `cursor`. Filters: `q` (substring on name/street/city), `status` (active|inactive|all), `lifecycle_status` (exact match on the listing's lifecycle state). Other unknown params (e.g. `?search=` or `?propertyId=`) are rejected with 422 — no silent unfiltered results.
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
# File 'lib/repull/api/properties_api.rb', line 119 def list_properties_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PropertiesApi.list_properties ...' end if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100 fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PropertiesApi.list_properties, must be smaller than or equal to 100.' end if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1 fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling PropertiesApi.list_properties, must be greater than or equal to 1.' end if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] > 10000 fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling PropertiesApi.list_properties, must be smaller than or equal to 10000.' end if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0 fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling PropertiesApi.list_properties, must be greater than or equal to 0.' end allowable_values = ["active", "inactive", "all"] if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status']) fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}" end # resource path local_var_path = '/v1/properties' # query parameters query_params = opts[:query_params] || {} query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil? query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil? query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil? query_params[:'lifecycle_status'] = opts[:'lifecycle_status'] if !opts[:'lifecycle_status'].nil? query_params[:'include_total'] = opts[:'include_total'] if !opts[:'include_total'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'PropertyListResponse' # auth_names auth_names = opts[:debug_auth_names] || ['bearerAuth'] = opts.merge( :operation => :"PropertiesApi.list_properties", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: PropertiesApi#list_properties\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |