Stub out Garden and PlantTemplate
parent
69c24994c3
commit
147262fcbe
|
@ -0,0 +1,25 @@
|
|||
module Api
|
||||
class GardensController < Api::AbstractController
|
||||
def index
|
||||
render json: current_device.gardens
|
||||
end
|
||||
|
||||
def create
|
||||
mutate Gardens::Create.run(raw_json, device: current_device)
|
||||
end
|
||||
|
||||
def update
|
||||
mutate Gardens::Update.run(raw_json, garden: garden, device: current_device)
|
||||
end
|
||||
|
||||
def destroy
|
||||
render json: garden.destroy! && ""
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def garden
|
||||
@garden ||= current_device.gardens.find(params[:id])
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,13 @@
|
|||
module Gardens
|
||||
class Create < Mutations::Command
|
||||
required do
|
||||
end
|
||||
|
||||
optional do
|
||||
end
|
||||
|
||||
def execute
|
||||
raise "NOT IMPLEMENTED"
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,13 @@
|
|||
module Gardens
|
||||
class Create < Mutations::Command
|
||||
required do
|
||||
end
|
||||
|
||||
optional do
|
||||
end
|
||||
|
||||
def execute
|
||||
raise "NOT IMPLEMENTED"
|
||||
end
|
||||
end
|
||||
end
|
|
@ -8,6 +8,7 @@ require "rails/all"
|
|||
Bundler.require(:default, Rails.env)
|
||||
module FarmBot
|
||||
class Application < Rails::Application
|
||||
Delayed::Worker.max_attempts = 4
|
||||
config.after_initialize do
|
||||
Bullet.enable = true
|
||||
Bullet.console = true
|
||||
|
|
|
@ -15,6 +15,7 @@ FarmBot::Application.routes.draw do
|
|||
tools: [:create, :destroy, :index, :show, :update],
|
||||
webcam_feeds: [:create, :destroy, :index, :show, :update],
|
||||
device_configs: [:create, :destroy, :index, :update],
|
||||
gardens: [:create, :destroy, :index, :update],
|
||||
pin_bindings: [:create, :destroy, :index, :show, :update]
|
||||
}.to_a.map { |(name, only)| resources name, only: only }
|
||||
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
class CreateGardens < ActiveRecord::Migration[5.1]
|
||||
def change
|
||||
create_table :gardens do |t|
|
||||
t.string :name, null: false
|
||||
t.references :device, null: false
|
||||
t.timestamps
|
||||
end
|
||||
add_reference :points, :garden, index: true
|
||||
end
|
||||
end
|
|
@ -0,0 +1,20 @@
|
|||
class CreateGardens < ActiveRecord::Migration[5.1]
|
||||
def change
|
||||
create_table :gardens do |t|
|
||||
t.string :name, null: false
|
||||
t.references :device, null: false
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
create_table :plant_templates do |t|
|
||||
t.references :garden, null: false
|
||||
t.references :device, null: false
|
||||
t.float "radius", default: 25.0, null: false
|
||||
t.float "x", null: false
|
||||
t.float "y", null: false
|
||||
t.float "z", default: 0.0, null: false
|
||||
t.string "name", default: "untitled", null: false
|
||||
t.string "openfarm_slug", limit: 280, default: "null", null: false
|
||||
end
|
||||
end
|
||||
end
|
21
db/schema.rb
21
db/schema.rb
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20180417123713) do
|
||||
ActiveRecord::Schema.define(version: 20180418205557) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -201,6 +201,14 @@ ActiveRecord::Schema.define(version: 20180417123713) do
|
|||
t.index ["device_id"], name: "index_firmware_configs_on_device_id"
|
||||
end
|
||||
|
||||
create_table "gardens", force: :cascade do |t|
|
||||
t.string "name", null: false
|
||||
t.bigint "device_id", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["device_id"], name: "index_gardens_on_device_id"
|
||||
end
|
||||
|
||||
create_table "global_configs", force: :cascade do |t|
|
||||
t.string "key"
|
||||
t.text "value"
|
||||
|
@ -293,6 +301,17 @@ ActiveRecord::Schema.define(version: 20180417123713) do
|
|||
t.index ["sequence_id"], name: "index_pin_bindings_on_sequence_id"
|
||||
end
|
||||
|
||||
create_table "plant_templates", force: :cascade do |t|
|
||||
t.float "radius", default: 25.0, null: false
|
||||
t.float "x", null: false
|
||||
t.float "y", null: false
|
||||
t.float "z", default: 0.0, null: false
|
||||
t.bigint "garden_id", null: false
|
||||
t.string "name", default: "untitled", null: false
|
||||
t.string "openfarm_slug", limit: 280, default: "50", null: false
|
||||
t.index ["garden_id"], name: "index_plant_templates_on_garden_id"
|
||||
end
|
||||
|
||||
create_table "points", id: :serial, force: :cascade do |t|
|
||||
t.float "radius", default: 25.0, null: false
|
||||
t.float "x", null: false
|
||||
|
|
Loading…
Reference in New Issue