|
- 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 || @project.pull_requests.find_by_id(params[:id])
- end
-
- end
|