sharepoint_api 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d375981d2a55b77a670835c5c1af3f72226c219c41fdf41ecc0acd97f130a625
4
- data.tar.gz: fbc8130aed3705b7d69355de908cc97470303d7437233a635fe270c09d8086b1
3
+ metadata.gz: 5c05bcfa82a6db67d9f534913826d123879b36617cf08414f324397882847848
4
+ data.tar.gz: 5002313d37f643cb89780d5fdb22dee5804e7366ba46f50f5b938fb1976a5db9
5
5
  SHA512:
6
- metadata.gz: 45750dcb71e8bcad6bdd11d670df8522205693fe7c08708090782e9ddb5e9c9a6f0d30b152728c9d02951619f47f8a99b296992cc64c6cd1110618c618a86b89
7
- data.tar.gz: 1d3e0c1da95ecced3228a583552c2900a8f91ff8fb93f46b6363cbfa983fa1fa86ee527f44f14774c1b9db13c314e9b9b0f8ae7901668ed6a78129e89e1d97a9
6
+ metadata.gz: 9b7867fdb75d7afee66c3d23660dc600ffa2227a33a7da16f15a45ae9d3019b7ff7ec7ab3ec5604f5a30b17f3878df2fc7cb30f6ff2da95c5b14fb520042b5b9
7
+ data.tar.gz: a0a4201b08b3eb6c1c3713a92ecdfefe0413ffcd0372eca2f3e8a4bd4e5f039cbf12f7e5b5aedc555dd83bc599d67543f9fc5acb26b4e8bc2fbb278a74984349
@@ -1,5 +1,8 @@
1
- ## [1.0.0] - 2020-12-07
2
- * Initial Release
1
+ ## [1.0.2] - 2021-01-04
2
+ * Handle edge case where FileInfo file/file version refers to a user that no longer exists.
3
3
 
4
4
  ## [1.0.1] - 2020-12-14
5
- * Added new method called fetch_role_assignments => allows a user to get all the current role assignments on a SharePoint folder
5
+ * Added new method called fetch_role_assignments => allows a user to get all the current role assignments on a SharePoint folder
6
+
7
+ ## [1.0.0] - 2020-12-07
8
+ * Initial Release
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sharepoint_api (1.0.0)
4
+ sharepoint_api (1.0.2)
5
5
  addressable (~> 2.7)
6
6
  proof-sharepoint-ruby (~> 1.0)
7
7
 
@@ -31,7 +31,7 @@ class SharepointApi
31
31
  version_id,
32
32
  created_at: updated_at,
33
33
  current: true,
34
- creator_login: file.modified_by.login_name
34
+ creator_login: file.modified_by&.login_name
35
35
  )
36
36
 
37
37
  return @all_versions unless version > 1
@@ -41,7 +41,7 @@ class SharepointApi
41
41
  file_version.id,
42
42
  created_at: Time.parse(file_version.created),
43
43
  current: file_version.is_current_version,
44
- creator_login: file_version.creator.login_name
44
+ creator_login: file_version.creator&.login_name
45
45
  )
46
46
  end
47
47
 
@@ -97,14 +97,19 @@ class SharepointApi
97
97
  false
98
98
  end
99
99
 
100
- def fetch_role_assignments(path)
100
+ def fetch_role_assignments(path, principal_id: nil)
101
101
  server_path = server_relative_path(path)
102
102
  list_item_path = "GetFolderByServerRelativeUrl('#{server_path}')/ListItemAllFields"
103
103
  query = '$expand=Member,RoleDefinitionBindings&$select=RoleDefinitionBindings/Name&$select=RoleDefinitionBindings/Id,PrincipalId,Member/LoginName'
104
104
 
105
+ unless principal_id.nil?
106
+ principal_filter = encode_path("PrincipalId eq #{principal_id}")
107
+ query += "&$filter=#{principal_filter}"
108
+ end
109
+
105
110
  response = site.query(:get, "#{list_item_path}/RoleAssignments?#{query}")
106
111
 
107
- response.map do |assignment|
112
+ formatted = response.map do |assignment|
108
113
  data = assignment.data
109
114
 
110
115
  current_roles = data['RoleDefinitionBindings']['results'].map { |rdb| { role_id: rdb['Id'], role_name: rdb['Name'] } }
@@ -115,6 +120,8 @@ class SharepointApi
115
120
  roles: current_roles
116
121
  }
117
122
  end
123
+
124
+ principal_id.nil? ? formatted : formatted.first
118
125
  rescue Sharepoint::SPException => e
119
126
  log_as(__method__, e)
120
127
  false
@@ -1,3 +1,3 @@
1
1
  class SharepointApi
2
- VERSION = '1.0.1'.freeze
2
+ VERSION = '1.0.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sharepoint_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kalek
8
8
  - Marlen Brunner
9
9
  - Danella Olsen
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2020-12-14 00:00:00.000000000 Z
13
+ date: 2021-01-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: proof-sharepoint-ruby
@@ -80,7 +80,7 @@ metadata:
80
80
  homepage_uri: https://github.com/proofgov/sharepoint_api
81
81
  source_code_uri: https://github.com/proofgov/sharepoint_api
82
82
  changelog_uri: https://github.com/proofgov/sharepoint_api/blob/master/CHANGELOG.md
83
- post_install_message:
83
+ post_install_message:
84
84
  rdoc_options: []
85
85
  require_paths:
86
86
  - lib
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  version: '0'
97
97
  requirements: []
98
98
  rubygems_version: 3.0.3
99
- signing_key:
99
+ signing_key:
100
100
  specification_version: 4
101
101
  summary: SharepointApi allows you to interact with sharepoint in a simpler DSL.
102
102
  test_files: []