|
- class Users::ProjectsController < Users::BaseController
- skip_before_action :check_observed_user_exists!, only: [:search]
-
- def index
- projects = Users::ProjectService.new(observed_user, query_params).call
-
- @count = projects.count
- @projects = paginate(projects.includes(:project_score, owner: { user_extension: :school }), special: observed_user.is_teacher?)
- end
-
- def search
- query_params = { keyword: params[:keyword], category: 'manage' }
- projects = Users::ProjectService.new(current_user, query_params).call
-
- params[:limit] = params[:per_page].to_i.zero? ? 20 : params[:per_page].to_i
- @count = projects.count
- @projects = paginate projects
- end
-
- private
-
- def query_params
- params.permit(:category, :status, :sort_direction)
- end
- end
|