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:



3044
3045
3046
3047
3048
3049
# File 'lib/infrawrench/client.rb', line 3044

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:



3036
3037
3038
# File 'lib/infrawrench/client.rb', line 3036

def email_change
  @email_change
end

#mfaProfileMfaNamespace (readonly)

Returns client.profile.mfa.

Returns:



3038
3039
3040
# File 'lib/infrawrench/client.rb', line 3038

def mfa
  @mfa
end

#sessionsProfileSessionsNamespace (readonly)

Returns client.profile.sessions.

Returns:



3040
3041
3042
# File 'lib/infrawrench/client.rb', line 3040

def sessions
  @sessions
end

Instance Method Details

#delete(request_options: nil) ⇒ Hash

Delete the signed-in user's account

Irreversible. Organizations where the caller is the only member are deleted and their subscriptions cancelled; other memberships are simply removed. Refuses with transfer_ownership_required while the caller is the only owner of an organization other people belong to.

DELETE /api/profile

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.

Raises on 409: The caller still solely owns a shared organization; nothing was deleted.

Raises on 502: A subscription could not be cancelled; nothing was deleted.

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 AccountDeleted — see sig/infrawrench/sdk.rbs.

Raises:



3073
3074
3075
3076
3077
3078
3079
# File 'lib/infrawrench/client.rb', line 3073

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

#deletion_preview(request_options: nil) ⇒ Hash

What deleting this account would do

Read-only. Lets a confirmation screen name the organizations that go with the account, and the ones that must be handed over first.

GET /api/profile/deletion-preview

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 AccountDeletionPreview — see sig/infrawrench/sdk.rbs.

Raises:



3094
3095
3096
3097
3098
3099
3100
# File 'lib/infrawrench/client.rb', line 3094

def deletion_preview(request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/profile/deletion-preview",
    request_options: request_options
  )
end

#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:



3114
3115
3116
3117
3118
3119
3120
# File 'lib/infrawrench/client.rb', line 3114

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:



3138
3139
3140
3141
3142
3143
3144
# File 'lib/infrawrench/client.rb', line 3138

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:



3157
3158
3159
3160
3161
3162
3163
# File 'lib/infrawrench/client.rb', line 3157

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:



3177
3178
3179
3180
3181
3182
3183
3184
# File 'lib/infrawrench/client.rb', line 3177

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