38 lines
		
	
	
		
			940 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			940 B
		
	
	
	
		
			Ruby
		
	
	
	
class ContentsController < ApplicationController
 | 
						|
  before_action :find_user, :find_repository
 | 
						|
  before_action :require_login, only: %i[create update_file delete_file]
 | 
						|
 | 
						|
  def create
 | 
						|
    interactor = Gitea::CreateFileInteractor.call(current_user, content_params)
 | 
						|
    if interactor.success?
 | 
						|
      @file = interactor.result
 | 
						|
    else
 | 
						|
      render_error(interactor.error)
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def update_file
 | 
						|
    interactor = Gitea::UpdateFileInteractor.call(current_user, params)
 | 
						|
    if interactor.success?
 | 
						|
      @file = interactor.result
 | 
						|
    else
 | 
						|
      render_error(interactor.error)
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def delete_file
 | 
						|
    interactor = Gitea::DeleteFileInteractor.call(current_user, params)
 | 
						|
    if interactor.success?
 | 
						|
      @file = interactor.result
 | 
						|
    else
 | 
						|
      render_error(interactor.error)
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  private
 | 
						|
  def content_params
 | 
						|
    params.permit(:login, :repo_identifier, :filepath, :branch, :content, :message, :new_branch)
 | 
						|
  end
 | 
						|
 | 
						|
end
 |