Class: Twilio::REST::Conversations::V1::UserContext

Inherits:
InstanceContext show all
Defined in:
lib/twilio-ruby/rest/conversations/v1/user.rb,
lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb

Defined Under Namespace

Classes: UserConversationContext, UserConversationInstance, UserConversationInstanceMetadata, UserConversationList, UserConversationListResponse, UserConversationPage, UserConversationPageMetadata

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ UserContext

Initialize the UserContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    The SID of the User resource to update. This value can be either the ‘sid` or the `identity` of the User resource to update.



245
246
247
248
249
250
251
252
253
254
255
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 245

def initialize(version, sid)
    super(version)
    

    # Path Solution
    @solution = { sid: sid,  }
    @uri = "/Users/#{@solution[:sid]}"

    # Dependents
    @user_conversations = nil
end

Instance Method Details

#delete(x_twilio_webhook_enabled: :unset) ⇒ Boolean

Delete the UserInstance

Parameters:

  • x_twilio_webhook_enabled (UserEnumWebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



260
261
262
263
264
265
266
267
268
269
270
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 260

def delete(
  x_twilio_webhook_enabled: :unset
)

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    
    
    

    @version.delete('DELETE', @uri, headers: headers)
end

#delete_with_metadata(x_twilio_webhook_enabled: :unset) ⇒ Boolean

Delete the UserInstanceMetadata

Parameters:

  • x_twilio_webhook_enabled (UserEnumWebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 276

def (
  x_twilio_webhook_enabled: :unset
)

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    
    
    
      response = @version.('DELETE', @uri, headers: headers)
      user_instance = UserInstance.new(
          @version,
          response.body,
          account_sid: @solution[:account_sid],
          sid: @solution[:sid],
      )
      UserInstanceMetadata.new(@version, user_instance, response.headers, response.status_code)
end

#fetchUserInstance

Fetch the UserInstance

Returns:



297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 297

def fetch

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.fetch('GET', @uri, headers: headers)
    UserInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#fetch_with_metadataUserInstance

Fetch the UserInstanceMetadata

Returns:



316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 316

def 

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    response = @version.('GET', @uri, headers: headers)
    user_instance = UserInstance.new(
        @version,
        response.body,
        sid: @solution[:sid],
    )
    UserInstanceMetadata.new(
        @version,
        user_instance,
        response.headers,
        response.status_code
    )
end

#inspectObject

Provide a detailed, user friendly representation



441
442
443
444
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 441

def inspect
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Conversations.V1.UserContext #{context}>"
end

#to_sObject

Provide a user friendly representation



434
435
436
437
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 434

def to_s
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Conversations.V1.UserContext #{context}>"
end

#update(friendly_name: :unset, attributes: :unset, role_sid: :unset, x_twilio_webhook_enabled: :unset) ⇒ UserInstance

Update the UserInstance

Parameters:

  • friendly_name (String) (defaults to: :unset)

    The string that you assigned to describe the resource.

  • attributes (String) (defaults to: :unset)

    The JSON Object string that stores application-specific data. If attributes have not been set, ‘{}` is returned.

  • role_sid (String) (defaults to: :unset)

    The SID of a service-level [Role](www.twilio.com/docs/conversations/api/role-resource) to assign to the user.

  • x_twilio_webhook_enabled (UserEnumWebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:



345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 345

def update(
  friendly_name: :unset, 
  attributes: :unset, 
  role_sid: :unset, 
  x_twilio_webhook_enabled: :unset
)

    data = Twilio::Values.of({
        'FriendlyName' => friendly_name,
        'Attributes' => attributes,
        'RoleSid' => role_sid,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    
    
    
    
    
    payload = @version.update('POST', @uri, data: data, headers: headers)
    UserInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#update_with_metadata(friendly_name: :unset, attributes: :unset, role_sid: :unset, x_twilio_webhook_enabled: :unset) ⇒ UserInstance

Update the UserInstanceMetadata

Parameters:

  • friendly_name (String) (defaults to: :unset)

    The string that you assigned to describe the resource.

  • attributes (String) (defaults to: :unset)

    The JSON Object string that stores application-specific data. If attributes have not been set, ‘{}` is returned.

  • role_sid (String) (defaults to: :unset)

    The SID of a service-level [Role](www.twilio.com/docs/conversations/api/role-resource) to assign to the user.

  • x_twilio_webhook_enabled (UserEnumWebhookEnabledType) (defaults to: :unset)

    The X-Twilio-Webhook-Enabled HTTP request header

Returns:



379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 379

def (
  friendly_name: :unset, 
  attributes: :unset, 
  role_sid: :unset, 
  x_twilio_webhook_enabled: :unset
)

    data = Twilio::Values.of({
        'FriendlyName' => friendly_name,
        'Attributes' => attributes,
        'RoleSid' => role_sid,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
    
    
    
    
    
    response = @version.('POST', @uri, data: data, headers: headers)
    user_instance = UserInstance.new(
        @version,
        response.body,
        sid: @solution[:sid],
    )
    UserInstanceMetadata.new(
        @version,
        user_instance,
        response.headers,
        response.status_code
    )
end

#user_conversations(conversation_sid = :unset) ⇒ UserConversationList, UserConversationContext

Access the user_conversations

Returns:

Raises:

  • (ArgumentError)


416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
# File 'lib/twilio-ruby/rest/conversations/v1/user.rb', line 416

def user_conversations(conversation_sid=:unset)

    raise ArgumentError, 'conversation_sid cannot be nil' if conversation_sid.nil?

    if conversation_sid != :unset
        return UserConversationContext.new(@version, @solution[:sid],conversation_sid )
    end

    unless @user_conversations
        @user_conversations = UserConversationList.new(
            @version, user_sid: @solution[:sid], )
    end

 @user_conversations
end