power-bi 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97631e0f44964ce0b4d23675e5a023ff203456d7881fea9a2f425441ac4ede8c
4
- data.tar.gz: 86c3f858e9c34ec5bebd67659f803a60d2303037ddb9f7ffd9e2eb3af13624eb
3
+ metadata.gz: 61e60749c7e0da1010f9404770158dd257c2e4ea7bef82a6a97457dd85f8b7b8
4
+ data.tar.gz: 017767f4e263817f1d0fec40f56869a5191bd1778d53ef383c2b7f97869b0068
5
5
  SHA512:
6
- metadata.gz: c07b1a99e33190aa95e9cc4f4131a2cf9a7f875d2143b806e9e01fe0e1af1866dbd8785aea00f2d46765237431822d5814ff563c13cc9d4bc86ded7173b68798
7
- data.tar.gz: dc17f34a6ba983869a2e2e48ee90de87a8c2f1f55982e40fa1f323e6e83e6e71cf119b32fdb2a2a0c658d89adb4933b5d89649eef1435e50b0233d2e95254c70
6
+ metadata.gz: b9e2c7483672138a160dfcca55ab7422c20ee3bb01499d959f2fde71cafff5b208acf8deb5dbbe3e80866f937b4a08bf99b653a9f35a120c3c56bad257c72e8a
7
+ data.tar.gz: cccd0a870109d01e4db575487c402172144b9d0b928b9e62459c3a36cca5b4f09b3f5ac7274c187b7e9ea73b2aaad5bc6890d4411ad74aa61bb8124b5514e8f3
@@ -40,6 +40,11 @@ module PowerBI
40
40
  true
41
41
  end
42
42
 
43
+ def delete
44
+ @tenant.delete("/groups/#{workspace.id}/datasets/#{id}")
45
+ true
46
+ end
47
+
43
48
  end
44
49
 
45
50
  class DatasetArray < Array
@@ -27,6 +27,15 @@ module PowerBI
27
27
  Report.new(@tenant, data)
28
28
  end
29
29
 
30
+ def rebind(target_dataset)
31
+ @tenant.post("/groups/#{workspace.id}/reports/#{id}/Rebind") do |req|
32
+ req.body = {
33
+ datasetId: target_dataset.id
34
+ }.to_json
35
+ end
36
+ true
37
+ end
38
+
30
39
  end
31
40
 
32
41
  class ReportArray < Array
@@ -38,6 +38,21 @@ module PowerBI
38
38
  end
39
39
  end
40
40
 
41
+ def delete(url, params = {})
42
+ response = Faraday.delete(PowerBI::BASE_URL + url) do |req|
43
+ req.params = params
44
+ req.headers['Accept'] = 'application/json'
45
+ req.headers['authorization'] = "Bearer #{token}"
46
+ yield req if block_given?
47
+ end
48
+ unless [200, 202].include? response.status
49
+ raise APIError.new("Error calling Power BI API (status #{response.status}): #{response.body}")
50
+ end
51
+ unless response.body.empty?
52
+ JSON.parse(response.body, symbolize_names: true)
53
+ end
54
+ end
55
+
41
56
  def post_file(url, file, params = {})
42
57
  conn = Faraday.new do |f|
43
58
  f.request :multipart
@@ -31,6 +31,17 @@ module PowerBI
31
31
  true
32
32
  end
33
33
 
34
+ # TODO LATER: the 'Viewer' acces right is currently not settable throught the API. Fix that later
35
+ def add_user(email_address, access_right = 'Member')
36
+ @tenant.post("/groups/#{id}/users") do |req|
37
+ req.body = {
38
+ emailAddress: email_address,
39
+ groupUserAccessRight: access_right
40
+ }.to_json
41
+ end
42
+ true
43
+ end
44
+
34
45
  end
35
46
 
36
47
  class WorkspaceArray < Array
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: power-bi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lode Cools