Sha256: 677a8d6b26ecf6aa41cbba6fd9f0fe3d9170ffd1808682c5ceb573e6626e7dfb

Contents?: true

Size: 891 Bytes

Versions: 6

Compression:

Stored size: 891 Bytes

Contents

# frozen_string_literal: true
class Zendesk2::DestroyUser
  include Zendesk2::Request

  request_method :delete
  request_path { |r| "/users/#{r.user_id}.json" }

  def user_id
    @_user_id ||= params.fetch('user').fetch('id').to_i
  end

  def mock
    ticket_count = cistern.data[:tickets].values.select { |t| t['requester_id'].to_i == user_id }.size

    if ticket_count < 1
      cistern.data[:identities].each { |k, v| cistern.data[:identities].delete(k) if v['user_id'] == user_id }

      mock_response('user' => delete!(:users, user_id))
    else
      error!(:invalid, 'details' => {
               'base' => [{
                 'type'        => "User is requester on #{ticket_count} ticket(s) that are not closed.",
                 'description' => "Base User is requester on #{ticket_count} ticket(s) that are not closed.",
               },],
             })
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
zendesk2-1.15.0 lib/zendesk2/destroy_user.rb
zendesk2-1.13.1 lib/zendesk2/destroy_user.rb
zendesk2-1.13.0 lib/zendesk2/destroy_user.rb
zendesk2-1.12.0 lib/zendesk2/destroy_user.rb
zendesk2-1.11.0 lib/zendesk2/destroy_user.rb
zendesk2-1.10.0 lib/zendesk2/destroy_user.rb