Class: ZendeskSupportAPI::DeletedTickets
- Inherits:
-
Object
- Object
- ZendeskSupportAPI::DeletedTickets
- Defined in:
- lib/zendesk_support_api/deleted_tickets.rb
Overview
Tickets class - developer.zendesk.com/rest_api/docs/support/tickets
Class Method Summary collapse
-
.deleted_sort_valid?(sort) ⇒ Boolean
Determines if sort value is valid for delete requests.
-
.list_all_deleted(client) ⇒ Array
Lists all deleted tickets.
-
.list_deleted(client, sort = 'id', order = 'asc') ⇒ Array
Lists deleted tickets (first 100).
-
.next_page(res) ⇒ nil|String
Returns the string of the next_page for pagination.
-
.order_valid?(order) ⇒ Boolean
Determines if given string is a valid order function.
-
.org_id ⇒ String
Prints out organization_id.
-
.restore(client, tid) ⇒ nil|String
Restores a deleted ticket.
-
.restore_many(client, tids) ⇒ ZendeskSupportAPI::Client.handle_job
Restores several deleted tickets.
-
.select_obj(array, id) ⇒ Hash
Selects an object from an array based on a user ID.
-
.sort_order(sort, order) ⇒ String
Prints out the sort_by and order_by string for the url.
Class Method Details
.deleted_sort_valid?(sort) ⇒ Boolean
Determines if sort value is valid for delete requests
68 69 70 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 68 def self.deleted_sort_valid?(sort) %w[id subject deleted_at].includes?(sort) end |
.list_all_deleted(client) ⇒ Array
Lists all deleted tickets
92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 92 def self.list_all_deleted(client) tickets = [] page = 'deleted_tickets.json?page=1' until page.nil? res = client.request(:get, page) client.spinner("tickets (total: #{res['count']})", page.split('=').last) tickets += res['tickets'] page = next_page(res) end puts ' ...done' tickets end |
.list_deleted(client, sort = 'id', order = 'asc') ⇒ Array
Lists deleted tickets (first 100)
79 80 81 82 83 84 85 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 79 def self.list_deleted(client, sort = 'id', order = 'asc') return "Invalid sort '#{sort}'" unless delete_sort_valid?(sort) return "Invalid order '#{order}'" unless order_valid?(order) url = "deleted_tickets.json?#{sort_order(sort, order)}" client.request(:get, url)['deleted_tickets'] end |
.next_page(res) ⇒ nil|String
Returns the string of the next_page for pagination
38 39 40 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 38 def self.next_page(res) (res['next_page'].nil? ? nil : res['next_page'].split('/').last) end |
.order_valid?(order) ⇒ Boolean
Determines if given string is a valid order function
15 16 17 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 15 def self.order_valid?(order) %w[desc asc].include? order end |
.org_id ⇒ String
Prints out organization_id
49 50 51 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 49 def self.org_id 'organization_id' end |
.restore(client, tid) ⇒ nil|String
Restores a deleted ticket
111 112 113 114 115 116 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 111 def self.restore(client, tid) res = client.request(:put, "deleted_tickets/#{tid}/restore.json") return "Restore of #{tid} failed: #{res['error']}" if res['error'] res end |
.restore_many(client, tids) ⇒ ZendeskSupportAPI::Client.handle_job
Restores several deleted tickets
124 125 126 127 128 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 124 def self.restore_many(client, tids) url = "deleted_tickets/restore_many?ids=#{tids.join(',')}" res = client.request(:put, url) client.handle_job(res) end |
.select_obj(array, id) ⇒ Hash
Selects an object from an array based on a user ID
59 60 61 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 59 def self.select_obj(array, id) array.select { |a| a['id'] == id }.first end |
.sort_order(sort, order) ⇒ String
Prints out the sort_by and order_by string for the url
29 30 31 |
# File 'lib/zendesk_support_api/deleted_tickets.rb', line 29 def self.sort_order(sort, order) "&sort_by=#{sort}&order_by=#{order}" end |