43 lines
959 B
Ruby
43 lines
959 B
Ruby
module Api
|
|
class SavedGardensController < Api::AbstractController
|
|
def index
|
|
maybe_paginate current_device.saved_gardens
|
|
end
|
|
|
|
def create
|
|
mutate SavedGardens::Create.run(raw_json, device: current_device)
|
|
end
|
|
|
|
def update
|
|
mutate SavedGardens::Update.run(raw_json,
|
|
saved_garden: garden,
|
|
device: current_device)
|
|
end
|
|
|
|
def destroy
|
|
render json: garden.destroy! && ""
|
|
end
|
|
|
|
def snapshot
|
|
mutate SavedGardens::Snapshot.run(raw_json, device: current_device)
|
|
end
|
|
|
|
def apply
|
|
params = { garden: garden,
|
|
device: current_device,
|
|
destructive: (request.method == "POST") }
|
|
mutate SavedGardens::Apply.run(params)
|
|
end
|
|
|
|
private
|
|
|
|
def gardens
|
|
@gardens ||= current_device.saved_gardens
|
|
end
|
|
|
|
def garden
|
|
@garden ||= gardens.find(params[:id])
|
|
end
|
|
end
|
|
end
|