Class: Cadenya::Resources::WidgetSessions
- Inherits:
-
Object
- Object
- Cadenya::Resources::WidgetSessions
- Defined in:
- lib/cadenya/resources/widget_sessions.rb
Instance Method Summary collapse
-
#create(spec:, workspace_id: nil, metadata: nil, secrets: nil, request_options: nil) ⇒ Object
Create a widget session.
-
#delete(id, workspace_id: nil, request_options: nil) ⇒ Object
Delete a widget session.
-
#delete_tenant(workspace_id: nil, tenant_id: nil, request_options: nil) ⇒ Object
Delete all of a tenant's widget sessions.
-
#initialize(core) ⇒ WidgetSessions
constructor
A new instance of WidgetSessions.
-
#list(workspace_id: nil, limit: nil, cursor: nil, widget_id: nil, tenant_id: nil, subject_id: nil, state: nil, labels: nil, sort_order: nil, include_info: nil, request_options: nil) ⇒ Object
List widget sessions.
-
#retrieve(id, workspace_id: nil, request_options: nil) ⇒ Object
Get a widget session by ID.
-
#revoke(id, workspace_id: nil, request_options: nil) ⇒ Object
Revoke a widget session.
Constructor Details
#initialize(core) ⇒ WidgetSessions
Returns a new instance of WidgetSessions.
8 9 10 |
# File 'lib/cadenya/resources/widget_sessions.rb', line 8 def initialize(core) @core = core end |
Instance Method Details
#create(spec:, workspace_id: nil, metadata: nil, secrets: nil, request_options: nil) ⇒ Object
Create a widget session
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/cadenya/resources/widget_sessions.rb', line 36 def create(spec:, workspace_id: nil, metadata: nil, secrets: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/widget_sessions" _body = { "metadata" => .nil? ? nil : (->(_v) { Types.encode_CreateOperationMetadata(_v) }).call(), "spec" => spec.nil? ? nil : (->(_v) { Types.encode_WidgetSessionSpec(_v) }).call(spec), "secrets" => secrets.nil? ? nil : (->(_v) { _v.is_a?(Array) ? _v.map { |_i| (->(_v) { Types.encode_CreateWidgetSessionRequest_Secret(_v) }).call(_i) } : _v }).call(secrets), }.reject { |_k, v| v.nil? } _data = @core.request(:post, _path, body: _body, request_options: ) Types::WidgetSession.from_json(_data) end |
#delete(id, workspace_id: nil, request_options: nil) ⇒ Object
Delete a widget session
68 69 70 71 72 73 |
# File 'lib/cadenya/resources/widget_sessions.rb', line 68 def delete(id, workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/widget_sessions/#{Util.path_param('id', id)}" @core.request(:delete, _path, expects_body: false, request_options: ) nil end |
#delete_tenant(workspace_id: nil, tenant_id: nil, request_options: nil) ⇒ Object
Delete all of a tenant's widget sessions
49 50 51 52 53 54 55 56 57 |
# File 'lib/cadenya/resources/widget_sessions.rb', line 49 def delete_tenant(workspace_id: nil, tenant_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/widget_sessions" _query = { "tenantId" => tenant_id, } _data = @core.request(:delete, _path, query: _query, request_options: ) Types::DeleteTenantWidgetSessionsResponse.from_json(_data) end |
#list(workspace_id: nil, limit: nil, cursor: nil, widget_id: nil, tenant_id: nil, subject_id: nil, state: nil, labels: nil, sort_order: nil, include_info: nil, request_options: nil) ⇒ Object
List widget sessions
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/cadenya/resources/widget_sessions.rb', line 13 def list(workspace_id: nil, limit: nil, cursor: nil, widget_id: nil, tenant_id: nil, subject_id: nil, state: nil, labels: nil, sort_order: nil, include_info: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/widget_sessions" _query = { "limit" => limit, "cursor" => cursor, "widgetId" => , "tenantId" => tenant_id, "subjectId" => subject_id, "state" => state, "labels" => labels, "sortOrder" => sort_order, "includeInfo" => include_info, } _data = @core.request(:get, _path, query: _query, request_options: ) || {} _items = (_data["items"] || []).map { |item| Types::WidgetSession.from_json(item) } _next_cursor = (((_data)["pagination"] || {}))["nextCursor"].to_s Page.new(_items, _next_cursor) do |_c| list(workspace_id: workspace_id, limit: limit, cursor: _c, widget_id: , tenant_id: tenant_id, subject_id: subject_id, state: state, labels: labels, sort_order: sort_order, include_info: include_info, request_options: ) end end |
#retrieve(id, workspace_id: nil, request_options: nil) ⇒ Object
Get a widget session by ID
60 61 62 63 64 65 |
# File 'lib/cadenya/resources/widget_sessions.rb', line 60 def retrieve(id, workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/widget_sessions/#{Util.path_param('id', id)}" _data = @core.request(:get, _path, request_options: ) Types::WidgetSession.from_json(_data) end |
#revoke(id, workspace_id: nil, request_options: nil) ⇒ Object
Revoke a widget session
76 77 78 79 80 81 |
# File 'lib/cadenya/resources/widget_sessions.rb', line 76 def revoke(id, workspace_id: nil, request_options: nil) workspace_id = @core.resolve_default("workspaceId", "CADENYA_WORKSPACE_ID", workspace_id) _path = "/v1/workspaces/#{Util.path_param('workspaceId', workspace_id)}/widget_sessions/#{Util.path_param('id', id)}:revoke" _data = @core.request(:post, _path, request_options: ) Types::WidgetSession.from_json(_data) end |