sharepoint_api 2.2.1 → 2.4.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: c6b07883d80dbfaf3b87f352c8df343b61b8b7ae2a02825725429ed0c5a47915
4
- data.tar.gz: 18fa74004691d59f173bc5c5e95718c51c1e1d237d5c14efe4e3b6c490e5b901
3
+ metadata.gz: 7b0468c9c48c45c143d22199451ebf11598b65c23a61452e37c166ece1c6dcf0
4
+ data.tar.gz: 42c4125f051082bba4fc2969b1ae8b1f725bbdb27b4a20f269ed764e1b81c6ec
5
5
  SHA512:
6
- metadata.gz: a9e176e297670491aca1a556f4c019f498e409637ca17c144b6a76cfd183c02c1de2d5b0359d24d1659381e4b7a62b506b96d023db8d91453a1b4af8726f5274
7
- data.tar.gz: eaf88cbd106de7ed5546861e55b74444d7db253e917b62fd317584048243c7db559bf9c6b6a05ddaabcfd822a98bd29542eadadda6866c9a7edfb50362dd6cba
6
+ metadata.gz: 03042c8ffb06e155793c8ee8139e6e32cc589ce412531c204605cd4b3ce5c735a0d8e3ff1efde4e6a737f8ababc0599cb2ba4a99adc7bc7934393440756baa88
7
+ data.tar.gz: 67fd794a361d597b7cf1b7a2e5e6a8c99b0e08a3620f9acb13a69f21cccdc4a54f28bc3832566136e0b8b88cf96412f7c5fe3ca0030c3ce8e3b31a474f28e6d5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [2.4.0] - 2023-11-14
2
+ * Include creator email when surfacing file version information (not just login_name)
3
+
4
+ ## [2.3.1] - 2021-11-02
5
+ * Add ability to rename groups
6
+
1
7
  ## [2.2.0] - 2021-07-06
2
8
  * Use $select queries to vastly speed up FileInfo#version lookup.
3
9
 
data/Gemfile.lock CHANGED
@@ -1,13 +1,20 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sharepoint_api (2.2.1)
4
+ sharepoint_api (2.4.0)
5
+ activesupport (~> 6)
5
6
  addressable (~> 2.7)
6
7
  proof-sharepoint-ruby (~> 2.0)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
10
11
  specs:
12
+ activesupport (6.1.7.6)
13
+ concurrent-ruby (~> 1.0, >= 1.0.2)
14
+ i18n (>= 1.6, < 2)
15
+ minitest (>= 5.1)
16
+ tzinfo (~> 2.0)
17
+ zeitwerk (~> 2.3)
11
18
  addressable (2.8.0)
12
19
  public_suffix (>= 2.0.2, < 5.0)
13
20
  ast (2.4.1)
@@ -42,6 +49,7 @@ GEM
42
49
  rb-inotify (~> 0.9, >= 0.9.10)
43
50
  lumberjack (1.2.8)
44
51
  method_source (1.0.0)
52
+ minitest (5.20.0)
45
53
  nenv (0.3.0)
46
54
  notiffany (0.1.3)
47
55
  nenv (~> 0.1)
@@ -100,7 +108,10 @@ GEM
100
108
  ruby-progressbar (1.10.1)
101
109
  shellany (0.0.1)
102
110
  thor (1.0.1)
111
+ tzinfo (2.0.6)
112
+ concurrent-ruby (~> 1.0)
103
113
  unicode-display_width (1.7.0)
114
+ zeitwerk (2.6.12)
104
115
 
105
116
  PLATFORMS
106
117
  ruby
@@ -120,4 +131,4 @@ DEPENDENCIES
120
131
  sharepoint_api!
121
132
 
122
133
  BUNDLED WITH
123
- 2.2.4
134
+ 2.2.29
@@ -1,4 +1,5 @@
1
1
  require_relative 'sharepoint_error'
2
+ require 'active_support/core_ext/object/try'
2
3
 
3
4
  class SharepointApi
4
5
  class FileInfo
@@ -8,11 +9,13 @@ class SharepointApi
8
9
  # Get all data required to build a FileInfo object without subsequent API calls.
9
10
  FILE_SELECT_QUERY_WITH_VERSIONS = begin
