You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
759 B
32 lines
759 B
5 years ago
|
class Admins::LaboratoriesController < Admins::BaseController
|
||
|
def index
|
||
|
params[:sort_by] = params[:sort_by].presence || 'id'
|
||
|
params[:sort_direction] = params[:sort_direction].presence || 'desc'
|
||
|
|
||
|
laboratories = Admins::LaboratoryQuery.call(params)
|
||
|
@laboratories = paginate laboratories.preload(:school, :laboratory_users)
|
||
|
end
|
||
|
|
||
|
def create
|
||
|
Admins::CreateLaboratoryService.call(create_params)
|
||
|
render_ok
|
||
|
rescue Admins::CreateLaboratoryService::Error => ex
|
||
|
render_error(ex.message)
|
||
|
end
|
||
|
|
||
|
def destroy
|
||
|
current_laboratory.destroy!
|
||
|
|
||
|
render_delete_success
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def current_laboratory
|
||
|
@_current_laboratory ||= Laboratory.find(params[:id])
|
||
|
end
|
||
|
|
||
|
def create_params
|
||
|
params.permit(:school_id)
|
||
|
end
|
||
|
end
|