Class: KapsoClientRuby::Resources::Calls::Permissions

Inherits:
Object
  • Object
show all
Defined in:
lib/kapso_client_ruby/resources/calls.rb

Overview

Call permissions management

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Permissions

Returns a new instance of Permissions.



129
130
131
# File 'lib/kapso_client_ruby/resources/calls.rb', line 129

def initialize(client)
  @client = client
end

Instance Method Details

#get(phone_number_id:, user_wa_id:) ⇒ Object

Get call permissions

Raises:

  • (ArgumentError)


134
135
136
137
138
139
140
141
142
# File 'lib/kapso_client_ruby/resources/calls.rb', line 134

def get(phone_number_id:, user_wa_id:)
  raise ArgumentError, 'user_wa_id cannot be empty' if user_wa_id.nil? || user_wa_id.strip.empty?
  
  query_params = { user_wa_id: user_wa_id }
  
  response = @client.request(:get, "#{phone_number_id}/call_permissions", 
                             query: query_params, response_type: :json)
  response
end

#update(phone_number_id:, user_wa_id:, permission:) ⇒ Object

Update call permissions

Raises:

  • (ArgumentError)


145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/kapso_client_ruby/resources/calls.rb', line 145

def update(phone_number_id:, user_wa_id:, permission:)
  raise ArgumentError, 'user_wa_id cannot be empty' if user_wa_id.nil? || user_wa_id.strip.empty?
  raise ArgumentError, 'permission cannot be empty' if permission.nil?
  
  payload = {
    user_wa_id: user_wa_id,
    permission: permission
  }
  
  response = @client.request(:post, "#{phone_number_id}/call_permissions", 
                             body: payload.to_json, response_type: :json)
  Types::GraphSuccessResponse.new(response)
end