From 5559330706dc20835f47dd41a58a217c61e33eb8 Mon Sep 17 00:00:00 2001 From: yystopf Date: Tue, 14 May 2024 11:05:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E8=8E=B7=E5=8F=96gi?= =?UTF-8?q?thub=E3=80=81gitee=E5=88=86=E6=94=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/v1/projects/branches_controller.rb | 23 +++++++++++++++++++ config/routes/api.rb | 2 ++ 2 files changed, 25 insertions(+) diff --git a/app/controllers/api/v1/projects/branches_controller.rb b/app/controllers/api/v1/projects/branches_controller.rb index 89ebb5825..2bb7fdaf5 100644 --- a/app/controllers/api/v1/projects/branches_controller.rb +++ b/app/controllers/api/v1/projects/branches_controller.rb @@ -1,6 +1,29 @@ class Api::V1::Projects::BranchesController < Api::V1::BaseController before_action :require_public_and_member_above, only: [:index, :all] + def gitee + url = URI("https://gitee.com/api/v5/repos/#{params[:owner]}/#{params[:repo]}/branches?access_token=#{params[:token]}&page=#{page}&per_page=#{limit}") + https = Net::HTTP.new(url.host, url.port) + https.use_ssl = true + request = Net::HTTP::Get.new(url) + response = https.request(request) + render :json => response.read_body + end + + def github + url = URI("https://api.github.com/repos/#{params[:owner]}/#{params[:repo]}/branches?page=#{page}&per_page=#{limit}") + https = Net::HTTP.new(url.host, url.port) + https.use_ssl = true + + request = Net::HTTP::Get.new(url) + request["Authorization"] = "Bearer #{params[:token]}" + request["Accept"] = "application/vnd.github+json" + request["X-GitHub-Api-Version"] = "2022-11-28" + + response = https.request(request) + render :json => response.read_body + end + def index @result_object = Api::V1::Projects::Branches::ListService.call(@project, {name: params[:keyword], state: params[:state], page: page, limit: limit}, current_user&.gitea_token) end diff --git a/config/routes/api.rb b/config/routes/api.rb index e42afba53..b502a679e 100644 --- a/config/routes/api.rb +++ b/config/routes/api.rb @@ -118,6 +118,8 @@ defaults format: :json do end resources :branches, param: :name, only:[:index, :create, :destroy] do collection do + get :gitee + get :github get :all post :restore patch :update_default_branch