Class: Superset::GuestToken

Inherits:
Object
  • Object
show all
Includes:
Credential::EmbeddedUser
Defined in:
lib/superset/guest_token.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Credential::EmbeddedUser

#credentials

Constructor Details

#initialize(embedded_dashboard_id:, rls_clause: [], **additional_params) ⇒ GuestToken

Returns a new instance of GuestToken.



7
8
9
10
11
# File 'lib/superset/guest_token.rb', line 7

def initialize(embedded_dashboard_id:, rls_clause: [], **additional_params)
  @embedded_dashboard_id = embedded_dashboard_id
  @rls_clause = rls_clause
  @additional_params = additional_params
end

Instance Attribute Details

#additional_paramsObject

Returns the value of attribute additional_params.



5
6
7
# File 'lib/superset/guest_token.rb', line 5

def additional_params
  @additional_params
end

#embedded_dashboard_idObject

Returns the value of attribute embedded_dashboard_id.



5
6
7
# File 'lib/superset/guest_token.rb', line 5

def embedded_dashboard_id
  @embedded_dashboard_id
end

#rls_clauseObject

Returns the value of attribute rls_clause.



5
6
7
# File 'lib/superset/guest_token.rb', line 5

def rls_clause
  @rls_clause
end

Instance Method Details

#guest_tokenObject



13
14
15
16
# File 'lib/superset/guest_token.rb', line 13

def guest_token
  validate_params
  response_body['token']
end

#paramsObject



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/superset/guest_token.rb', line 18

def params
  {
    "resources": [
      {
        "id": embedded_dashboard_id.to_s,
        "type": "dashboard" }
    ],
    "rls": rls_clause, # Ex: [{ "clause": "publisher = 'Nintendo'" }]
    "user": current_user_params
  }.merge(additional_params)
end