mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-09 12:46:07 +10:00
38 lines
1.1 KiB
Ruby
38 lines
1.1 KiB
Ruby
module API
|
|
# groups API
|
|
class Ldap < Grape::API
|
|
before { authenticate! }
|
|
|
|
resource :ldap do
|
|
helpers do
|
|
def get_group_list(provider, search)
|
|
search ||= ""
|
|
search = Net::LDAP::Filter.escape(search)
|
|
Gitlab::LDAP::Adapter.new(provider).groups("#{search}*", 20)
|
|
end
|
|
end
|
|
|
|
# Get a LDAP groups list. Limit size to 20 of them.
|
|
# Filter results by name using search param
|
|
#
|
|
# Example Request:
|
|
# GET /ldap/groups
|
|
get 'groups' do
|
|
provider = Gitlab::LDAP::Config.servers.first['provider_name']
|
|
@groups = get_group_list(provider, params[:search])
|
|
present @groups, with: Entities::LdapGroup
|
|
end
|
|
|
|
# Get a LDAP groups list by the requested provider. Lited size to 20 of them.
|
|
# Filter results by name using search param
|
|
#
|
|
# Example Request:
|
|
# GET /ldap/ldapmain/groups
|
|
get ':provider/groups' do
|
|
@groups = get_group_list(params[:provider], params[:search])
|
|
present @groups, with: Entities::LdapGroup
|
|
end
|
|
end
|
|
end
|
|
end
|