add form events api

This commit is contained in:
Pete Matsyburka
2024-07-19 11:49:22 +03:00
parent 4424840c81
commit 2c8942e888
3 changed files with 47 additions and 4 deletions
+9 -4
View File
@@ -39,12 +39,17 @@ module Api
private
def paginate(relation)
result = relation.order(id: :desc)
def paginate(relation, field: :id)
result = relation.order(field => :desc)
.limit([params.fetch(:limit, DEFAULT_LIMIT).to_i, MAX_LIMIT].min)
result = result.where(id: ...params[:after].to_i) if params[:after].present?
result = result.where(id: (params[:before].to_i + 1)...) if params[:before].present?
if field == :id
result = result.where(id: ...params[:after].to_i) if params[:after].present?
result = result.where(id: (params[:before].to_i + 1)...) if params[:before].present?
else
result = result.where(field => ...params[:after]) if params[:after].present?
result = result.where(field => (params[:before] + 1)...) if params[:before].present?
end
result
end