class Api::V1::Projects::BranchesController < Api::V1::BaseController before_action :require_public_and_member_above, only: [:index, :all] def index @result_object = Api::V1::Projects::Branches::ListService.call(@project, {name: params[:keyword], page: page, limit: limit}, current_user&.gitea_token) end def all @result_object = Api::V1::Projects::Branches::AllListService.call(@project, current_user&.gitea_token) end before_action :require_operate_above, only: [:create, :destroy] def create @result_object = Api::V1::Projects::Branches::CreateService.call(@project, branch_params, current_user&.gitea_token) end def destroy @result_object = Api::V1::Projects::Branches::DeleteService.call(@project, params[:name], current_user&.gitea_token) if @result_object return render_ok else return render_error('删除分支失败!') end end before_action :require_manager_above, only: [:update_default_branch] def update_default_branch @result_object = Api::V1::Projects::Branches::UpdateDefaultBranchService.call(@project, params[:name], current_user&.gitea_token) if @result_object return render_ok else return render_error('更新默认分支失败!') end end private def branch_params params.require(:branch).permit(:new_branch_name, :old_branch_name) end end