2022-07-28 15:19:31 +08:00
|
|
|
class Api::V1::Projects::Pulls::PullsController < Api::V1::BaseController
|
2022-07-25 16:21:03 +08:00
|
|
|
before_action :require_public_and_member_above
|
|
|
|
|
|
|
|
|
|
def index
|
|
|
|
|
@pulls = Api::V1::Projects::Pulls::ListService.call(@project, query_params)
|
|
|
|
|
@pulls = kaminari_paginate(@pulls)
|
|
|
|
|
end
|
|
|
|
|
|
2024-11-07 16:45:40 +08:00
|
|
|
before_action :load_pull_request, only: [:show, :files]
|
2022-07-25 16:21:03 +08:00
|
|
|
|
|
|
|
|
def show
|
2022-07-25 18:23:06 +08:00
|
|
|
@result_object = Api::V1::Projects::Pulls::GetService.call(@project, @pull_request, current_user&.gitea_token)
|
2022-07-26 14:29:12 +08:00
|
|
|
@last_review = @pull_request.reviews.order(created_at: :desc).take
|
2022-07-25 16:21:03 +08:00
|
|
|
end
|
|
|
|
|
|
2024-11-07 16:45:40 +08:00
|
|
|
def files
|
|
|
|
|
if params[:filepath].present?
|
2024-11-12 13:55:48 +08:00
|
|
|
@result_object = $gitea_hat_client.get_repos_pulls_files_by_owner_repo_index_filepath(@project&.owner.login, @project&.identifier, @pull_request.gitea_number, CGI.escape(params[:filepath]), {query: {token: current_user&.gitea_token}})
|
2024-11-07 16:45:40 +08:00
|
|
|
else
|
2024-11-11 11:01:55 +08:00
|
|
|
@result_object = $gitea_hat_client.get_repos_pulls_files_by_owner_repo_index(@project&.owner.login, @project&.identifier, @pull_request.gitea_number, {query: {isNew: "true",token: current_user&.gitea_token, page: page, limit: limit}})
|
2024-11-07 16:45:40 +08:00
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2022-07-25 16:21:03 +08:00
|
|
|
private
|
|
|
|
|
def query_params
|
|
|
|
|
params.permit(:status, :keyword, :priority_id, :issue_tag_id, :version_id, :reviewer_id, :sort_by, :sort_direction)
|
|
|
|
|
end
|
|
|
|
|
end
|