Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Arch Linux
gluebuddy
Commits
3d657f64
Verified
Commit
3d657f64
authored
Dec 02, 2021
by
Levente Polyak
🚀
Browse files
chore: split update functions to more fine grained names
parent
90c4e768
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/components/gitlab/gitlab.rs
View file @
3d657f64
...
...
@@ -105,13 +105,14 @@ impl GitLabGlue {
}
pub
async
fn
run
(
&
self
,
action
:
Action
)
->
Result
<
()
>
{
self
.update_gitlab_group_members
(
&
action
)
.await
?
;
self
.update_gitlab_staff_group_members
(
&
action
)
.await
?
;
self
.update_infrastructure_members
(
&
action
)
.await
?
;
self
.update_archlinux_group_members
(
&
action
)
.await
?
;
self
.update_staff_group_members
(
&
action
)
.await
?
;
self
.update_devops_group_members
(
&
action
)
.await
?
;
self
.update_infrastructure_project_members
(
&
action
)
.await
?
;
Ok
(())
}
async
fn
update_
gitlab
_group_members
(
&
self
,
action
:
&
Action
)
->
Result
<
()
>
{
async
fn
update_
archlinux
_group_members
(
&
self
,
action
:
&
Action
)
->
Result
<
()
>
{
let
group
=
"archlinux"
;
let
archlinux_group_members
=
self
.get_group_members
(
group
)
.await
?
;
...
...
@@ -169,7 +170,7 @@ impl GitLabGlue {
Ok
(())
}
async
fn
update_
gitlab_
staff_group_members
(
&
self
,
action
:
&
Action
)
->
Result
<
()
>
{
async
fn
update_staff_group_members
(
&
self
,
action
:
&
Action
)
->
Result
<
()
>
{
let
group
=
"archlinux/teams/staff"
;
let
archlinux_group_members
=
self
.get_group_members
(
group
)
.await
?
;
...
...
@@ -227,22 +228,7 @@ impl GitLabGlue {
Ok
(())
}
async
fn
update_infrastructure_members
(
&
self
,
action
:
&
Action
)
->
Result
<
()
>
{
let
project
=
"archlinux/infrastructure"
;
let
project_members
=
self
.get_project_members
(
project
)
.await
?
;
let
mut
summary
=
PlanSummary
::
new
(
"GitLab 'Arch Linux/Infrastructure' project members"
);
let
state
=
self
.state
.lock
()
.await
;
for
member
in
&
project_members
{
if
self
.remove_project_member
(
action
,
member
,
project
)
.await
?
{
summary
.destroy
+=
1
;
}
}
println!
(
"{}"
,
summary
);
println!
(
"{}"
,
util
::
format_separator
());
async
fn
update_devops_group_members
(
&
self
,
action
:
&
Action
)
->
Result
<
()
>
{
let
mut
summary
=
PlanSummary
::
new
(
"GitLab 'Arch Linux/Teams/DevOps' group members"
);
let
devops_group
=
"archlinux/teams/devops"
;
let
group_members
=
self
.get_group_members
(
devops_group
)
.await
?
;
...
...
@@ -308,6 +294,24 @@ impl GitLabGlue {
Ok
(())
}
async
fn
update_infrastructure_project_members
(
&
self
,
action
:
&
Action
)
->
Result
<
()
>
{
let
project
=
"archlinux/infrastructure"
;
let
project_members
=
self
.get_project_members
(
project
)
.await
?
;
let
mut
summary
=
PlanSummary
::
new
(
"GitLab 'Arch Linux/Infrastructure' project members"
);
for
member
in
&
project_members
{
if
self
.remove_project_member
(
action
,
member
,
project
)
.await
?
{
summary
.destroy
+=
1
;
}
}
println!
(
"{}"
,
summary
);
println!
(
"{}"
,
util
::
format_separator
());
Ok
(())
}
async
fn
get_group_members
(
&
self
,
group
:
&
str
)
->
Result
<
Vec
<
GitLabMember
>>
{
let
members_endpoint
=
gitlab
::
api
::
groups
::
members
::
GroupMembers
::
builder
()
.group
(
group
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment