summaryrefslogtreecommitdiff
path: root/lib/api/namespaces.rb
blob: 50d3729449e1f9d2a223acdcfb33a021b92ab1bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
module API
  # namespaces API
  class Namespaces < Grape::API
    before { authenticate! }

    resource :namespaces do
      # Get a namespaces list
      #
      # Example Request:
      #  GET /namespaces
      get do
        @namespaces = if current_user.admin
                        Namespace.all
                      else
                        current_user.namespaces
                      end
        @namespaces = @namespaces.search(params[:search]) if params[:search].present?
        @namespaces = paginate @namespaces

        present @namespaces, with: Entities::Namespace
      end
    end
  end
end