Class: Buildium::WorkOrdersApi

Inherits:
Object
  • Object
show all
Defined in:
lib/buildium-ruby/api/work_orders_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = ApiClient.default) ⇒ WorkOrdersApi

Returns a new instance of WorkOrdersApi.



19
20
21
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 19

def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



17
18
19
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 17

def api_client
  @api_client
end

Instance Method Details

#create_work_order(work_order_post_message, opts = {}) ⇒ WorkOrderMessage

Create a work order Creates a work order. <br /><br /><h4>Required permission(s):</h4><span class="permissionBlock">Maintenance &gt; Work Orders</span> - ‘View` `Edit`

Parameters:

  • work_order_post_message (WorkOrderPostMessage)
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



27
28
29
30
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 27

def create_work_order(work_order_post_message, opts = {})
  data, _status_code, _headers = create_work_order_with_http_info(work_order_post_message, opts)
  data
end

#create_work_order_with_http_info(work_order_post_message, opts = {}) ⇒ Array<(WorkOrderMessage, Integer, Hash)>

Create a work order Creates a work order. &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Required permission(s):&lt;/h4&gt;&lt;span class&#x3D;&quot;permissionBlock&quot;&gt;Maintenance &amp;gt; Work Orders&lt;/span&gt; - &#x60;View&#x60; &#x60;Edit&#x60;

Parameters:

  • work_order_post_message (WorkOrderPostMessage)
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:

  • (Array<(WorkOrderMessage, Integer, Hash)>)

    WorkOrderMessage data, response status code and response headers



37
38
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
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 37

def create_work_order_with_http_info(work_order_post_message, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: WorkOrdersApi.create_work_order ...'
  end
  # verify the required parameter 'work_order_post_message' is set
  if @api_client.config.client_side_validation && work_order_post_message.nil?
    fail ArgumentError, "Missing the required parameter 'work_order_post_message' when calling WorkOrdersApi.create_work_order"
  end
  # resource path
  local_var_path = '/v1/workorders'

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
    header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(work_order_post_message)

  # return_type
  return_type = opts[:debug_return_type] || 'WorkOrderMessage'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['clientId', 'clientSecret']

  new_options = opts.merge(
    :operation => :"WorkOrdersApi.create_work_order",
    :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(:POST, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: WorkOrdersApi#create_work_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end

#get_all_work_orders(opts = {}) ⇒ Array<WorkOrderMessage>

Retrieve all work orders Retrieves a list of work orders. <br /><br /><h4>Required permission(s):</h4><span class="permissionBlock">Maintenance &gt; Work Orders</span> - ‘View`

Parameters:

  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :entitytype (String)

    Specifies the type of entity that the &#x60;EntityId&#x60; field refers to. This field is required if the &#x60;EntityId&#x60; field is populated.

  • :entityid (Integer)

    Filters results to any work order associated with the specified entity id value. The value must be of the type specified in the &#x60;EntityType&#x60; field.

  • :statuses (Array<String>)

    Filters results by the status of the task associated with the work order. If no status is specified, work orders with any status will be returned.

  • :type (String)

    Filters results to any work order with an associated task with the task type specified.

  • :unitid (Integer)

    Filters results to any work order associated with the unit identifier.

  • :unitagreementid (Integer)

    Filters results to any work order associated with the unit agreement identifier specified.

  • :lastupdatedfrom (Date)

    Filters results to any work orders were updated on or after the specified date. The value must be formatted as YYYY-MM-DD.

  • :lastupdatedto (Date)

    Filters results to any work orders were updated on or before the specified date. The value must be formatted as YYYY-MM-DD.

  • :duedatefrom (Date)

    Filters results to any work orders with a due date on or after the specified date. The value must be formatted as YYYY-MM-DD.

  • :duedateto (Date)

    Filters results to any work orders with a due date on or before the specified date. The value must be formatted as YYYY-MM-DD.

  • :taskcategoryid (Integer)

    Filters results to any work orders whose priority matches the specified values. If no priority is specified, tasks with any priority will be returned.

  • :priorities (Array<String>)

    Filters results to any work orders that have been assigned to the specified staff user identifier.

  • :assignedtoid (Integer)

    Filters results to any work orders that have been assigned to the specified staff user identifier.

  • :vendorids (Array<Integer>)

    Filters results to any work orders that have been assigned to the specified vendor identifier.

  • :amountfrom (Float)

    Filters results to any work orders whose total amounts are equal or greater than the specified amount.

  • :amountto (Float)

    Filters results to any work orders whose total amounts are equal or less than the specified amount.

  • :isbilled (Boolean)

    Filters results to work orders that have an associated bill.

  • :title (String)

    Filters results to any work orders whose title contains the specified value.

  • :taskids (Array<Integer>)

    Filters results to work orders that have an associated to a task in the specified list.

  • :orderby (String)

    &#x60;orderby&#x60; indicates the field(s) and direction to sort the results in the response. See &lt;a href&#x3D;&quot;#section/API-Overview/Bulk-Request-Options&quot;&gt;Bulk Request Options&lt;/a&gt; for more information.

  • :offset (Integer)

    &#x60;offset&#x60; indicates the position of the first record to return. The &#x60;offset&#x60; is zero-based and the default is 0.

  • :limit (Integer)

    &#x60;limit&#x60; indicates the maximum number of results to be returned in the response. &#x60;limit&#x60; can range between 1 and 1000 and the default is 50.

