Class: Melaya::ConnectorsAPI
- Inherits:
-
Object
- Object
- Melaya::ConnectorsAPI
- Defined in:
- lib/melaya/connectors.rb
Overview
Project Connectors API — manage credentials at project scope.
Project-scoped connectors are isolated per project, letting separate projects use different API keys for the same service.
Maps to /api/v1/private/projects/:project/connectors/*.
Instance Method Summary collapse
-
#connected_services(project) ⇒ Object
GET /api/v1/private/projects/:project/connectors/services List connected services for a project.
-
#delete(project, service) ⇒ Object
DELETE /api/v1/private/projects/:project/connectors/:service Delete a project-scoped connector credential.
-
#env_handle(project) ⇒ Object
POST /api/v1/private/projects/:project/connectors/env-handle Get a short-lived env-handle token for project-scoped credentials.
-
#google_oauth_start(project, body = {}) ⇒ Object
POST /api/v1/private/projects/:project/connectors/google/oauth Start Google OAuth flow for project-scoped connector.
-
#initialize(http) ⇒ ConnectorsAPI
constructor
A new instance of ConnectorsAPI.
-
#set(project, service, value:, key: nil, label: nil) ⇒ Object
PUT /api/v1/private/projects/:project/connectors/:service Store a connector credential at project scope.
Constructor Details
#initialize(http) ⇒ ConnectorsAPI
Returns a new instance of ConnectorsAPI.
15 16 17 |
# File 'lib/melaya/connectors.rb', line 15 def initialize(http) @http = http end |
Instance Method Details
#connected_services(project) ⇒ Object
GET /api/v1/private/projects/:project/connectors/services List connected services for a project.
22 23 24 |
# File 'lib/melaya/connectors.rb', line 22 def connected_services(project) @http.get("/api/v1/private/projects/#{enc(project)}/connectors/services") end |
#delete(project, service) ⇒ Object
DELETE /api/v1/private/projects/:project/connectors/:service Delete a project-scoped connector credential.
42 43 44 |
# File 'lib/melaya/connectors.rb', line 42 def delete(project, service) @http.delete("/api/v1/private/projects/#{enc(project)}/connectors/#{enc(service)}") end |
#env_handle(project) ⇒ Object
POST /api/v1/private/projects/:project/connectors/env-handle Get a short-lived env-handle token for project-scoped credentials.
49 50 51 |
# File 'lib/melaya/connectors.rb', line 49 def env_handle(project) @http.post("/api/v1/private/projects/#{enc(project)}/connectors/env-handle") end |
#google_oauth_start(project, body = {}) ⇒ Object
POST /api/v1/private/projects/:project/connectors/google/oauth Start Google OAuth flow for project-scoped connector.
57 58 59 |
# File 'lib/melaya/connectors.rb', line 57 def google_oauth_start(project, body = {}) @http.post("/api/v1/private/projects/#{enc(project)}/connectors/google/oauth", body) end |
#set(project, service, value:, key: nil, label: nil) ⇒ Object
PUT /api/v1/private/projects/:project/connectors/:service Store a connector credential at project scope.
33 34 35 36 |
# File 'lib/melaya/connectors.rb', line 33 def set(project, service, value:, key: nil, label: nil) body = compact("value" => value, "key" => key, "label" => label) @http.put("/api/v1/private/projects/#{enc(project)}/connectors/#{enc(service)}", body) end |