forked from Gitlink/forgeplus
56 lines
2.0 KiB
Ruby
56 lines
2.0 KiB
Ruby
class MarkFilesController < ApplicationController
|
|
before_action :require_login
|
|
before_action :load_project
|
|
before_action :load_pull_request
|
|
|
|
def index
|
|
@files_result = Gitea::PullRequest::FilesService.call(@owner.login, @project.identifier, @pull_request.gitea_number, current_user&.gitea_token, { "only-file-name": true })
|
|
@mark_files = MarkFile.where(pull_request_id: @pull_request.id)
|
|
end
|
|
|
|
def create
|
|
# unless @pull_request.mark_files.present?
|
|
# MarkFile.bulk_insert(*%i[pull_request_id, file_path_sha file_path created_at updated_at]) do |worker|
|
|
# @files_result['Files'].each do |file|
|
|
# worker.add(pull_request_id: @pull_request.id, file_path_sha: SecureRandom.uuid.gsub("-", ""), file_path: file['Name'])
|
|
# end
|
|
# end
|
|
# end
|
|
end
|
|
|
|
def mark_file_as_unread
|
|
tip_exception "参数错误" if params[:file_path_sha].blank?
|
|
file_path = Base64.strict_decode64(params[:file_path_sha].to_s)
|
|
mark_file = @pull_request.mark_files.find_or_initialize_by(file_path_sha: params[:file_path_sha])
|
|
mark_file.file_path = file_path
|
|
mark_file.user_id = current_user.id
|
|
mark_file.mark_as_read = false
|
|
mark_file.save
|
|
render_ok
|
|
rescue Exception => e
|
|
tip_exception "参数解析错误"
|
|
end
|
|
|
|
def mark_file_as_read
|
|
tip_exception "参数错误" if params[:file_path_sha].blank?
|
|
file_path = Base64.strict_decode64(params[:file_path_sha].to_s)
|
|
mark_file = @pull_request.mark_files.find_or_initialize_by(file_path_sha: params[:file_path_sha])
|
|
mark_file.file_path = file_path
|
|
mark_file.user_id = current_user.id
|
|
mark_file.mark_as_read = true
|
|
mark_file.save
|
|
render_ok
|
|
rescue Exception => e
|
|
tip_exception "参数解析错误"
|
|
end
|
|
|
|
private
|
|
def review_params
|
|
params.require(:review).permit(:content, :commit_id, :status)
|
|
end
|
|
|
|
def load_pull_request
|
|
@pull_request = @project.pull_requests.where(gitea_number: params[:id]).where.not(id: params[:id]).take || PullRequest.find_by_id(params[:id])
|
|
end
|
|
|
|
end |