mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-11-04 04:57:51 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			937 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			937 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
class Api::V1::Accounts::ArticlesController < Api::V1::Accounts::BaseController
 | 
						|
  before_action :portal
 | 
						|
  before_action :fetch_article, except: [:index, :create]
 | 
						|
 | 
						|
  def index
 | 
						|
    @articles = @portal.articles
 | 
						|
    @articles.search(list_params) if params[:payload].present?
 | 
						|
  end
 | 
						|
 | 
						|
  def create
 | 
						|
    @article = @portal.articles.create!(article_params)
 | 
						|
  end
 | 
						|
 | 
						|
  def edit; end
 | 
						|
 | 
						|
  def show; end
 | 
						|
 | 
						|
  def update
 | 
						|
    @article.update!(article_params)
 | 
						|
  end
 | 
						|
 | 
						|
  def destroy
 | 
						|
    @article.destroy!
 | 
						|
    head :ok
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
 | 
						|
  def fetch_article
 | 
						|
    @article = @portal.articles.find(params[:id])
 | 
						|
  end
 | 
						|
 | 
						|
  def portal
 | 
						|
    @portal ||= Current.account.portals.find_by(slug: params[:portal_id])
 | 
						|
  end
 | 
						|
 | 
						|
  def article_params
 | 
						|
    params.require(:article).permit(
 | 
						|
      :title, :content, :description, :position, :category_id, :author_id
 | 
						|
    )
 | 
						|
  end
 | 
						|
 | 
						|
  def list_params
 | 
						|
    params.require(:payload).permit(
 | 
						|
      :category_slug, :locale, :query
 | 
						|
    )
 | 
						|
  end
 | 
						|
end
 |