diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-01-29 00:09:04 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-01-29 00:09:04 +0300 |
commit | c6c346e8c7f0865f0016a458511e9fabfc8b9c1a (patch) | |
tree | 5b3a734e945e18c88817935c359c191140a11010 /app/controllers/concerns/membership_actions.rb | |
parent | e1b9b92a49eea88ea7c3b101aec0315e64e94678 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/controllers/concerns/membership_actions.rb')
-rw-r--r-- | app/controllers/concerns/membership_actions.rb | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/app/controllers/concerns/membership_actions.rb b/app/controllers/concerns/membership_actions.rb index 816a93f14c6..9e3625d1b36 100644 --- a/app/controllers/concerns/membership_actions.rb +++ b/app/controllers/concerns/membership_actions.rb @@ -18,18 +18,26 @@ module MembershipActions def update update_params = params.require(root_params_key).permit(:access_level, :expires_at) member = membershipable.members_and_requesters.find(params[:id]) - member = Members::UpdateService + result = Members::UpdateService .new(current_user, update_params) .execute(member) - if member.expires? - render json: { - expires_in: helpers.distance_of_time_in_words_to_now(member.expires_at), - expires_soon: member.expires_soon?, - expires_at_formatted: member.expires_at.to_time.in_time_zone.to_s(:medium) - } + member = result[:member] + + member_data = if member.expires? + { + expires_in: helpers.distance_of_time_in_words_to_now(member.expires_at), + expires_soon: member.expires_soon?, + expires_at_formatted: member.expires_at.to_time.in_time_zone.to_s(:medium) + } + else + {} + end + + if result[:status] == :success + render json: member_data else - render json: {} + render json: { message: result[:message] }, status: :unprocessable_entity end end |