10
11
  sub_query = %w[
12
+ ModifiedBy/Email
11
13
  ModifiedBy/LoginName
12
14
  ListItemAllFields/Id
13
15
  Versions/Id
14
16
  Versions/Created
15
17
  Versions/IsCurrentVersion
18
+ Versions/CreatedBy/Email
16
19
  Versions/CreatedBy/LoginName
17
20
  Versions/Url
18
21
  ].join(',')
@@ -56,21 +59,25 @@ class SharepointApi
56
59
 
57
60
  @all_versions = []
58
61
 
62
+ modified_by = safe_modified_by(file)
59
63
  @all_versions << make_version_object(
60
64
  version_id,
61
65
  created_at: updated_at,
62
66
  current: true,
63
- creator_login: safe_modified_by(file)&.login_name
67
+ creator_login: modified_by.try(:login_name),
68
+ creator_email: modified_by.try(:email)
64
69
  )
65
70
 
66
71
  return @all_versions unless version > 1
67
72
 
68
73
  @all_versions += file.versions.map do |file_version|
74
+ created_by = safe_created_by(file_version)
69
75
  make_version_object(
70
76
  file_version.id,
71
77
  created_at: Time.parse(file_version.created),
72
78
  current: file_version.is_current_version,
73
- creator_login: safe_created_by(file_version)&.login_name
79
+ creator_login: created_by.try(:login_name),
80
+ creator_email: created_by.try(:email)
74
81
  )
75
82
  end
76
83
 
@@ -45,6 +45,22 @@ class SharepointApi
45
45
  false
46
46
  end
47
47
 
48
+ # to rename a sp group when the acronym changes
49
+ def rename_group(old_group_name, new_group_name)
50
+ escaped_group_name = encode_path(old_group_name)
51
+ site.query(:post, "SiteGroups/GetByName('#{escaped_group_name}')", {
52
+ '__metadata' => { 'type': 'SP.Group' },
53
+ 'Title' => new_group_name,
54
+ 'Description' => "Access Group for #{new_group_name}"
55
+ }.to_json) do |curl|
56
+ curl.headers['X-HTTP-Method'] = 'MERGE'
57
+ end
58
+ true
59
+ rescue Sharepoint::SPException => e
60
+ log_as(__method__, e)
61
+ false
62
+ end
63
+
48
64
  ##
49
65
  # This also removes any role definitions the groups is using.
50
66
  def remove_group(group_name)
@@ -1,3 +1,3 @@
1
1
  class SharepointApi
2
- VERSION = '2.2.1'.freeze
2
+ VERSION = '2.4.0'.freeze
3
3
  end
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
16
16
  spec.metadata['source_code_uri'] = 'https://github.com/proofgov/sharepoint_api'
17
17
  spec.metadata['changelog_uri'] = 'https://github.com/proofgov/sharepoint_api/blob/master/CHANGELOG.md'
18
18
 
19
+ spec.add_runtime_dependency('activesupport', '~> 6')
19
20
  spec.add_runtime_dependency('addressable', '~> 2.7')
20
21
  spec.add_runtime_dependency('proof-sharepoint-ruby', '~> 2.0')
21
22
 
metadata CHANGED
@@ -1,17 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sharepoint_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.4.0
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: bin
12
12
  cert_chain: []
13
- date: 2021-10-06 00:00:00.000000000 Z
13
+ date: 2023-11-14 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: activesupport
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '6'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '6'
15
29
  - !ruby/object:Gem::Dependency
16
30
  name: addressable
17
31
  requirement: !ruby/object:Gem::Requirement
@@ -85,7 +99,7 @@ metadata:
85
99
  homepage_uri: https://github.com/proofgov/sharepoint_api
86
100
  source_code_uri: https://github.com/proofgov/sharepoint_api
87
101
  changelog_uri: https://github.com/proofgov/sharepoint_api/blob/master/CHANGELOG.md
88
- post_install_message:
102
+ post_install_message:
89
103
  rdoc_options: []
90
104
  require_paths:
91
105
  - lib
@@ -100,8 +114,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
114
  - !ruby/object:Gem::Version
101
115
  version: '0'
102
116
  requirements: []
103
- rubygems_version: 3.2.4
104
- signing_key:
117
+ rubygems_version: 3.0.3.1
118
+ signing_key:
105
119
  specification_version: 4
106
120
  summary: SharepointApi allows you to interact with sharepoint in a simpler DSL.
107
121
  test_files: []