2022-09-07 06:52:24 +00:00
|
|
|
class Public::Api::V1::Portals::ArticlesController < PublicController
|
|
|
|
before_action :ensure_custom_domain_request, only: [:show, :index]
|
2022-07-08 11:54:38 +00:00
|
|
|
before_action :set_portal
|
2022-09-07 06:52:24 +00:00
|
|
|
before_action :set_category
|
2022-07-08 11:54:38 +00:00
|
|
|
before_action :set_article, only: [:show]
|
|
|
|
|
|
|
|
def index
|
|
|
|
@articles = @portal.articles
|
2022-07-28 08:29:16 +00:00
|
|
|
@articles = @articles.search(list_params) if list_params.present?
|
2022-07-08 11:54:38 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def show; end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def set_article
|
2022-09-07 06:52:24 +00:00
|
|
|
@article = @category.articles.find(params[:id])
|
|
|
|
end
|
|
|
|
|
|
|
|
def set_category
|
|
|
|
@category = @portal.categories.find_by!(slug: params[:category_slug])
|
2022-07-08 11:54:38 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def set_portal
|
2022-09-07 06:52:24 +00:00
|
|
|
@portal = @portals.find_by!(slug: params[:slug], archived: false)
|
2022-07-08 11:54:38 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def list_params
|
2022-07-28 08:29:16 +00:00
|
|
|
params.permit(:query)
|
2022-07-08 11:54:38 +00:00
|
|
|
end
|
|
|
|
end
|