Returns:



116
117
118
119
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 116

def get_all_work_orders(opts = {})
  data, _status_code, _headers = get_all_work_orders_with_http_info(opts)
  data
end

#get_all_work_orders_with_http_info(opts = {}) ⇒ Array<(Array<WorkOrderMessage>, Integer, Hash)>

Retrieve all work orders Retrieves a list of work orders. &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Required permission(s):&lt;/h4&gt;&lt;span class&#x3D;&quot;permissionBlock&quot;&gt;Maintenance &amp;gt; Work Orders&lt;/span&gt; - &#x60;View&#x60;

Parameters:

  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :entitytype (String)

    Specifies the type of entity that the &#x60;EntityId&#x60; field refers to. This field is required if the &#x60;EntityId&#x60; field is populated.

  • :entityid (Integer)

    Filters results to any work order associated with the specified entity id value. The value must be of the type specified in the &#x60;EntityType&#x60; field.

  • :statuses (Array<String>)

    Filters results by the status of the task associated with the work order. If no status is specified, work orders with any status will be returned.

  • :type (String)

    Filters results to any work order with an associated task with the task type specified.

  • :unitid (Integer)

    Filters results to any work order associated with the unit identifier.

  • :unitagreementid (Integer)

    Filters results to any work order associated with the unit agreement identifier specified.

  • :lastupdatedfrom (Date)

    Filters results to any work orders were updated on or after the specified date. The value must be formatted as YYYY-MM-DD.

  • :lastupdatedto (Date)

    Filters results to any work orders were updated on or before the specified date. The value must be formatted as YYYY-MM-DD.

  • :duedatefrom (Date)

    Filters results to any work orders with a due date on or after the specified date. The value must be formatted as YYYY-MM-DD.

  • :duedateto (Date)

    Filters results to any work orders with a due date on or before the specified date. The value must be formatted as YYYY-MM-DD.

  • :taskcategoryid (Integer)

    Filters results to any work orders whose priority matches the specified values. If no priority is specified, tasks with any priority will be returned.

  • :priorities (Array<String>)

    Filters results to any work orders that have been assigned to the specified staff user identifier.

  • :assignedtoid (Integer)

    Filters results to any work orders that have been assigned to the specified staff user identifier.

  • :vendorids (Array<Integer>)

    Filters results to any work orders that have been assigned to the specified vendor identifier.

  • :amountfrom (Float)

    Filters results to any work orders whose total amounts are equal or greater than the specified amount.

  • :amountto (Float)

    Filters results to any work orders whose total amounts are equal or less than the specified amount.

  • :isbilled (Boolean)

    Filters results to work orders that have an associated bill.

  • :title (String)

    Filters results to any work orders whose title contains the specified value.

  • :taskids (Array<Integer>)

    Filters results to work orders that have an associated to a task in the specified list.

  • :orderby (String)

    &#x60;orderby&#x60; indicates the field(s) and direction to sort the results in the response. See &lt;a href&#x3D;&quot;#section/API-Overview/Bulk-Request-Options&quot;&gt;Bulk Request Options&lt;/a&gt; for more information.

  • :offset (Integer)

    &#x60;offset&#x60; indicates the position of the first record to return. The &#x60;offset&#x60; is zero-based and the default is 0.

  • :limit (Integer)

    &#x60;limit&#x60; indicates the maximum number of results to be returned in the response. &#x60;limit&#x60; can range between 1 and 1000 and the default is 50.

Returns:

  • (Array<(Array<WorkOrderMessage>, Integer, Hash)>)

    Array<WorkOrderMessage> data, response status code and response headers



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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 147

