From 52d73ce3ff9deface209ed72d5ebd4e2db4a0e58 Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 27 Dec 2024 17:15:00 +0800 Subject: [PATCH] fix: organizations and pull cache view --- app/views/pull_requests/index.json.jbuilder | 66 ++++++++++--------- .../users/organizations/index.json.jbuilder | 4 +- 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/app/views/pull_requests/index.json.jbuilder b/app/views/pull_requests/index.json.jbuilder index 6b4175013..666652839 100644 --- a/app/views/pull_requests/index.json.jbuilder +++ b/app/views/pull_requests/index.json.jbuilder @@ -16,36 +16,42 @@ json.pr_need @project.owner.class == User ? false : @project.owner&.cla.try(:pr_ json.issues do json.array! @issues.to_a do |issue| pr = issue.pull_request - json.pull_request_id pr.id - json.pull_request_number pr.gitea_number - json.pull_request_status pr.status - json.pull_request_head pr.head - json.pull_request_base pr.base - json.pull_request_staus pr.status == 1 ? "merged" : (pr.status == 2 ? "closed" : "open") - json.is_original pr.is_original - json.fork_project_id pr.fork_project_id - json.fork_project_identifier pr.fork_project.present? ? pr&.fork_project&.identifier : pr.fork_project_identifier - json.fork_project_user pr.fork_project.present? ? pr&.fork_project&.owner.try(:login) : pr.fork_project_owner - json.fork_project_user_name pr.fork_project.present? ? pr&.fork_project&.owner.try(:show_real_name) : User.find_by(login: pr.fork_project_owner).try(:show_real_name) - json.reviewers pr.reviewers.pluck(:login) - - json.id issue.id - json.name issue.subject - json.pr_time time_from_now(pr.status == 1 ? pr.updated_at : issue.updated_on) - json.pr_full_time pr.status == 1 ? pr.updated_at : issue.updated_on - json.pr_created_unix pr.created_at.to_i - json.assign_user_name issue.get_assign_user.try(:show_real_name) - json.assign_user_login issue.get_assign_user.try(:login) - json.author_name issue.user.blank?? "已注销": issue.user.show_real_name - json.author_login issue.user.try(:login) - json.avatar_url issue.user.blank?? "images/account/del.svg" : url_to_avatar(issue.user) - json.priority issue.priority.try(:name) - json.version issue.version.try(:name) - json.journals_count issue.get_journals_size - json.issue_tags issue.get_issue_tags - json.attached_issues pr.attached_issues.each do |issue| - json.(issue, :id, :subject, :project_issues_index) - end + json.cache! ['v1', issue, pr], expires_in: 10.minutes do + json.pull_request_id pr.id + json.pull_request_number pr.gitea_number + json.pull_request_status pr.status + json.pull_request_head pr.head + json.pull_request_base pr.base + json.pull_request_staus pr.status == 1 ? "merged" : (pr.status == 2 ? "closed" : "open") + json.is_original pr.is_original + json.fork_project_id pr.fork_project_id + json.fork_project_identifier pr.fork_project.present? ? pr&.fork_project&.identifier : pr.fork_project_identifier + json.fork_project_user pr.fork_project.present? ? pr&.fork_project&.owner.try(:login) : pr.fork_project_owner + json.fork_project_user_name pr.fork_project.present? ? pr&.fork_project&.owner.try(:show_real_name) : User.find_by(login: pr.fork_project_owner).try(:show_real_name) + json.reviewers pr.reviewers.pluck(:login) + + json.id issue.id + json.name issue.subject + json.pr_time time_from_now(pr.status == 1 ? pr.updated_at : issue.updated_on) + json.pr_full_time pr.status == 1 ? pr.updated_at : issue.updated_on + json.pr_created_unix pr.created_at.to_i + json.assign_user_name issue.get_assign_user.try(:show_real_name) + json.assign_user_login issue.get_assign_user.try(:login) + json.author_name issue.user.blank?? "已注销": issue.user.show_real_name + json.author_login issue.user.try(:login) + json.avatar_url issue.user.blank?? "images/account/del.svg" : url_to_avatar(issue.user) + json.priority issue.priority.try(:name) + json.version issue.version.try(:name) + json.journals_count issue.get_journals_size + json.issue_tags issue.get_issue_tags + json.attached_issues pr.attached_issues.each do |issue| + json.(issue, :id, :subject, :project_issues_index) + end + end + end end + + + diff --git a/app/views/users/organizations/index.json.jbuilder b/app/views/users/organizations/index.json.jbuilder index 4659d6b0f..9f67e83e5 100644 --- a/app/views/users/organizations/index.json.jbuilder +++ b/app/views/users/organizations/index.json.jbuilder @@ -1,5 +1,7 @@ json.total_count @total_count json.organizations @organizations do |organization| - json.partial! "/organizations/organizations/detail", organization: organization + json.cache! ['v1', organization], expires_in: 10.minutes do + json.partial! "/organizations/organizations/detail", organization: organization + end json.is_home_top @home_top_ids.include?(organization.id) end