forgeplus/app/controllers/contents_controller.rb

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