| @@ -0,0 +1,10 @@ | |||||
| class Api::V1::ProjectDatasetsController < Api::V1::BaseController | |||||
| def index | |||||
| return render_error("请输入正确的项目id字符串") unless params[:ids].present? | |||||
| ids = params[:ids].split(",") | |||||
| @project_datasets = ProjectDataset.where(project_id: ids).includes(:license, :project) | |||||
| @project_datasets = kaminari_unlimit_paginate(@project_datasets) | |||||
| end | |||||
| end | |||||
| @@ -43,7 +43,8 @@ class ProjectsController < ApplicationController | |||||
| @total_count = | @total_count = | ||||
| if category_id.blank? && params[:search].blank? && params[:topic_id].blank? | if category_id.blank? && params[:search].blank? && params[:topic_id].blank? | ||||
| # 默认查询时count性能问题处理 | # 默认查询时count性能问题处理 | ||||
| ProjectCategory.sum("projects_count") - Project.visible.joins("left join organization_extensions on organization_extensions.organization_id = projects.user_id").where("organization_extensions.visibility =2").count | |||||
| # ProjectCategory.sum("projects_count") - Project.visible.joins("left join organization_extensions on organization_extensions.organization_id = projects.user_id").where("organization_extensions.visibility =2").count | |||||
| @projects.total_count | |||||
| elsif params[:search].present? || params[:topic_id].present? | elsif params[:search].present? || params[:topic_id].present? | ||||
| @projects.total_count | @projects.total_count | ||||
| else | else | ||||
| @@ -0,0 +1,14 @@ | |||||
| json.total_count @project_datasets.total_count | |||||
| json.project_datasets @project_datasets.each do |dataset| | |||||
| json.(dataset, :id, :title, :description, :paper_content) | |||||
| json.project do | |||||
| json.partial! "api/v1/projects/simple_detail", project: dataset.project | |||||
| end | |||||
| if dataset.license.present? | |||||
| json.license do | |||||
| json.(dataset.license, :name, :content) | |||||
| end | |||||
| else | |||||
| json.license nil | |||||
| end | |||||
| end | |||||
| @@ -1,7 +1,7 @@ | |||||
| if project.present? | if project.present? | ||||
| json.type project.project_type | json.type project.project_type | ||||
| json.(project, | json.(project, | ||||
| :description, :forked_count, :forked_from_project_id, :identifier, | |||||
| :id, :description, :forked_count, :forked_from_project_id, :identifier, | |||||
| :issues_count, :pull_requests_count, :invite_code, :website, :platform, | :issues_count, :pull_requests_count, :invite_code, :website, :platform, | ||||
| :name, :open_devops, :praises_count, :is_public, :status, :watchers_count, | :name, :open_devops, :praises_count, :is_public, :status, :watchers_count, | ||||
| :ignore_id, :license_id, :project_category_id, :project_language_id) | :ignore_id, :license_id, :project_category_id, :project_language_id) | ||||
| @@ -17,6 +17,7 @@ json.projects @projects do |project| | |||||
| json.forked_from_project_id project.forked_from_project_id | json.forked_from_project_id project.forked_from_project_id | ||||
| json.open_devops project.open_devops? | json.open_devops project.open_devops? | ||||
| json.platform project.platform | json.platform project.platform | ||||
| json.has_dataset project.has_menu_permission("dataset") && project.project_dataset.present? | |||||
| json.author do | json.author do | ||||
| if project.educoder? | if project.educoder? | ||||
| project_educoder = project.project_educoder | project_educoder = project.project_educoder | ||||
| @@ -145,7 +145,7 @@ defaults format: :json do | |||||
| resources :projects, only: [:index] | resources :projects, only: [:index] | ||||
| resources :project_topics, only: [:index, :create, :destroy] | resources :project_topics, only: [:index, :create, :destroy] | ||||
| resources :project_datasets, only: [:index] | |||||
| end | end | ||||
| end | end | ||||