From 56ce2e14614b1e52fd26fd1296bfd3ded71a4636 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Wed, 20 May 2020 09:46:19 +0800 Subject: [PATCH 1/5] FIX api documents bug --- README.md | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index d6fe99fc6..73e51d719 100644 --- a/README.md +++ b/README.md @@ -461,31 +461,21 @@ http://localhost:3000/api/projects/migrate | jq "name": "ni项目" } ``` + +--- #### 手动同步镜像 ``` POST api/repositories/:id/sync_mirror ``` *示例* ``` -curl -X POST \ --d "user_id=36401" \ -http://localhost:3000/api/repositories/1244/sync_mirror | jq +curl -X POST http://localhost:3000/api/repositories/1244/sync_mirror | jq ``` *请求参数说明:* |参数名|必选|类型|说明| |-|-|-|-| -|user_id |是|int |用户id或者组织id | -|name |是|string |项目名称 | -|clone_addr |是|string |镜像项目clone地址 | -|description |否|string |项目描述 | -|repository_name |是|string |仓库名称, 只含有数字、字母、下划线不能以下划线开头和结尾,且唯一 | -|project_category_id|是|int |项目类别id | -|project_language_id|是|int |项目语言id | -|is_mirror |否|boolean|是否设置为镜像, true:是, false:否,默认为否 | -|auth_username |否|string|镜像源仓库的登录用户名 | -|auth_password |否|string|镜像源仓库的登录秘密 | -|private |否|boolean|项目是否私有, true:为私有,false: 非私有,默认为公开 | +|id |是|int |仓库id | *返回参数说明:* From becca7d1aebc1a8359aed87322dba97aeb88795b Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Thu, 21 May 2020 18:35:56 +0800 Subject: [PATCH 2/5] ADD a column closed_issues_count to table projects --- ...00521090205_add_closed_issues_count_to_projects.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 db/migrate/20200521090205_add_closed_issues_count_to_projects.rb diff --git a/db/migrate/20200521090205_add_closed_issues_count_to_projects.rb b/db/migrate/20200521090205_add_closed_issues_count_to_projects.rb new file mode 100644 index 000000000..0dba48e0d --- /dev/null +++ b/db/migrate/20200521090205_add_closed_issues_count_to_projects.rb @@ -0,0 +1,11 @@ +class AddClosedIssuesCountToProjects < ActiveRecord::Migration[5.2] + def change + add_column :projects, :closed_issues_count, :integer, default: 0 + + projects = Project.joins(:issues).where('status_id = 5').select("projects.id, count('issues.id') as closed_issues_count").group("projects.id") + projects.each do |pro| + project = Project.find pro.id + project.update_column(:closed_issues_count, pro.closed_issues_count) if project.closed_issues_count == 0 + end + end +end From e14e6230c78b73dc4fbeac230af9b5ad2ef8c722 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Thu, 21 May 2020 18:37:32 +0800 Subject: [PATCH 3/5] FIX sync update closed issues count --- app/controllers/issues_controller.rb | 9 +++++---- app/models/issue.rb | 5 +++++ app/models/project.rb | 7 ++++--- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 2a49267ca..86b54d626 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -208,13 +208,14 @@ class IssuesController < ApplicationController if params[:status_id].to_i == 5 @issue.issue_times.update_all(end_time: Time.now) + @issue.update_closed_issues_count_in_project! end - if @issue.issue_type.to_s == "2" + if @issue.issue_type.to_s == "2" #表示修改token值 if @issue.saved_change_to_attribute("token") last_token = @issue.token_was - change_token = last_token - @issue.token + change_token = last_token - @issue.token change_type = change_token > 0 ? "addToken" : "minusToken" change_params = { change_type: change_type, @@ -222,7 +223,7 @@ class IssuesController < ApplicationController }.merge(tokens_params(@proeject)) ChangeTokenJob.perform_later(change_params) end - + end @issue.create_journal_detail(change_files, issue_files, issue_file_ids, current_user&.id) @@ -433,6 +434,6 @@ class IssuesController < ApplicationController reponame: project.try(:identifer), username: current_user.try(:login) } - + end end diff --git a/app/models/issue.rb b/app/models/issue.rb index 4f00ea0ce..be539aea1 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -25,6 +25,7 @@ class Issue < ApplicationRecord scope :issue_index_includes, ->{includes(:user,:tracker, :priority, :version, :issue_status, :journals, :issue_times)} after_update :change_versions_count + after_destroy :update_closed_issues_count_in_project! def get_assign_user @@ -102,4 +103,8 @@ class Issue < ApplicationRecord end end + def update_closed_issues_count_in_project! + self.project.decrement!(:closed_issues_count) + end + end diff --git a/app/models/project.rb b/app/models/project.rb index a5ae46256..4e2904731 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -118,9 +118,6 @@ class Project < ApplicationRecord members.select(:id).size end - def issues_count - issues.select(:id).size - end def can_visited? is_public? || User.current.admin? || member?(User.current) @@ -138,4 +135,8 @@ class Project < ApplicationRecord self.pull_requests.select(:user_id).pluck(:user_id).uniq.size end + def open_issues_count + issues_count - closed_issues_count + end + end From bad1985b3d021c06dadd1ca2b9bfe19f9d74b7bd Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Fri, 22 May 2020 12:10:26 +0800 Subject: [PATCH 4/5] ADD last message with entries api --- app/views/repositories/entries.json.jbuilder | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/repositories/entries.json.jbuilder b/app/views/repositories/entries.json.jbuilder index 75dd197f0..1f1fe8e91 100644 --- a/app/views/repositories/entries.json.jbuilder +++ b/app/views/repositories/entries.json.jbuilder @@ -26,5 +26,5 @@ json.array! @entries do |entry| json.content entry['content'] json.target entry['target'] end - json.commit entry['commit'] + json.commit entry['last_commit'] end From 212d8f8f60c694a4a1d6ab06fbc731ebed5e98e1 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Fri, 22 May 2020 12:32:45 +0800 Subject: [PATCH 5/5] FIX bug --- app/views/repositories/entries.json.jbuilder | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/repositories/entries.json.jbuilder b/app/views/repositories/entries.json.jbuilder index 1f1fe8e91..7327774fb 100644 --- a/app/views/repositories/entries.json.jbuilder +++ b/app/views/repositories/entries.json.jbuilder @@ -26,5 +26,5 @@ json.array! @entries do |entry| json.content entry['content'] json.target entry['target'] end - json.commit entry['last_commit'] + json.commit entry['latest_commit'] end