Class: VoiceML::ConversationsV1UsersResource

Inherits:
Object
  • Object
show all
Defined in:
lib/voiceml/resources/conversations_v1.rb

Overview

============================================================================

/v1/Users + nested /v1/Users/Sid/Conversations (UserConversation)

Constant Summary collapse

USER_FIELDS =
{
  'Identity' => :identity,
  'FriendlyName' => :friendly_name,
  'Attributes' => :attributes,
  'RoleSid' => :role_sid
}.freeze
USER_UPDATE_FIELDS =
{
  'FriendlyName' => :friendly_name,
  'Attributes' => :attributes,
  'RoleSid' => :role_sid
}.freeze
USER_CONVERSATION_UPDATE_FIELDS =
{
  'NotificationLevel' => :notification_level,
  'LastReadMessageIndex' => :last_read_message_index,
  'LastReadTimestamp' => :last_read_timestamp
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ ConversationsV1UsersResource

Returns a new instance of ConversationsV1UsersResource.



318
319
320
# File 'lib/voiceml/resources/conversations_v1.rb', line 318

def initialize(transport)
  @transport = transport
end

Instance Method Details

#create(identity:, friendly_name: nil, attributes: nil, role_sid: nil) ⇒ Object



328
329
330
331
# File 'lib/voiceml/resources/conversations_v1.rb', line 328

def create(identity:, friendly_name: nil, attributes: nil, role_sid: nil)
  kwargs = { identity: identity, friendly_name: friendly_name, attributes: attributes, role_sid: role_sid }
  ConversationsV1User.from_hash(@transport.request(:post, '/v1/Users', form: build_form(USER_FIELDS, kwargs)))
end

#delete(sid) ⇒ Object



343
344
345
346
# File 'lib/voiceml/resources/conversations_v1.rb', line 343

def delete(sid)
  @transport.request(:delete, "/v1/Users/#{sid}")
  nil
end

#delete_user_conversation(user_sid, conversation_sid) ⇒ Object



370
371
372
373
# File 'lib/voiceml/resources/conversations_v1.rb', line 370

def delete_user_conversation(user_sid, conversation_sid)
  @transport.request(:delete, "/v1/Users/#{user_sid}/Conversations/#{conversation_sid}")
  nil
end

#fetch(sid) ⇒ Object



333
334
335
# File 'lib/voiceml/resources/conversations_v1.rb', line 333

def fetch(sid)
  ConversationsV1User.from_hash(@transport.request(:get, "/v1/Users/#{sid}"))
end

#fetch_user_conversation(user_sid, conversation_sid) ⇒ Object



357
358
359
360
361
# File 'lib/voiceml/resources/conversations_v1.rb', line 357

def fetch_user_conversation(user_sid, conversation_sid)
  ConversationsV1UserConversation.from_hash(
    @transport.request(:get, "/v1/Users/#{user_sid}/Conversations/#{conversation_sid}")
  )
end

#list(page_size: nil) ⇒ Object



322
323
324
325
326
# File 'lib/voiceml/resources/conversations_v1.rb', line 322

def list(page_size: nil)
  params = {}
  params['PageSize'] = page_size unless page_size.nil?
  ConversationsV1UserList.new(@transport.request(:get, '/v1/Users', params: params))
end

#list_user_conversations(user_sid, page_size: nil) ⇒ Object

--- /v1/Users/Sid/Conversations ---



349
350
351
352
353
354
355
# File 'lib/voiceml/resources/conversations_v1.rb', line 349

def list_user_conversations(user_sid, page_size: nil)
  params = {}
  params['PageSize'] = page_size unless page_size.nil?
  ConversationsV1UserConversationList.new(
    @transport.request(:get, "/v1/Users/#{user_sid}/Conversations", params: params)
  )
end

#update(sid, **kwargs) ⇒ Object



337
338
339
340
341
# File 'lib/voiceml/resources/conversations_v1.rb', line 337

def update(sid, **kwargs)
  ConversationsV1User.from_hash(
    @transport.request(:post, "/v1/Users/#{sid}", form: build_form(USER_UPDATE_FIELDS, kwargs))
  )
end

#update_user_conversation(user_sid, conversation_sid, **kwargs) ⇒ Object



363
364
365
366
367
368
# File 'lib/voiceml/resources/conversations_v1.rb', line 363

def update_user_conversation(user_sid, conversation_sid, **kwargs)
  ConversationsV1UserConversation.from_hash(
    @transport.request(:post, "/v1/Users/#{user_sid}/Conversations/#{conversation_sid}",
                       form: build_form(USER_CONVERSATION_UPDATE_FIELDS, kwargs))
  )
end