gitlink-forgeplus/app/controllers/api/v1/projects/datasets_controller.rb

38 lines
1010 B
Ruby

class Api::V1::Projects::DatasetsController < Api::V1::BaseController
before_action :require_public_and_member_above
before_action :find_dataset, only: [:update, :show]
def create
return render_error('该项目下已存在数据集!') if @project.project_dataset.present?
@project_dataset = ProjectDataset.new(dataset_params.merge!(project_id: @project.id))
if @project_dataset.save!
render_ok
else
render_error('创建数据集失败!')
end
end
def update
@project_dataset.attributes = dataset_params
if @project_dataset.save!
render_ok
else
render_error("更新数据集失败!")
end
end
def show
@attachments = @project_dataset.attachments.includes(:author)
end
private
def dataset_params
params.permit(:title, :description, :license_id, :paper_content)
end
def find_dataset
@project_dataset = @project.project_dataset
return render_not_found unless @project_dataset.present?
end
end