peoplegroup-connectors 0.1.64 → 0.1.65

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: 33568d5fc3c5499853aad5b9276ba6fa655c7448a44c7a50241039adfad65669
4
- data.tar.gz: 18bfaaf61e256ed131cb258e4bcb1dc95553729c1c6f7f7908b84ac5a285a93b
3
+ metadata.gz: 324983963ed713d77a2d17cfe9c1d8f0c6d1f3bc6d20e7893adccd2e604899ba
4
+ data.tar.gz: f4e29ae74cd6c9433273760535935367f0c39e261f5371fe1ddbb8948afc3b63
5
5
  SHA512:
6
- metadata.gz: 4ca93220ae677cc79749220ee58f610d1e7ada8a8bc9327046d5ecc4d3c86badfff84d52d336251a9fa0fad89ddc0bda095b3305062f3ffab30bbcca5382e1aa
7
- data.tar.gz: 6b5fd69dbf82e4ae09cba248dba10be164321a5302a09dd7be84901f355afb428ef57393904ec3a074fabdefacc0c64446f88cc4769ebb1d9956ddb793263c9d
6
+ metadata.gz: 45d74ed9e67a22076d99fa72b738f3662405d478844df268e74408a0b16a65c64cce969d409505317ad8a078389065ca59271ae14b37fc220cd52d3f6228d9b7
7
+ data.tar.gz: 0e48a07eea15697f57dc8169f2d03463aacfb62a2898b6f21c9615f7cba03e8d974371fc6a8e705f0a4098af1a127e9b5f9ef63ec47567060a62c2ffad1a5b38
@@ -16,7 +16,7 @@ module PeopleGroup
16
16
  def find_gitlabber(field, query)
17
17
  return if !query || query.empty?
18
18
 
19
- possible_members = retry_on_error { @client.group_members('gitlab-com', query: query) }
19
+ possible_members = get_group_members('gitlab-com', query: query)
20
20
  if field === :email
21
21
  possible_members.first
22
22
  else
@@ -27,7 +27,7 @@ module PeopleGroup
27
27
  def find_gitlabber_on(field, query, group)
28
28
  return if !query || query.empty?
29
29
 
30
- possible_members = retry_on_error { @client.group_members(group, query: query) }
30
+ possible_members = get_group_members(group, query: query)
31
31
  if field === :email
32
32
  possible_members.first
33
33
  else
@@ -35,14 +35,29 @@ module PeopleGroup
35
35
  end
36
36
  end
37
37
 
38
- def remove_group_member(group, user_id)
39
- retry_on_error { @client.remove_group_member(group, user_id) }
38
+ def create_group(name, path, options = {})
39
+ retry_on_error { @client.create_group(name, path, options) }
40
+ end
41
+
42
+ def get_subgroups(group_id, options = {})
43
+ retry_on_error { @client.group_subgroups(group_id, options).auto_paginate }
44
+ end
45
+
46
+ def get_group_members(group_id, options = {})
47
+ retry_on_error { @client.group_members(group_id, options).auto_paginate }
48
+ end
49
+
50
+ def add_group_member(group_id, user_id, access_level_name)
51
+ access_level = access_levels[access_level_name]
52
+ retry_on_error { @client.add_group_member(group_id, user_id, access_level) }
53
+ end
54
+
55
+ def remove_group_member(group_id, user_id)
56
+ retry_on_error { @client.remove_group_member(group_id, user_id) }
40
57
  end
41
58
 
42
59
  def create_issue(project, title, options = {})
43
- retry_on_error do
44
- @client.create_issue(project, title, options)
45
- end
60
+ retry_on_error { @client.create_issue(project, title, options) }
46
61
  end
47
62
 
48
63
  def create_issue_note(project, id, text)
@@ -177,6 +192,19 @@ module PeopleGroup
177
192
  def reopen_epic(epic)
178
193
  retry_on_error { @client.edit_epic(epic.group_id, epic.iid, { state_event: 'reopen' }) }
179
194
  end
195
+
196
+ # Map access level names to values according to https://docs.gitlab.com/ee/api/members.html#valid-access-levels
197
+ def access_levels
198
+ @access_levels ||= {
199
+ no_access: 0,
200
+ minimal_access: 5,
201
+ guest: 10,
202
+ reporter: 20,
203
+ developer: 30,
204
+ maintainer: 40,
205
+ owner: 50
206
+ }
207
+ end
180
208
  end
181
209
  end
182
210
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module PeopleGroup
4
4
  module Connectors
5
- VERSION = '0.1.64'
5
+ VERSION = '0.1.65'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peoplegroup-connectors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.64
4
+ version: 0.1.65
5
5
  platform: ruby
6
6
  authors:
7
7
  - lien van den steen