nexus-invision 1.3.0 → 1.5.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d42a3e042b3714f972c3679c1402e94b8477f957733860757d0a3959f72d3240
|
4
|
+
data.tar.gz: a3efee62a86c8782b8f71fe1b7846d19421a10dd3c93de8418b7db3790cfa05c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73452461fbe0ec1095c988a0ebe2d0bac16aa2dee9355edc25e77e57daebcd2cd74637fbb32e1d47115497b1be96ec736ca8b63c14534efd25dd61425859e78b
|
7
|
+
data.tar.gz: bc01042302951791c7232515e4ee9c38d597beccd957ddbb05b98ea120ae934b47d871bd50a537df5a5e3fc1514fab2acf8e809f054d6ae582242f4df78350af
|
@@ -8,11 +8,14 @@ require "nexus/invision/requests/add_member_to_secondary_group"
|
|
8
8
|
require "nexus/invision/requests/create_forum_post"
|
9
9
|
require "nexus/invision/requests/create_forum_topic"
|
10
10
|
require "nexus/invision/requests/create_member_warning"
|
11
|
-
require "nexus/invision/requests/list_forum_topics"
|
12
|
-
require "nexus/invision/requests/remove_member_from_secondary_group"
|
13
11
|
require "nexus/invision/requests/delete_member"
|
14
12
|
require "nexus/invision/requests/edit_member"
|
13
|
+
require "nexus/invision/requests/list_forum_topics"
|
14
|
+
require "nexus/invision/requests/remove_member_from_secondary_group"
|
15
|
+
require "nexus/invision/requests/edit_member_primary_group"
|
16
|
+
require "nexus/invision/resources/group"
|
15
17
|
require "nexus/invision/resources/login_link"
|
18
|
+
require "nexus/invision/resources/member"
|
16
19
|
require "nexus/invision/resources/page"
|
17
20
|
require "nexus/invision/resources/post"
|
18
21
|
require "nexus/invision/resources/topic"
|
@@ -61,6 +64,14 @@ module Nexus
|
|
61
64
|
end
|
62
65
|
end
|
63
66
|
|
67
|
+
sig { params(post_id: Integer).void }
|
68
|
+
def delete_post(post_id)
|
69
|
+
request(
|
70
|
+
http_method: HTTPMethod::DELETE,
|
71
|
+
endpoint: URI("forums/posts/#{post_id}"),
|
72
|
+
)
|
73
|
+
end
|
74
|
+
|
64
75
|
sig { params(request: Requests::ListForumTopics).returns(Resources::Page[Resources::Topic]) }
|
65
76
|
def list_forum_topics(request)
|
66
77
|
response = request(
|
@@ -112,6 +123,26 @@ module Nexus
|
|
112
123
|
Resources::LoginLink.from_hash(response.body)
|
113
124
|
end
|
114
125
|
|
126
|
+
sig { params(nexusmods_member_id: Integer).returns(Resources::Member) }
|
127
|
+
def get_member(nexusmods_member_id)
|
128
|
+
response = request(
|
129
|
+
http_method: HTTPMethod::GET,
|
130
|
+
endpoint: URI("core/members/#{nexusmods_member_id}"),
|
131
|
+
)
|
132
|
+
|
133
|
+
Resources::Member.from_hash(response.body)
|
134
|
+
end
|
135
|
+
|
136
|
+
sig { params(request: Requests::EditMemberPrimaryGroup).returns(Resources::Member) }
|
137
|
+
def edit_member_primary_group(request)
|
138
|
+
response = request(
|
139
|
+
http_method: HTTPMethod::POST,
|
140
|
+
endpoint: URI("core/members/#{request.member_id}"),
|
141
|
+
params: request.serialize.except("member_id"),
|
142
|
+
)
|
143
|
+
Resources::Member.from_hash(response.body)
|
144
|
+
end
|
145
|
+
|
115
146
|
sig { params(request: Requests::AddMemberToSecondaryGroup).returns(Resources::User) }
|
116
147
|
def add_member_to_secondary_group(request)
|
117
148
|
response = request(
|
@@ -166,8 +197,7 @@ module Nexus
|
|
166
197
|
sig { params(request: Requests::DeleteMember).void }
|
167
198
|
def delete_member(request)
|
168
199
|
# 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 })
|
200
|
+
values = request.serialize.except("member_id").merge({ "contentAnonymize" => request.keep_member_name ? 1 : 0 })
|
171
201
|
request(
|
172
202
|
http_method: HTTPMethod::DELETE,
|
173
203
|
endpoint: URI("core/members/#{request.member_id}"),
|
@@ -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 EditMemberPrimaryGroup < T::Struct
|
11
|
+
include ValueObject
|
12
|
+
|
13
|
+
const :member_id, Integer
|
14
|
+
const :group, Integer
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
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 Resources
|
10
|
+
class Group < T::Struct
|
11
|
+
include ValueObject
|
12
|
+
|
13
|
+
const :id, Integer
|
14
|
+
const :name, String
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
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 Resources
|
10
|
+
# Member is a User with additional information about their membership.
|
11
|
+
class Member < T::Struct
|
12
|
+
include ValueObject
|
13
|
+
|
14
|
+
const :id, Integer
|
15
|
+
const :primaryGroup, Group
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
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.
|
4
|
+
version: 1.5.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:
|
11
|
+
date: 2024-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
@@ -32,9 +32,12 @@ files:
|
|
32
32
|
- lib/nexus/invision/requests/create_member_warning.rb
|
33
33
|
- lib/nexus/invision/requests/delete_member.rb
|
34
34
|
- lib/nexus/invision/requests/edit_member.rb
|
35
|
+
- lib/nexus/invision/requests/edit_member_primary_group.rb
|
35
36
|
- lib/nexus/invision/requests/list_forum_topics.rb
|
36
37
|
- lib/nexus/invision/requests/remove_member_from_secondary_group.rb
|
38
|
+
- lib/nexus/invision/resources/group.rb
|
37
39
|
- lib/nexus/invision/resources/login_link.rb
|
40
|
+
- lib/nexus/invision/resources/member.rb
|
38
41
|
- lib/nexus/invision/resources/page.rb
|
39
42
|
- lib/nexus/invision/resources/post.rb
|
40
43
|
- lib/nexus/invision/resources/topic.rb
|
@@ -105,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
108
|
- !ruby/object:Gem::Version
|
106
109
|
version: '0'
|
107
110
|
requirements: []
|
108
|
-
rubygems_version: 3.
|
111
|
+
rubygems_version: 3.5.5
|
109
112
|
signing_key:
|
110
113
|
specification_version: 4
|
111
114
|
summary: A client for the Invision Community REST API.
|