Class: Twilio::REST::Authy::V1::ServiceContext::EntityContext::FactorContext::ChallengeInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb

Overview

PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact [email protected].

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, identity: nil, factor_sid: nil, sid: nil) ⇒ ChallengeInstance

Initialize the ChallengeInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • service_sid (String) (defaults to: nil)

    The unique SID identifier of the Service.

  • identity (String) (defaults to: nil)

    Customer unique identity for the Entity owner of the Challenge

  • factor_sid (String) (defaults to: nil)

    The unique SID identifier of the Factor.

  • sid (String) (defaults to: nil)

    A 34 character string that uniquely identifies this Challenge. It also allows the keyword ‘latest` to fetch the most recent active Challenge created for a Factor.



216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 216

def initialize(version, payload, service_sid: nil, identity: nil, factor_sid: nil, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'account_sid' => payload['account_sid'],
      'service_sid' => payload['service_sid'],
      'entity_sid' => payload['entity_sid'],
      'identity' => payload['identity'],
      'factor_sid' => payload['factor_sid'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'date_responded' => Twilio.deserialize_iso8601_datetime(payload['date_responded']),
      'expiration_date' => Twilio.deserialize_iso8601_datetime(payload['expiration_date']),
      'status' => payload['status'],
      'responded_reason' => payload['responded_reason'],
      'details' => payload['details'],
      'hidden_details' => payload['hidden_details'],
      'factor_type' => payload['factor_type'],
      'factor_strength' => payload['factor_strength'],
      'url' => payload['url'],
  }

  # Context
  @instance_context = nil
  @params = {
      'service_sid' => service_sid,
      'identity' => identity,
      'factor_sid' => factor_sid,
      'sid' => sid || @properties['sid'],
  }
end

Instance Method Details

#account_sidString

Returns Account Sid.

Returns:

  • (String)

    Account Sid.



275
276
277
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 275

def 
  @properties['account_sid']
end

#contextChallengeContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



254
255
256
257
258
259
260
261
262
263
264
265
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 254

def context
  unless @instance_context
    @instance_context = ChallengeContext.new(
        @version,
        @params['service_sid'],
        @params['identity'],
        @params['factor_sid'],
        @params['sid'],
    )
  end
  @instance_context
end

#date_createdTime

Returns The date this Challenge was created.

Returns:

  • (Time)

    The date this Challenge was created



305
306
307
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 305

def date_created
  @properties['date_created']
end

#date_respondedTime

Returns The date this Challenge was responded.

Returns:

  • (Time)

    The date this Challenge was responded



317
318
319
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 317

def date_responded
  @properties['date_responded']
end

#date_updatedTime

Returns The date this Challenge was updated.

Returns:

  • (Time)

    The date this Challenge was updated



311
312
313
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 311

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the ChallengeInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



372
373
374
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 372

def delete
  context.delete
end

#detailsString

Returns Public details provided to contextualize the Challenge.

Returns:

  • (String)

    Public details provided to contextualize the Challenge



341
342
343
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 341

def details
  @properties['details']
end

#entity_sidString

Returns Entity Sid.

Returns:

  • (String)

    Entity Sid.



287
288
289
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 287

def entity_sid
  @properties['entity_sid']
end

#expiration_dateTime

Returns The date this Challenge is expired.

Returns:

  • (Time)

    The date this Challenge is expired



323
324
325
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 323

def expiration_date
  @properties['expiration_date']
end

#factor_sidString

Returns Factor Sid.

Returns:

  • (String)

    Factor Sid.



299
300
301
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 299

def factor_sid
  @properties['factor_sid']
end

#factor_strengthchallenge.FactorStrengths

Returns The Factor Strength of this Challenge.

Returns:

  • (challenge.FactorStrengths)

    The Factor Strength of this Challenge



359
360
361
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 359

def factor_strength
  @properties['factor_strength']
end

#factor_typechallenge.FactorTypes

Returns The Factor Type of this Challenge.

Returns:

  • (challenge.FactorTypes)

    The Factor Type of this Challenge



353
354
355
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 353

def factor_type
  @properties['factor_type']
end

#fetchChallengeInstance

Fetch a ChallengeInstance

Returns:



379
380
381
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 379

def fetch
  context.fetch
end

#hidden_detailsString

Returns Hidden details provided to contextualize the Challenge.

Returns:

  • (String)

    Hidden details provided to contextualize the Challenge



347
348
349
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 347

def hidden_details
  @properties['hidden_details']
end

#identityString

Returns Unique identity of the Entity.

Returns:

  • (String)

    Unique identity of the Entity



293
294
295
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 293

def identity
  @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



401
402
403
404
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 401

def inspect
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Authy.V1.ChallengeInstance #{values}>"
end

#responded_reasonchallenge.ChallengeReasons

Returns The Reason of this Challenge ‘status`.

Returns:

  • (challenge.ChallengeReasons)

    The Reason of this Challenge ‘status`



335
336
337
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 335

def responded_reason
  @properties['responded_reason']
end

#service_sidString

Returns Service Sid.

Returns:

  • (String)

    Service Sid.



281
282
283
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 281

def service_sid
  @properties['service_sid']
end

#sidString

Returns A string that uniquely identifies this Challenge.

Returns:

  • (String)

    A string that uniquely identifies this Challenge.



269
270
271
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 269

def sid
  @properties['sid']
end

#statuschallenge.ChallengeStatuses

Returns The Status of this Challenge.

Returns:

  • (challenge.ChallengeStatuses)

    The Status of this Challenge



329
330
331
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 329

def status
  @properties['status']
end

#to_sObject

Provide a user friendly representation



394
395
396
397
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 394

def to_s
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Authy.V1.ChallengeInstance #{values}>"
end

#update(auth_payload: :unset) ⇒ ChallengeInstance

Update the ChallengeInstance

Parameters:

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

    The optional payload needed to verify the Challenge. E.g., a TOTP would use the numeric code.

Returns:



388
389
390
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 388

def update(auth_payload: :unset)
  context.update(auth_payload: auth_payload, )
end

#urlString

Returns The URL of this resource.

Returns:

  • (String)

    The URL of this resource.



365
366
367
# File 'lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb', line 365

def url
  @properties['url']
end