Skip to content
Snippets Groups Projects
Commit 77cf855b authored by Semyon Pupkov's avatar Semyon Pupkov
Browse files

Define common helper for describe pagination params in api

parent 53714ddf
No related branches found
No related tags found
No related merge requests found
---
title: Define common helper for describe pagination params in api
merge_request: 7646
author: Semyon Pupkov
module API
class BroadcastMessages < Grape::API
include PaginationParams
before { authenticate! }
before { authenticated_as_admin! }
 
Loading
Loading
@@ -15,8 +17,7 @@ module API
success Entities::BroadcastMessage
end
params do
optional :page, type: Integer, desc: 'Current page number'
optional :per_page, type: Integer, desc: 'Number of messages per page'
use :pagination
end
get do
messages = BroadcastMessage.all
Loading
Loading
Loading
Loading
@@ -3,6 +3,8 @@ require 'mime/types'
module API
# Projects commits API
class Commits < Grape::API
include PaginationParams
before { authenticate! }
before { authorize! :download_code, user_project }
 
Loading
Loading
@@ -107,9 +109,8 @@ module API
failure [[404, 'Not Found']]
end
params do
use :pagination
requires :sha, type: String, desc: 'A commit sha, or the name of a branch or tag'
optional :per_page, type: Integer, desc: 'The amount of items per page for paginaion'
optional :page, type: Integer, desc: 'The page number for pagination'
end
get ':id/repository/commits/:sha/comments' do
commit = user_project.commit(params[:sha])
Loading
Loading
module API
# Deployments RESTfull API endpoints
class Deployments < Grape::API
include PaginationParams
before { authenticate! }
 
params do
Loading
Loading
@@ -12,8 +14,7 @@ module API
success Entities::Deployment
end
params do
optional :page, type: Integer, desc: 'Page number of the current request'
optional :per_page, type: Integer, desc: 'Number of items per page'
use :pagination
end
get ':id/deployments' do
authorize! :read_deployment, user_project
Loading
Loading
module API
# Environments RESTfull API endpoints
class Environments < Grape::API
include PaginationParams
before { authenticate! }
 
params do
Loading
Loading
@@ -12,8 +14,7 @@ module API
success Entities::Environment
end
params do
optional :page, type: Integer, desc: 'Page number of the current request'
optional :per_page, type: Integer, desc: 'Number of items per page'
use :pagination
end
get ':id/environments' do
authorize! :read_environment, user_project
Loading
Loading
module API
# Concern for declare pagination params.
#
# @example
# class CustomApiResource < Grape::API
# include PaginationParams
#
# params do
# use :pagination
# end
# end
module PaginationParams
extend ActiveSupport::Concern
included do
helpers do
params :pagination do
optional :page, type: Integer, desc: 'Current page number'
optional :per_page, type: Integer, desc: 'Number of items per page'
end
end
end
end
end
module API
class Pipelines < Grape::API
include PaginationParams
before { authenticate! }
 
params do
Loading
Loading
@@ -11,8 +13,7 @@ module API
success Entities::Pipeline
end
params do
optional :page, type: Integer, desc: 'Page number of the current request'
optional :per_page, type: Integer, desc: 'Number of items per page'
use :pagination
optional :scope, type: String, values: ['running', 'branches', 'tags'],
desc: 'Either running, branches, or tags'
end
Loading
Loading
module API
# Projects variables API
class Variables < Grape::API
include PaginationParams
before { authenticate! }
before { authorize! :admin_build, user_project }
 
Loading
Loading
@@ -13,8 +15,7 @@ module API
success Entities::Variable
end
params do
optional :page, type: Integer, desc: 'The page number for pagination'
optional :per_page, type: Integer, desc: 'The value of items per page to show'
use :pagination
end
get ':id/variables' do
variables = user_project.variables
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment