diff --git a/app/controllers/chips_controller.rb b/app/controllers/chips_controller.rb index b19e27a..950d937 100644 --- a/app/controllers/chips_controller.rb +++ b/app/controllers/chips_controller.rb @@ -1,6 +1,29 @@ class ChipsController < ApplicationController def index - json_response Chip.where(enabled: true).order(:name).to_json(include: :base_chip_values) + all_chips = [ + { + id: 1, + name: 'US Dollar', + symbol: '$', + code: 'USD', + prefixed: true + }, + { + id: 2, + name: 'Bosnian Convertible Mark', + symbol: 'KM', + code: 'BAM', + prefixed: false + }, + { + id: 3, + name: 'Euro', + symbol: '€', + code: 'EUR', + prefixed: false + } + ] + json_response all_chips end def create diff --git a/app/controllers/ogs_controller.rb b/app/controllers/ogs_controller.rb new file mode 100644 index 0000000..f96700b --- /dev/null +++ b/app/controllers/ogs_controller.rb @@ -0,0 +1,28 @@ +class OgsController < ApplicationController + def show + if Og.count.zero? + Og.create.save + end + + json_response Og.first + end + + def update + if og_params[:chip_scale].to_i.positive? + Og.update(og_params) + json_response onboarded: true + else + error_response :bad_request + end + end + + private + + def og_params + params.require(:og).permit :chip_name, + :chip_code, + :chip_symbol, + :chip_scale, + :chip_prefixed + end +end \ No newline at end of file diff --git a/app/models/og.rb b/app/models/og.rb new file mode 100644 index 0000000..c190614 --- /dev/null +++ b/app/models/og.rb @@ -0,0 +1,3 @@ +class Og < ApplicationRecord + +end \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index e3f2417..d722171 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,6 +1,7 @@ Rails.application.routes.draw do constraints format: :json do scope :api do + resource :og, only: [:show, :update] resources :money_moves resources :work resources :chips, only: %i[index create destroy] diff --git a/db/migrate/20200918032033_create_ogs.rb b/db/migrate/20200918032033_create_ogs.rb new file mode 100644 index 0000000..041a859 --- /dev/null +++ b/db/migrate/20200918032033_create_ogs.rb @@ -0,0 +1,13 @@ +class CreateOgs < ActiveRecord::Migration[5.2] + def change + create_table :ogs do |t| + t.text :chip_name + t.text :chip_code + t.text :chip_symbol + t.boolean :chip_prefixed + t.integer :chip_scale + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 41dcfe5..ee86e7b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -41,8 +41,6 @@ ActiveRecord::Schema.define(version: 2020_09_19_023237) do t.text "about" t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.bigint "chip_id" - t.index ["chip_id"], name: "index_homies_on_chip_id" end create_table "money_moves", force: :cascade do |t| @@ -61,6 +59,16 @@ ActiveRecord::Schema.define(version: 2020_09_19_023237) do t.datetime "updated_at", null: false end + create_table "ogs", force: :cascade do |t| + t.text "chip_name" + t.text "chip_code" + t.text "chip_symbol" + t.boolean "chip_prefixed" + t.integer "chip_scale" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + add_foreign_key "chip_values", "chips", column: "base_chip_id" add_foreign_key "chip_values", "chips", column: "secondary_chip_id" end