nexus-invision 1.2.1 → 1.3.0

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: 84cb775c68d8d61e0d2c4232f9f19e4ee3db33def570d56d5241252a2e72c706
4
- data.tar.gz: 21702dd257de979782fcf9e1c7a73b9fd0251e022b7017c1cd636d412ce59727
3
+ metadata.gz: 9dfc03f743220a4f2ae8fb6b2fd755c63e49ea095df92cf474412bc9990ccf0f
4
+ data.tar.gz: 2fe6a5cce6d8c3f85977e104c403fbb523f57be436bbe03e50987289d2bdaa59
5
5
  SHA512:
6
- metadata.gz: 5a59c3bff61f2a5970c5215be34c46182913e6537dc6819cb7081df1c3d334241e6dbda61afe2633caf786cd28a825474642122fd1d4fb8b6780a22fcb483bc6
7
- data.tar.gz: 362be209445d133b026690eabce58257cf14c0c1d61c3352f435094e45e0c0d47261a007652ef0c50e72eb24d44b4fc6f240def34e03c0c2648910dda6a8aed8
6
+ metadata.gz: cd77093c767ee079d39b39ca7afc108c2fb381ba0098d0d0268236ece92b0c1cd62bffec97210597704858f8a9f4c46ba70a7e454e426a1c7acfa1035da48c65
7
+ data.tar.gz: 68693f8c5081158012e7bc89ccbf0764909a60779404c4fff2da5c965d5f32b0ab1a31f6000fba256df4448d274b1ce954c7e4f7b765cf6c9012ac9e1bd55a63
@@ -10,6 +10,8 @@ require "nexus/invision/requests/create_forum_topic"
10
10
  require "nexus/invision/requests/create_member_warning"
11
11
  require "nexus/invision/requests/list_forum_topics"
12
12
  require "nexus/invision/requests/remove_member_from_secondary_group"
13
+ require "nexus/invision/requests/delete_member"
14
+ require "nexus/invision/requests/edit_member"
13
15
  require "nexus/invision/resources/login_link"
14
16
  require "nexus/invision/resources/page"
15
17
  require "nexus/invision/resources/post"
@@ -161,6 +163,28 @@ module Nexus
161
163
  Resources::User.from_hash(response.body)
162
164
  end
163
165
 
166
+ sig { params(request: Requests::DeleteMember).void }
167
+ def delete_member(request)
168
+ # 1 is keep member name, 0 is anonymize content
169
+ values = request.serialize.except("member_id")
170
+ .merge({ "contentAnonymize" => request.keep_member_name ? 1 : 0 })
171
+ request(
172
+ http_method: HTTPMethod::DELETE,
173
+ endpoint: URI("core/members/#{request.member_id}"),
174
+ params: values,
175
+ )
176
+ end
177
+
178
+ sig { params(request: Requests::EditMember).returns(Resources::User) }
179
+ def edit_member(request)
180
+ response = request(
181
+ http_method: HTTPMethod::POST,
182
+ endpoint: URI("core/members/#{request.member_id}"),
183
+ params: request.serialize.except("member_id"),
184
+ )
185
+ Resources::User.from_hash(response.body)
186
+ end
187
+
164
188
  private
165
189
 
166
190
  sig do
@@ -0,0 +1,27 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ require "nexus/invision/value_object"
5
+ require "sorbet-runtime"
6
+
7
+ module Nexus
8
+ module Invision
9
+ module Requests
10
+ class DeleteMember < T::Struct
11
+ include ValueObject
12
+
13
+ class ContentAction < T::Enum
14
+ enums do
15
+ Delete = new
16
+ Hide = new
17
+ Leave = new
18
+ end
19
+ end
20
+
21
+ const :member_id, Integer
22
+ const :content_action, ContentAction, name: "contentAction"
23
+ const :keep_member_name, T::Boolean, name: "contentAnonymize"
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ require "nexus/invision/value_object"
5
+ require "sorbet-runtime"
6
+
7
+ module Nexus
8
+ module Invision
9
+ module Requests
10
+ class EditMember < T::Struct
11
+ include ValueObject
12
+
13
+ const :member_id, Integer
14
+ const :name, T.nilable(String)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  module Nexus
5
5
  module Invision
6
- # Leave this as 1.2.1 in order for CI process to replace with the tagged version.
7
- VERSION = "1.2.1"
6
+ # Leave this as 1.3.0 in order for CI process to replace with the tagged version.
7
+ VERSION = "1.3.0"
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nexus-invision
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jack Robertson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-08 00:00:00.000000000 Z
11
+ date: 2023-11-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -30,6 +30,8 @@ files:
30
30
  - lib/nexus/invision/requests/create_forum_post.rb
31
31
  - lib/nexus/invision/requests/create_forum_topic.rb
32
32
  - lib/nexus/invision/requests/create_member_warning.rb
33
+ - lib/nexus/invision/requests/delete_member.rb
34
+ - lib/nexus/invision/requests/edit_member.rb
33
35
  - lib/nexus/invision/requests/list_forum_topics.rb
34
36
  - lib/nexus/invision/requests/remove_member_from_secondary_group.rb
35
37
  - lib/nexus/invision/resources/login_link.rb
@@ -103,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
105
  - !ruby/object:Gem::Version
104
106
  version: '0'
105
107
  requirements: []
106
- rubygems_version: 3.4.21
108
+ rubygems_version: 3.4.22
107
109
  signing_key:
108
110
  specification_version: 4
109
111
  summary: A client for the Invision Community REST API.