sharepoint_api 1.0.1 → 1.0.2

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: 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: []