Class: Spatio::RealtimeApi
- Inherits:
-
Object
- Object
- Spatio::RealtimeApi
- Defined in:
- lib/spatio-sdk/api/realtime_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#initialize(api_client = ApiClient.default) ⇒ RealtimeApi
constructor
A new instance of RealtimeApi.
-
#issue_collaboration_token(opts = {}) ⇒ IssueCollaborationToken200Response
Exchange a bearer token for a short-lived Yjs collaboration JWT.
-
#issue_collaboration_token_with_http_info(opts = {}) ⇒ Array<(IssueCollaborationToken200Response, Integer, Hash)>
Exchange a bearer token for a short-lived Yjs collaboration JWT.
Constructor Details
#initialize(api_client = ApiClient.default) ⇒ RealtimeApi
Returns a new instance of RealtimeApi.
19 20 21 |
# File 'lib/spatio-sdk/api/realtime_api.rb', line 19 def initialize(api_client = ApiClient.default) @api_client = api_client end |
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
17 18 19 |
# File 'lib/spatio-sdk/api/realtime_api.rb', line 17 def api_client @api_client end |
Instance Method Details
#issue_collaboration_token(opts = {}) ⇒ IssueCollaborationToken200Response
Exchange a bearer token for a short-lived Yjs collaboration JWT. The Yjs Cloudflare Worker that powers live document collaboration (‘wss://realtime-collaboration.<account>.workers.dev`) only accepts platform-signed JWTs. Third-party clients holding an OAuth access token or PAT call this endpoint to mint a 5-minute collaboration JWT they can present to the worker. The minted JWT inherits user + workspace identity from the presenting bearer token. Optionally scope it to a single room by supplying `room` in the request body.
27 28 29 30 |
# File 'lib/spatio-sdk/api/realtime_api.rb', line 27 def issue_collaboration_token(opts = {}) data, _status_code, _headers = issue_collaboration_token_with_http_info(opts) data end |
#issue_collaboration_token_with_http_info(opts = {}) ⇒ Array<(IssueCollaborationToken200Response, Integer, Hash)>
Exchange a bearer token for a short-lived Yjs collaboration JWT. The Yjs Cloudflare Worker that powers live document collaboration (`wss://realtime-collaboration.<account>.workers.dev`) only accepts platform-signed JWTs. Third-party clients holding an OAuth access token or PAT call this endpoint to mint a 5-minute collaboration JWT they can present to the worker. The minted JWT inherits user + workspace identity from the presenting bearer token. Optionally scope it to a single room by supplying `room` in the request body.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/spatio-sdk/api/realtime_api.rb', line 37 def issue_collaboration_token_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: RealtimeApi.issue_collaboration_token ...' end # resource path local_var_path = '/v1/realtime/collaboration-token' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? header_params['Content-Type'] = content_type end # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'issue_collaboration_token_request']) # return_type return_type = opts[:debug_return_type] || 'IssueCollaborationToken200Response' # auth_names auth_names = opts[:debug_auth_names] || ['bearerAuth'] = opts.merge( :operation => :"RealtimeApi.issue_collaboration_token", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: RealtimeApi#issue_collaboration_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |