Class: Dinie::Resources::Credentials

Inherits:
Object
  • Object
show all
Defined in:
lib/dinie/generated/resources/credentials.rb,
sig/dinie/generated/resources/credentials.rbs

Overview

Operations on the credentials resource.

Constant Summary collapse

CREDENTIALS_PATH =

Returns:

  • (String)

Instance Method Summary collapse

Constructor Details

#initialize(http) ⇒ Credentials

Returns a new instance of Credentials.

Parameters:



10
11
12
# File 'lib/dinie/generated/resources/credentials.rb', line 10

def initialize(http)
  @http = http
end

Instance Method Details

#create(request_options: {}, **fields) ⇒ Dinie::CredentialWithSecret

Create an API credential (POST /auth/credentials) → the only secret-bearing response.

Parameters:

  • request_options: (request_opts) (defaults to: {})
  • fields (Object)

Returns:



21
22
23
24
25
# File 'lib/dinie/generated/resources/credentials.rb', line 21

def create(request_options: {}, **fields)
  body = Credential.serialize_create(**fields)
  raw = @http.request(method: :post, path: "/auth/credentials", body:, request_options:)
  CredentialWithSecret.deserialize(raw)
end

#list(limit: Internal::OMIT, starting_after: Internal::OMIT, request_options: {}) ⇒ Dinie::Page[Dinie::Credential]

List API credentials (GET /auth/credentials), auto-paginating by starting_after.

Parameters:

  • limit: (Integer) (defaults to: Internal::OMIT)
  • starting_after: (String) (defaults to: Internal::OMIT)
  • request_options: (request_opts) (defaults to: {})

Returns:



33
34
35
36
37
38
39
40
41
# File 'lib/dinie/generated/resources/credentials.rb', line 33

def list(limit: Internal::OMIT, starting_after: Internal::OMIT, request_options: {})
  fetch_page = lambda do |cursor|
    query = { limit:, starting_after: cursor || starting_after }
            .reject { |_key, value| Internal.omitted?(value) }
    body = @http.request(method: :get, path: "/auth/credentials", query:, request_options:)
    { data: body[:data].map { |raw| Credential.deserialize(raw) }, has_more: body[:has_more] }
  end
  Dinie::Page.from_fetch(fetch_page)
end

#revoke(client_id, request_options: {}) ⇒ nil

Revoke an API credential (DELETE /auth/credentials/{client_id} → 204).

Parameters:

  • client_id (String)
  • request_options: (request_opts) (defaults to: {})

Returns:

  • (nil)


50
51
52
53
# File 'lib/dinie/generated/resources/credentials.rb', line 50

def revoke(client_id, request_options: {})
  @http.request(method: :delete, path: "/auth/credentials/#{client_id}", request_options:)
  nil
end