Class: Api::DatasetsController

Inherits:
ApplicationController show all
Includes:
Follow, Media, Recommendations, Relations, Utils
Defined in:
app/controllers/api/datasets_controller.rb

Instance Method Summary collapse

Methods included from Utils

#get_id_from_short_title, #is_admin, #is_member, #is_reviewer, #nickname_exist, #short_title_exist

Methods included from Relations

#clap, #clappers, #follow, #review, #reviewed_object, #save, #saved_objects

Methods included from Recommendations

#recommended, #similar

Methods included from Follow

#followers, #following

Methods included from Media

#media_create, #media_destroy, #media_index, #media_show, #media_update, #media_upload

Methods included from Response

#json_response

Instance Method Details

#createObject

POST /datasets



40
41
42
43
44
45
46
47
48
49
50
# File 'app/controllers/api/datasets_controller.rb', line 40

def create
  @dataset = Dataset.new(dataset_params)
  @dataset.author_id = current_user.id
  @dataset.datasetable = @from
  if @dataset.save
    current_user.add_edge(@dataset, 'is_author_of')
    render json: @dataset, status: :created, include: '**'
  else
    render json: @dataset.errors, status: :unprocessable_entity
  end
end

#destroyObject

DELETE /datasets/1



62
63
64
65
# File 'app/controllers/api/datasets_controller.rb', line 62

def destroy
  @dataset.destroy
  current_user.remove_edge(@dataset, 'is_author_of')
end

#indexObject

GET /datasets



17
18
19
20
# File 'app/controllers/api/datasets_controller.rb', line 17

def index
  @pagy, @datasets = pagy(Dataset.includes([:data, :sources, :tags]).all)
  render json: @datasets, status: :ok, include: '**'
end

#makeObject

POST /datasets/make



28
29
30
31
32
33
34
35
36
37
# File 'app/controllers/api/datasets_controller.rb', line 28

def make
  @dataset = Dataset.new(dataset_params)
  @dataset.author_id = current_user.id
  @dataset.datasetable = @from
  if @dataset.valid?
    render json: @dataset, status: :ok, include: '**'
  else
    render json: @dataset.errors, status: :unprocessable_entity
  end
end

#showObject

GET /datasets/1



23
24
25
# File 'app/controllers/api/datasets_controller.rb', line 23

def show
  render json: @dataset, status: :ok, include: '**'
end

#updateObject

PATCH/PUT /datasets/1



53
54
55
56
57
58
59
# File 'app/controllers/api/datasets_controller.rb', line 53

def update
  if @dataset.update(dataset_params)
    render json: @dataset, include: '**'
  else
    render json: @dataset.errors, status: :unprocessable_entity
  end
end