diff options
Diffstat (limited to 'lib/api')
| -rw-r--r-- | lib/api/access_requests.rb | 7 | ||||
| -rw-r--r-- | lib/api/api.rb | 3 | ||||
| -rw-r--r-- | lib/api/entities.rb | 2 | ||||
| -rw-r--r-- | lib/api/users.rb | 6 | 
4 files changed, 8 insertions, 10 deletions
| diff --git a/lib/api/access_requests.rb b/lib/api/access_requests.rb index 29a97ccbd75..9d1d9058996 100644 --- a/lib/api/access_requests.rb +++ b/lib/api/access_requests.rb @@ -55,13 +55,8 @@ module API          put ':id/access_requests/:user_id/approve' do            required_attributes! [:user_id]            source = find_source(source_type, params[:id]) -          authorize_admin_source!(source_type, source) -          member = source.requesters.find_by!(user_id: params[:user_id]) -          if params[:access_level] -            member.update(access_level: params[:access_level]) -          end -          member.accept_request +          member = ::Members::ApproveAccessRequestService.new(source, current_user, params).execute            status :created            present member.user, with: Entities::Member, member: member diff --git a/lib/api/api.rb b/lib/api/api.rb index 74ca4728695..cb47ec8f33f 100644 --- a/lib/api/api.rb +++ b/lib/api/api.rb @@ -28,6 +28,7 @@ module API      helpers ::SentryHelper      helpers ::API::Helpers +    # Keep in alphabetical order      mount ::API::AccessRequests      mount ::API::AwardEmoji      mount ::API::Branches @@ -48,6 +49,7 @@ module API      mount ::API::Lint      mount ::API::Members      mount ::API::MergeRequests +    mount ::API::MergeRequestDiffs      mount ::API::Milestones      mount ::API::Namespaces      mount ::API::Notes @@ -70,6 +72,5 @@ module API      mount ::API::Triggers      mount ::API::Users      mount ::API::Variables -    mount ::API::MergeRequestDiffs    end  end diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 92a6f29adb0..0adc118ba27 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -15,7 +15,7 @@ module API      class User < UserBasic        expose :created_at        expose :is_admin?, as: :is_admin -      expose :bio, :location, :skype, :linkedin, :twitter, :website_url +      expose :bio, :location, :skype, :linkedin, :twitter, :website_url, :organization      end      class Identity < Grape::Entity diff --git a/lib/api/users.rb b/lib/api/users.rb index c440305ff0f..18c4cad09ae 100644 --- a/lib/api/users.rb +++ b/lib/api/users.rb @@ -60,6 +60,7 @@ module API        #   linkedin                          - Linkedin        #   twitter                           - Twitter account        #   website_url                       - Website url +      #   organization                      - Organization        #   projects_limit                    - Number of projects user can create        #   extern_uid                        - External authentication provider UID        #   provider                          - External provider @@ -74,7 +75,7 @@ module API        post do          authenticated_as_admin!          required_attributes! [:email, :password, :name, :username] -        attrs = attributes_for_keys [:email, :name, :password, :skype, :linkedin, :twitter, :projects_limit, :username, :bio, :location, :can_create_group, :admin, :confirm, :external] +        attrs = attributes_for_keys [:email, :name, :password, :skype, :linkedin, :twitter, :projects_limit, :username, :bio, :location, :can_create_group, :admin, :confirm, :external, :organization]          admin = attrs.delete(:admin)          confirm = !(attrs.delete(:confirm) =~ /(false|f|no|0)$/i)          user = User.build_user(attrs) @@ -111,6 +112,7 @@ module API        #   linkedin                          - Linkedin        #   twitter                           - Twitter account        #   website_url                       - Website url +      #   organization                      - Organization        #   projects_limit                    - Limit projects each user can create        #   bio                               - Bio        #   location                          - Location of the user @@ -122,7 +124,7 @@ module API        put ":id" do          authenticated_as_admin! -        attrs = attributes_for_keys [:email, :name, :password, :skype, :linkedin, :twitter, :website_url, :projects_limit, :username, :bio, :location, :can_create_group, :admin, :external] +        attrs = attributes_for_keys [:email, :name, :password, :skype, :linkedin, :twitter, :website_url, :projects_limit, :username, :bio, :location, :can_create_group, :admin, :external, :organization]          user = User.find(params[:id])          not_found!('User') unless user | 