def get_all_work_orders_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: WorkOrdersApi.get_all_work_orders ...'
  end
  allowable_values = ["Rental", "RentalOwner", "Association"]
  if @api_client.config.client_side_validation && opts[:'entitytype'] && !allowable_values.include?(opts[:'entitytype'])
    fail ArgumentError, "invalid value for \"entitytype\", must be one of #{allowable_values}"
  end
  allowable_values = ["New", "InProgress", "Completed", "Deferred", "Closed"]
  if @api_client.config.client_side_validation && opts[:'statuses'] && !opts[:'statuses'].all? { |item| allowable_values.include?(item) }
    fail ArgumentError, "invalid value for \"statuses\", must include one of #{allowable_values}"
  end
  allowable_values = ["ContactRequest", "ResidentRequest", "Todo", "RentalOwnerRequest"]
  if @api_client.config.client_side_validation && opts[:'type'] && !allowable_values.include?(opts[:'type'])
    fail ArgumentError, "invalid value for \"type\", must be one of #{allowable_values}"
  end
  allowable_values = ["Low", "Normal", "High"]
  if @api_client.config.client_side_validation && opts[:'priorities'] && !opts[:'priorities'].all? { |item| allowable_values.include?(item) }
    fail ArgumentError, "invalid value for \"priorities\", must include one of #{allowable_values}"
  end
  # resource path
  local_var_path = '/v1/workorders'

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'entitytype'] = opts[:'entitytype'] if !opts[:'entitytype'].nil?
  query_params[:'entityid'] = opts[:'entityid'] if !opts[:'entityid'].nil?
  query_params[:'statuses'] = @api_client.build_collection_param(opts[:'statuses'], :multi) if !opts[:'statuses'].nil?
  query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
  query_params[:'unitid'] = opts[:'unitid'] if !opts[:'unitid'].nil?
  query_params[:'unitagreementid'] = opts[:'unitagreementid'] if !opts[:'unitagreementid'].nil?
  query_params[:'lastupdatedfrom'] = opts[:'lastupdatedfrom'] if !opts[:'lastupdatedfrom'].nil?
  query_params[:'lastupdatedto'] = opts[:'lastupdatedto'] if !opts[:'lastupdatedto'].nil?
  query_params[:'duedatefrom'] = opts[:'duedatefrom'] if !opts[:'duedatefrom'].nil?
  query_params[:'duedateto'] = opts[:'duedateto'] if !opts[:'duedateto'].nil?
  query_params[:'taskcategoryid'] = opts[:'taskcategoryid'] if !opts[:'taskcategoryid'].nil?
  query_params[:'priorities'] = @api_client.build_collection_param(opts[:'priorities'], :multi) if !opts[:'priorities'].nil?
  query_params[:'assignedtoid'] = opts[:'assignedtoid'] if !opts[:'assignedtoid'].nil?
  query_params[:'vendorids'] = @api_client.build_collection_param(opts[:'vendorids'], :multi) if !opts[:'vendorids'].nil?
  query_params[:'amountfrom'] = opts[:'amountfrom'] if !opts[:'amountfrom'].nil?
  query_params[:'amountto'] = opts[:'amountto'] if !opts[:'amountto'].nil?
  query_params[:'isbilled'] = opts[:'isbilled'] if !opts[:'isbilled'].nil?
  query_params[:'title'] = opts[:'title'] if !opts[:'title'].nil?
  query_params[:'taskids'] = @api_client.build_collection_param(opts[:'taskids'], :multi) if !opts[:'taskids'].nil?
  query_params[:'orderby'] = opts[:'orderby'] if !opts[:'orderby'].nil?
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'Array<WorkOrderMessage>'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['clientId', 'clientSecret']

  new_options = opts.merge(
    :operation => :"WorkOrdersApi.get_all_work_orders",
    :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, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: WorkOrdersApi#get_all_work_orders\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end

#get_work_order_by_id(work_order_id, opts = {}) ⇒ WorkOrderMessage

Retrieve a work order Retrieves a specific work order. <br /><br /><h4>Required permission(s):</h4><span class="permissionBlock">Maintenance &gt; Work Orders</span> - ‘View`

Parameters:

  • work_order_id (Integer)
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



234
235
236
237
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 234

def get_work_order_by_id(work_order_id, opts = {})
  data, _status_code, _headers = get_work_order_by_id_with_http_info(work_order_id, opts)
  data
end

#get_work_order_by_id_with_http_info(work_order_id, opts = {}) ⇒ Array<(WorkOrderMessage, Integer, Hash)>

Retrieve a work order Retrieves a specific work order. &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Required permission(s):&lt;/h4&gt;&lt;span class&#x3D;&quot;permissionBlock&quot;&gt;Maintenance &amp;gt; Work Orders&lt;/span&gt; - &#x60;View&#x60;

Parameters:

  • work_order_id (Integer)
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:

  • (Array<(WorkOrderMessage, Integer, Hash)>)

    WorkOrderMessage data, response status code and response headers



244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 244

def get_work_order_by_id_with_http_info(work_order_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: WorkOrdersApi.get_work_order_by_id ...'
  end
  # verify the required parameter 'work_order_id' is set
  if @api_client.config.client_side_validation && work_order_id.nil?
    fail ArgumentError, "Missing the required parameter 'work_order_id' when calling WorkOrdersApi.get_work_order_by_id"
  end
  # resource path
  local_var_path = '/v1/workorders/{workOrderId}'.sub('{' + 'workOrderId' + '}', CGI.escape(work_order_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'WorkOrderMessage'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['clientId', 'clientSecret']

  new_options = opts.merge(
    :operation => :"WorkOrdersApi.get_work_order_by_id",
    :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, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: WorkOrdersApi#get_work_order_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end

#update_work_order(work_order_id, work_order_put_message, opts = {}) ⇒ WorkOrderMessage

Update a work order Updates a work order. <br /><br /><strong>NOTE:</strong> Any field not included in the update request will be set to either an empty string or ‘null` in the database depending on the field definition. <br />The recommended workflow to ensure no data is inadvertently overwritten is to execute a `GET` request for the resource you’re about to update and then use this response to fill any of the fields that are not being updated. <br /><br /><h4>Required permission(s):</h4><span class="permissionBlock">Maintenance &gt; Work Orders</span> - ‘View` `Edit`

Parameters:

  • work_order_id (Integer)
  • work_order_put_message (WorkOrderPutMessage)
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



298
299
300
301
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 298

def update_work_order(work_order_id, work_order_put_message, opts = {})
  data, _status_code, _headers = update_work_order_with_http_info(work_order_id, work_order_put_message, opts)
  data
end

#update_work_order_with_http_info(work_order_id, work_order_put_message, opts = {}) ⇒ Array<(WorkOrderMessage, Integer, Hash)>

Update a work order Updates a work order. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Any field not included in the update request will be set to either an empty string or &#x60;null&#x60; in the database depending on the field definition. &lt;br /&gt;The recommended workflow to ensure no data is inadvertently overwritten is to execute a &#x60;GET&#x60; request for the resource you&#39;re about to update and then use this response to fill any of the fields that are not being updated. &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Required permission(s):&lt;/h4&gt;&lt;span class&#x3D;&quot;permissionBlock&quot;&gt;Maintenance &amp;gt; Work Orders&lt;/span&gt; - &#x60;View&#x60; &#x60;Edit&#x60;

Parameters:

  • work_order_id (Integer)
  • work_order_put_message (WorkOrderPutMessage)
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:

  • (Array<(WorkOrderMessage, Integer, Hash)>)

    WorkOrderMessage data, response status code and response headers



309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
# File 'lib/buildium-ruby/api/work_orders_api.rb', line 309

def update_work_order_with_http_info(work_order_id, work_order_put_message, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: WorkOrdersApi.update_work_order ...'
  end
  # verify the required parameter 'work_order_id' is set
  if @api_client.config.client_side_validation && work_order_id.nil?
    fail ArgumentError, "Missing the required parameter 'work_order_id' when calling WorkOrdersApi.update_work_order"
  end
  # verify the required parameter 'work_order_put_message' is set
  if @api_client.config.client_side_validation && work_order_put_message.nil?
    fail ArgumentError, "Missing the required parameter 'work_order_put_message' when calling WorkOrdersApi.update_work_order"
  end
  # resource path
  local_var_path = '/v1/workorders/{workOrderId}'.sub('{' + 'workOrderId' + '}', CGI.escape(work_order_id.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
    header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body(work_order_put_message)

  # return_type
  return_type = opts[:debug_return_type] || 'WorkOrderMessage'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['clientId', 'clientSecret']

  new_options = opts.merge(
    :operation => :"WorkOrdersApi.update_work_order",
    :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(:PUT, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: WorkOrdersApi#update_work_order\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end