Class: Cadenya::Resources::Widgets
- Inherits:
-
Object
- Object
- Cadenya::Resources::Widgets
- Defined in:
- lib/cadenya/resources/widgets.rb,
sig/cadenya/resources/widgets.rbs
Overview
Manage embeddable chat widgets. A widget binds an agent to a globally unique hostname with a per-widget origin allowlist; browsers reach it with session tokens minted via WidgetSessionService.
Instance Method Summary collapse
-
#archive(id, workspace_id: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetArchiveParams for more details.
-
#create(metadata:, spec:, workspace_id: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetCreateParams for more details.
-
#delete(id, workspace_id: nil, request_options: {}) ⇒ nil
Some parameter documentations has been truncated, see Models::WidgetDeleteParams for more details.
-
#initialize(client:) ⇒ Widgets
constructor
private
A new instance of Widgets.
-
#list(workspace_id: nil, agent_id: nil, cursor: nil, include_info: nil, labels: nil, limit: nil, sort_order: nil, request_options: {}) ⇒ Cadenya::Internal::CursorPagination<Cadenya::Models::Widget>
Some parameter documentations has been truncated, see Models::WidgetListParams for more details.
-
#retrieve(id, workspace_id: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetRetrieveParams for more details.
-
#unarchive(id, workspace_id: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetUnarchiveParams for more details.
-
#update(id, workspace_id: nil, metadata: nil, spec: nil, update_mask: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetUpdateParams for more details.
Constructor Details
#initialize(client:) ⇒ Widgets
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 Widgets.
257 258 259 |
# File 'lib/cadenya/resources/widgets.rb', line 257 def initialize(client:) @client = client end |
Instance Method Details
#archive(id, workspace_id: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetArchiveParams for more details.
Transitions a widget to STATE_ARCHIVED. The hostname stops serving at the edge, existing sessions are revoked, and no new sessions can be minted. Reversible via :unarchive.
209 210 211 212 213 214 215 216 217 218 219 220 221 |
# File 'lib/cadenya/resources/widgets.rb', line 209 def archive(id, params = {}) parsed, = Cadenya::WidgetArchiveParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do @client.workspace_id end @client.request( method: :post, path: ["v1/workspaces/%1$s/widgets/%2$s:archive", workspace_id, id], model: Cadenya::Widget, options: ) end |
#create(metadata:, spec:, workspace_id: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetCreateParams for more details.
Creates a widget bound to an agent. The widget's DNS label and hostname are
generated by the server and returned in info. The hostname may take up to a
minute to become reachable while the edge propagates.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/cadenya/resources/widgets.rb', line 29 def create(params) parsed, = Cadenya::WidgetCreateParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do @client.workspace_id end @client.request( method: :post, path: ["v1/workspaces/%1$s/widgets", workspace_id], body: parsed, model: Cadenya::Widget, options: ) end |
#delete(id, workspace_id: nil, request_options: {}) ⇒ nil
Some parameter documentations has been truncated, see Models::WidgetDeleteParams for more details.
Deletes a widget. Its hostname stops serving and all of its sessions are revoked.
177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/cadenya/resources/widgets.rb', line 177 def delete(id, params = {}) parsed, = Cadenya::WidgetDeleteParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do @client.workspace_id end @client.request( method: :delete, path: ["v1/workspaces/%1$s/widgets/%2$s", workspace_id, id], model: NilClass, options: ) end |
#list(workspace_id: nil, agent_id: nil, cursor: nil, include_info: nil, labels: nil, limit: nil, sort_order: nil, request_options: {}) ⇒ Cadenya::Internal::CursorPagination<Cadenya::Models::Widget>
Some parameter documentations has been truncated, see Models::WidgetListParams for more details.
Lists all widgets in a workspace
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/cadenya/resources/widgets.rb', line 139 def list(params = {}) parsed, = Cadenya::WidgetListParams.dump_request(params) query = Cadenya::Internal::Util.encode_query_params(parsed) workspace_id = parsed.delete(:workspace_id) do @client.workspace_id end @client.request( method: :get, path: ["v1/workspaces/%1$s/widgets", workspace_id], query: query.transform_keys( agent_id: "agentId", include_info: "includeInfo", sort_order: "sortOrder" ), page: Cadenya::Internal::CursorPagination, model: Cadenya::Widget, options: ) end |
#retrieve(id, workspace_id: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetRetrieveParams for more details.
Retrieves a widget by ID
60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/cadenya/resources/widgets.rb', line 60 def retrieve(id, params = {}) parsed, = Cadenya::WidgetRetrieveParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do @client.workspace_id end @client.request( method: :get, path: ["v1/workspaces/%1$s/widgets/%2$s", workspace_id, id], model: Cadenya::Widget, options: ) end |
#unarchive(id, workspace_id: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetUnarchiveParams for more details.
Transitions an archived widget back to STATE_ACTIVE so its hostname serves traffic again. Sessions revoked by archival stay revoked; mint new ones.
240 241 242 243 244 245 246 247 248 249 250 251 252 |
# File 'lib/cadenya/resources/widgets.rb', line 240 def unarchive(id, params = {}) parsed, = Cadenya::WidgetUnarchiveParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do @client.workspace_id end @client.request( method: :post, path: ["v1/workspaces/%1$s/widgets/%2$s:unarchive", workspace_id, id], model: Cadenya::Widget, options: ) end |
#update(id, workspace_id: nil, metadata: nil, spec: nil, update_mask: nil, request_options: {}) ⇒ Cadenya::Models::Widget
Some parameter documentations has been truncated, see Models::WidgetUpdateParams for more details.
Updates a widget's metadata or spec. The DNS label is immutable and cannot be updated. Re-pointing the agent affects new sessions only; in-flight conversations finish against the agent they started with.
98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/cadenya/resources/widgets.rb', line 98 def update(id, params = {}) parsed, = Cadenya::WidgetUpdateParams.dump_request(params) workspace_id = parsed.delete(:workspace_id) do @client.workspace_id end @client.request( method: :patch, path: ["v1/workspaces/%1$s/widgets/%2$s", workspace_id, id], body: parsed, model: Cadenya::Widget, options: ) end |