add: user trace tasks record
This commit is contained in:
parent
2c7bb1b5cd
commit
94881dd72a
|
@ -13,7 +13,12 @@ class Traces::ProjectsController < Traces::BaseController
|
||||||
return render_error("请输入正确的分支名!") unless @all_branches["branch_name"].include?(branch_name)
|
return render_error("请输入正确的分支名!") unless @all_branches["branch_name"].include?(branch_name)
|
||||||
code, data, error = Trace::CheckService.call(current_user.trace_token, @project, "1", branch_name)
|
code, data, error = Trace::CheckService.call(current_user.trace_token, @project, "1", branch_name)
|
||||||
if code == 200
|
if code == 200
|
||||||
# @project.increment!(:trace_tasks_count, 1)
|
UserTraceTask.create!(
|
||||||
|
user_id: current_user.id,
|
||||||
|
project_id: @project.id,
|
||||||
|
branch_tag: branch_name,
|
||||||
|
task_id: data["task_id"]
|
||||||
|
)
|
||||||
render_ok
|
render_ok
|
||||||
else
|
else
|
||||||
render_error("检测失败 Error:#{error}")
|
render_error("检测失败 Error:#{error}")
|
||||||
|
@ -29,7 +34,6 @@ class Traces::ProjectsController < Traces::BaseController
|
||||||
page = params[:page].to_i.zero? ? 1 : params[:page].to_i
|
page = params[:page].to_i.zero? ? 1 : params[:page].to_i
|
||||||
code, data, error = Trace::CheckResultService.call(current_user.trace_token, @project, nil, page, limit)
|
code, data, error = Trace::CheckResultService.call(current_user.trace_token, @project, nil, page, limit)
|
||||||
if code == 200
|
if code == 200
|
||||||
# @project.update_column(:trace_tasks_count, data[0]["totalsize"]) if data.is_a?(Array) && data.size > 0
|
|
||||||
render :json => {data: data}
|
render :json => {data: data}
|
||||||
else
|
else
|
||||||
render_error("获取检测记录失败 Error:#{error}")
|
render_error("获取检测记录失败 Error:#{error}")
|
||||||
|
@ -41,9 +45,18 @@ class Traces::ProjectsController < Traces::BaseController
|
||||||
|
|
||||||
def reload_task
|
def reload_task
|
||||||
return render_error("project_id错误") if params[:project_id].blank?
|
return render_error("project_id错误") if params[:project_id].blank?
|
||||||
|
branch_name = params[:branch_name]
|
||||||
|
return render_error("分支名不能为空!") if branch_name.blank?
|
||||||
|
@all_branches = Gitea::Repository::Branches::ListNameService.call(@project&.owner, @project.identifier)
|
||||||
|
return render_error("请输入正确的分支名!") unless @all_branches["branch_name"].include?(branch_name)
|
||||||
code, data, error = Trace::ReloadCheckService.call(current_user.trace_token, params[:project_id])
|
code, data, error = Trace::ReloadCheckService.call(current_user.trace_token, params[:project_id])
|
||||||
if code == 200
|
if code == 200
|
||||||
# @project.increment!(:trace_tasks_count, 1)
|
UserTraceTask.create!(
|
||||||
|
user_id: current_user.id,
|
||||||
|
project_id: @project.id,
|
||||||
|
branch_tag: branch_name,
|
||||||
|
task_id: data["task_id"]
|
||||||
|
)
|
||||||
render_ok
|
render_ok
|
||||||
else
|
else
|
||||||
render_error("重新检测失败 Error:#{error}")
|
render_error("重新检测失败 Error:#{error}")
|
||||||
|
|
|
@ -163,6 +163,7 @@ await octokit.request('GET /api/traces/:owner/:repo/reload_task.json')
|
||||||
owner |是 | 否 | string | 项目所有者标识 |
|
owner |是 | 否 | string | 项目所有者标识 |
|
||||||
repo |是 | 否 | string | 项目标识 |
|
repo |是 | 否 | string | 项目标识 |
|
||||||
project_id|是 | 否| string | 代码分析结果里的project_id |
|
project_id|是 | 否| string | 代码分析结果里的project_id |
|
||||||
|
branch_name|是 | 否| string | 分支名称 |
|
||||||
|
|
||||||
|
|
||||||
> 返回的JSON示例:
|
> 返回的JSON示例:
|
||||||
|
|
|
@ -124,6 +124,7 @@ class Project < ApplicationRecord
|
||||||
has_many :pinned_projects, dependent: :destroy
|
has_many :pinned_projects, dependent: :destroy
|
||||||
has_many :has_pinned_users, through: :pinned_projects, source: :user
|
has_many :has_pinned_users, through: :pinned_projects, source: :user
|
||||||
has_many :webhooks, class_name: "Gitea::Webhook", primary_key: :gpid, foreign_key: :repo_id
|
has_many :webhooks, class_name: "Gitea::Webhook", primary_key: :gpid, foreign_key: :repo_id
|
||||||
|
has_many :user_trace_tasks, dependent: :destroy
|
||||||
after_create :incre_user_statistic, :incre_platform_statistic
|
after_create :incre_user_statistic, :incre_platform_statistic
|
||||||
after_save :check_project_members
|
after_save :check_project_members
|
||||||
before_save :set_invite_code, :reset_unmember_followed, :set_recommend_and_is_pinned, :reset_cache_data
|
before_save :set_invite_code, :reset_unmember_followed, :set_recommend_and_is_pinned, :reset_cache_data
|
||||||
|
|
|
@ -175,6 +175,7 @@ class User < Owner
|
||||||
has_many :system_notification_histories
|
has_many :system_notification_histories
|
||||||
has_many :system_notifications, through: :system_notification_histories
|
has_many :system_notifications, through: :system_notification_histories
|
||||||
has_one :trace_user, dependent: :destroy
|
has_one :trace_user, dependent: :destroy
|
||||||
|
has_many :user_trace_tasks, dependent: :destroy
|
||||||
|
|
||||||
# Groups and active users
|
# Groups and active users
|
||||||
scope :active, lambda { where(status: [STATUS_ACTIVE, STATUS_EDIT_INFO]) }
|
scope :active, lambda { where(status: [STATUS_ACTIVE, STATUS_EDIT_INFO]) }
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
# == Schema Information
|
||||||
|
#
|
||||||
|
# Table name: user_trace_tasks
|
||||||
|
#
|
||||||
|
# id :integer not null, primary key
|
||||||
|
# user_id :integer
|
||||||
|
# project_id :integer
|
||||||
|
# branch_tag :string(255)
|
||||||
|
# task_id :string(255)
|
||||||
|
# created_at :datetime not null
|
||||||
|
# updated_at :datetime not null
|
||||||
|
#
|
||||||
|
# Indexes
|
||||||
|
#
|
||||||
|
# index_user_trace_tasks_on_project_id (project_id)
|
||||||
|
# index_user_trace_tasks_on_user_id (user_id)
|
||||||
|
#
|
||||||
|
|
||||||
|
class UserTraceTask < ApplicationRecord
|
||||||
|
|
||||||
|
belongs_to :user
|
||||||
|
belongs_to :project
|
||||||
|
|
||||||
|
|
||||||
|
end
|
|
@ -0,0 +1,12 @@
|
||||||
|
class CreateUserTraceTasks < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
create_table :user_trace_tasks do |t|
|
||||||
|
t.references :user
|
||||||
|
t.references :project
|
||||||
|
t.string :branch_tag
|
||||||
|
t.string :task_id
|
||||||
|
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,5 @@
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe UserTraceTask, type: :model do
|
||||||
|
pending "add some examples to (or delete) #{__FILE__}"
|
||||||
|
end
|
Loading…
Reference in New Issue