Class: PowerBI::Admin
- Inherits:
-
Object
- Object
- PowerBI::Admin
- Defined in:
- lib/power-bi/admin.rb
Instance Method Summary collapse
- #force_delete_workspace_by_workspace_id(user_email, workspace_id) ⇒ Object
- #force_delete_workspace_by_workspace_name(user_email, workspace_name) ⇒ Object
- #get_user_artifact_access(user_id, artifact_types: nil) ⇒ Object
- #get_workspaces(filter: nil, expand: nil) ⇒ Object
-
#initialize(tenant) ⇒ Admin
constructor
A new instance of Admin.
Constructor Details
#initialize(tenant) ⇒ Admin
Returns a new instance of Admin.
4 5 6 |
# File 'lib/power-bi/admin.rb', line 4 def initialize(tenant) @tenant = tenant end |
Instance Method Details
#force_delete_workspace_by_workspace_id(user_email, workspace_id) ⇒ Object
46 47 48 49 |
# File 'lib/power-bi/admin.rb', line 46 def force_delete_workspace_by_workspace_id(user_email, workspace_id) add_user(user_email, workspace_id, access_right: "Admin") @tenant.workspace(workspace_id).delete end |
#force_delete_workspace_by_workspace_name(user_email, workspace_name) ⇒ Object
40 41 42 43 44 |
# File 'lib/power-bi/admin.rb', line 40 def force_delete_workspace_by_workspace_name(user_email, workspace_name) workspace = get_workspaces(filter: "name eq '#{workspace_name}' and state eq 'Active'").first add_user(user_email, workspace[:id], access_right: "Admin") @tenant.workspace(workspace[:id]).delete end |
#get_user_artifact_access(user_id, artifact_types: nil) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/power-bi/admin.rb', line 8 def get_user_artifact_access(user_id, artifact_types: nil) if artifact_types params = {artifactTypes: artifact_types.join(',')} else params = {} end url = "/admin/users/#{user_id}/artifactAccess" resp = @tenant.get(url, params) data = resp[:ArtifactAccessEntities] continuation_token = resp[:continuationToken] while continuation_token params = {continuationToken: "'#{continuation_token}'"} resp = @tenant.get(url, params) data += resp[:ArtifactAccessEntities] continuation_token = resp[:continuationToken] ? URI::decode_uri_component(resp[:continuationToken]) : nil end data end |
#get_workspaces(filter: nil, expand: nil) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/power-bi/admin.rb', line 32 def get_workspaces(filter: nil, expand: nil) base_params = {} base_params[:$filter] = filter if filter base_params[:$expand] = if @tenant.get_paginated('/admin/groups', base_params: base_params) end |