2018-04-18 15:50:20 -06:00
|
|
|
module Api
|
2018-04-19 07:33:16 -06:00
|
|
|
class SavedGardensController < Api::AbstractController
|
2018-04-18 15:50:20 -06:00
|
|
|
def index
|
2020-02-10 08:05:42 -07:00
|
|
|
maybe_paginate current_device.saved_gardens
|
2018-04-18 15:50:20 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
def create
|
2018-04-19 07:33:16 -06:00
|
|
|
mutate SavedGardens::Create.run(raw_json, device: current_device)
|
2018-04-18 15:50:20 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
def update
|
2018-04-23 11:15:12 -06:00
|
|
|
mutate SavedGardens::Update.run(raw_json,
|
|
|
|
saved_garden: garden,
|
|
|
|
device: current_device)
|
2018-04-18 15:50:20 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
def destroy
|
|
|
|
render json: garden.destroy! && ""
|
|
|
|
end
|
|
|
|
|
2018-04-19 14:37:15 -06:00
|
|
|
def snapshot
|
2019-11-27 13:11:45 -07:00
|
|
|
mutate SavedGardens::Snapshot.run(raw_json, device: current_device)
|
2018-04-19 14:37:15 -06:00
|
|
|
end
|
|
|
|
|
2018-04-20 08:41:10 -06:00
|
|
|
def apply
|
2019-05-22 14:19:26 -06:00
|
|
|
params = { garden: garden,
|
|
|
|
device: current_device,
|
|
|
|
destructive: (request.method == "POST") }
|
2018-04-20 11:30:44 -06:00
|
|
|
mutate SavedGardens::Apply.run(params)
|
2018-04-20 08:41:10 -06:00
|
|
|
end
|
|
|
|
|
2018-04-18 15:50:20 -06:00
|
|
|
private
|
|
|
|
|
2018-04-18 16:17:00 -06:00
|
|
|
def gardens
|
2018-04-19 07:33:16 -06:00
|
|
|
@gardens ||= current_device.saved_gardens
|
2018-04-18 16:17:00 -06:00
|
|
|
end
|
|
|
|
|
2018-04-18 15:50:20 -06:00
|
|
|
def garden
|
2018-04-18 16:17:00 -06:00
|
|
|
@garden ||= gardens.find(params[:id])
|
2018-04-18 15:50:20 -06:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|