Remove n+1 calls from API queries
This commit is contained in:
parent
f170ebb04b
commit
80189def98
5 changed files with 38 additions and 6 deletions
|
@ -4,7 +4,7 @@ class API::V1::DossiersController < APIController
|
|||
DEFAULT_PAGE_SIZE = 100
|
||||
|
||||
def index
|
||||
dossiers = @procedure.dossiers.state_not_brouillon.page(params[:page]).per(per_page)
|
||||
dossiers = @dossiers.page(params[:page]).per(per_page)
|
||||
|
||||
render json: { dossiers: dossiers.map{ |dossier| DossiersSerializer.new(dossier) }, pagination: pagination(dossiers) }, status: 200
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
|
@ -12,7 +12,7 @@ class API::V1::DossiersController < APIController
|
|||
end
|
||||
|
||||
def show
|
||||
dossier = @procedure.dossiers.find(params[:id])
|
||||
dossier = @dossiers.for_api.find(params[:id])
|
||||
|
||||
respond_to do |format|
|
||||
format.json { render json: { dossier: DossierSerializer.new(dossier).as_json }, status: 200 }
|
||||
|
@ -36,12 +36,14 @@ class API::V1::DossiersController < APIController
|
|||
end
|
||||
|
||||
def fetch_procedure_and_check_token
|
||||
@procedure = Procedure.includes(:administrateur).find(params[:procedure_id])
|
||||
@procedure = Procedure.for_api.find(params[:procedure_id])
|
||||
|
||||
if !valid_token_for_administrateur?(@procedure.administrateur)
|
||||
render json: {}, status: :unauthorized
|
||||
end
|
||||
|
||||
@dossiers = @procedure.dossiers.state_not_brouillon
|
||||
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render json: {}, status: :not_found
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue