diff --git a/app/controllers/mark_files_controller.rb b/app/controllers/mark_files_controller.rb index 88856c35a..a7ec304fd 100644 --- a/app/controllers/mark_files_controller.rb +++ b/app/controllers/mark_files_controller.rb @@ -4,17 +4,44 @@ class MarkFilesController < ApplicationController 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) - - MarkFile.bulk_insert(*%i[pull_request_id, file_path_sha file_path created_at updated_at]) do |worker| - @files_result['Files'].echo do |file| - worker.add(pull_request_id: @pull_request.id, file_path_sha: SecureRandom.uuid.gsub("-", ""), file_path: file['Name']) - end - end + @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