Class: Infrawrench::ProfileNamespace

Inherits:
Object
  • Object
show all
Defined in:
lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs

Overview

client.profile

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ ProfileNamespace

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of ProfileNamespace.

Parameters:



2458
2459
2460
2461
2462
2463
# File 'lib/infrawrench/client.rb', line 2458

def initialize(transport)
  @transport = transport
  @email_change = ProfileEmailChangeNamespace.new(@transport)
  @mfa = ProfileMfaNamespace.new(@transport)
  @sessions = ProfileSessionsNamespace.new(@transport)
end

Instance Attribute Details

#email_changeProfileEmailChangeNamespace (readonly)

Returns client.profile.email_change.

Returns:



2450
2451
2452
# File 'lib/infrawrench/client.rb', line 2450

def email_change
  @email_change
end

#mfaProfileMfaNamespace (readonly)

Returns client.profile.mfa.

Returns:



2452
2453
2454
# File 'lib/infrawrench/client.rb', line 2452

def mfa
  @mfa
end

#sessionsProfileSessionsNamespace (readonly)

Returns client.profile.sessions.

Returns:



2454
2455
2456
# File 'lib/infrawrench/client.rb', line 2454

def sessions
  @sessions
end

Instance Method Details

#get(request_options: nil) ⇒ Hash

The signed-in user's account profile

User-scoped, not organization-scoped: one WorkOS identity is shared across every organization the user belongs to.

GET /api/profile

Raises on 401: Unauthenticated

Parameters:

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as Profile — see sig/infrawrench/sdk.rbs.

Raises:



2477
2478
2479
2480
2481
2482
2483
# File 'lib/infrawrench/client.rb', line 2477

def get(request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/profile",
    request_options: request_options
  )
end

#password_reset(request_options: nil) ⇒ Hash

Mint a password reset link for the signed-in user

Returns a one-time AuthKit-hosted reset URL rather than emailing it — the caller already holds a valid session for the account. Also the way to set a first password on an SSO or OAuth-only account.

POST /api/profile/password-reset

Raises on 401: Unauthenticated

Raises on 403: Recent sign-in required. Send the user through sign-in again and retry; the request itself was well-formed.

Parameters:

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as Hash — see sig/infrawrench/sdk.rbs.

Raises:



2501
2502
2503
2504
2505
2506
2507
# File 'lib/infrawrench/client.rb', line 2501

def password_reset(request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/profile/password-reset",
    request_options: request_options
  )
end

#send_verification_email(request_options: nil) ⇒ Hash

Re-send the email verification message

POST /api/profile/send-verification-email

Raises on 400: Bad request

Raises on 401: Unauthenticated

Parameters:

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as Ok — see sig/infrawrench/sdk.rbs.

Raises:



2520
2521
2522
2523
2524
2525
2526
# File 'lib/infrawrench/client.rb', line 2520

def send_verification_email(request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/profile/send-verification-email",
    request_options: request_options
  )
end

#update(body: nil, request_options: nil) ⇒ Hash

Update the signed-in user's name

PATCH /api/profile

Raises on 400: Bad request

Raises on 401: Unauthenticated

Parameters:

  • body (Hash, nil) (defaults to: nil)

    Request body, shaped as Hash.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • body: ({ ?"firstName" => String, ?"lastName" => String }, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as ProfileSummary — see sig/infrawrench/sdk.rbs.

Raises:



2540
2541
2542
2543
2544
2545
2546
2547
# File 'lib/infrawrench/client.rb', line 2540

def update(body: nil, request_options: nil)
  @transport.request(
    http_method: "PATCH",
    path: "/api/profile",
    body: body,
    request_options: request_options
  )
end