From 21db63bb4e1601ec4391799628ab35c075f83199 Mon Sep 17 00:00:00 2001 From: Semret Nicodimos Date: Mon, 17 Dec 2018 14:02:39 -0800 Subject: [PATCH 1/7] created db, migration and env file with token --- db/schema.rb | 59 +++++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/db/schema.rb b/db/schema.rb index ffb28f7e..d4b52b3c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,40 +10,43 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20180618042754) do +ActiveRecord::Schema.define(version: 2018_06_18_042754) do - create_table "customers", force: :cascade do |t| - t.string "name" + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" + + create_table "customers", id: :serial, force: :cascade do |t| + t.string "name" t.datetime "registered_at" - t.string "address" - t.string "city" - t.string "state" - t.string "postal_code" - t.string "phone" - t.float "account_credit" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false + t.string "address" + t.string "city" + t.string "state" + t.string "postal_code" + t.string "phone" + t.float "account_credit" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end - create_table "movies", force: :cascade do |t| - t.string "title" - t.text "overview" - t.date "release_date" - t.integer "inventory" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - t.string "image_url" - t.integer "external_id" + create_table "movies", id: :serial, force: :cascade do |t| + t.string "title" + t.text "overview" + t.date "release_date" + t.integer "inventory" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "image_url" + t.integer "external_id" end - create_table "rentals", force: :cascade do |t| - t.integer "customer_id" - t.integer "movie_id" - t.date "checkout_date" - t.date "due_date" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - t.boolean "returned" + create_table "rentals", id: :serial, force: :cascade do |t| + t.integer "customer_id" + t.integer "movie_id" + t.date "checkout_date" + t.date "due_date" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.boolean "returned" t.index ["customer_id"], name: "index_rentals_on_customer_id" t.index ["movie_id"], name: "index_rentals_on_movie_id" end From 463dcfdee8d0014290b5a9e6f9d3c2895831d185 Mon Sep 17 00:00:00 2001 From: Semret Nicodimos Date: Tue, 18 Dec 2018 10:53:22 -0800 Subject: [PATCH 2/7] changed ruby version for aws deployment --- .gitignore | 5 +++++ Gemfile | 2 +- Gemfile.lock | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4a494a75..58456ca4 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,8 @@ # Ignore master key for decrypting credentials and more. /config/master.key + +# Elastic Beanstalk Files +.elasticbeanstalk/* +!.elasticbeanstalk/*.cfg.yml +!.elasticbeanstalk/*.global.yml diff --git a/Gemfile b/Gemfile index 2d53ba9c..7f721b54 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } -ruby '2.5.1' +ruby '2.5.3' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' diff --git a/Gemfile.lock b/Gemfile.lock index a0a07df1..0bf0d97a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -196,7 +196,7 @@ DEPENDENCIES will_paginate RUBY VERSION - ruby 2.5.1p57 + ruby 2.5.3p105 BUNDLED WITH - 1.16.6 + 1.17.2 From d77e0f54c4e445d690115ec53e68ff45a0c67ef4 Mon Sep 17 00:00:00 2001 From: Semret Nicodimos Date: Wed, 19 Dec 2018 11:38:35 -0800 Subject: [PATCH 3/7] added create methods and adding a movies from query to the library --- app/controllers/movies_controller.rb | 16 +++++++++++++++- config/routes.rb | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/app/controllers/movies_controller.rb b/app/controllers/movies_controller.rb index 362e2791..74f27113 100644 --- a/app/controllers/movies_controller.rb +++ b/app/controllers/movies_controller.rb @@ -17,8 +17,18 @@ def show json: @movie.as_json( only: [:title, :overview, :release_date, :inventory], methods: [:available_inventory] - ) ) + ) + end + + def create + movie = Movie.new(movie_params) + + if movie.save + render json: {id: movie.id} + else + render_error(:bad_request, movie.errors.messages) + end end private @@ -29,4 +39,8 @@ def require_movie render status: :not_found, json: { errors: { title: ["No movie with title #{params["title"]}"] } } end end + + def movie_params + params.permit(:title, :overview, :release_date, :inventory) +end end diff --git a/config/routes.rb b/config/routes.rb index f4c99688..76715f9a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,7 +3,7 @@ resources :customers, only: [:index] - resources :movies, only: [:index, :show], param: :title + resources :movies, only: [:index, :show, :create], param: :title post "/rentals/:title/check-out", to: "rentals#check_out", as: "check_out" post "/rentals/:title/return", to: "rentals#check_in", as: "check_in" From cf5733de9fc55795b0019e5d8afbb340485fe368 Mon Sep 17 00:00:00 2001 From: Semret Nicodimos Date: Wed, 19 Dec 2018 11:42:32 -0800 Subject: [PATCH 4/7] minor indentation changes --- app/controllers/movies_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/movies_controller.rb b/app/controllers/movies_controller.rb index 74f27113..0be08713 100644 --- a/app/controllers/movies_controller.rb +++ b/app/controllers/movies_controller.rb @@ -41,6 +41,6 @@ def require_movie end def movie_params - params.permit(:title, :overview, :release_date, :inventory) -end + params.permit(:title, :overview, :release_date, :inventory) + end end From 4c2dd4599f9889c3a2a621c370029ef80fc425fd Mon Sep 17 00:00:00 2001 From: Karis Kim Date: Wed, 19 Dec 2018 12:17:21 -0800 Subject: [PATCH 5/7] updated gem --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 2d53ba9c..7f721b54 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } -ruby '2.5.1' +ruby '2.5.3' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' diff --git a/Gemfile.lock b/Gemfile.lock index a0a07df1..0bf0d97a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -196,7 +196,7 @@ DEPENDENCIES will_paginate RUBY VERSION - ruby 2.5.1p57 + ruby 2.5.3p105 BUNDLED WITH - 1.16.6 + 1.17.2 From a691c1b38b4038a797fad262fd1815885de7219d Mon Sep 17 00:00:00 2001 From: Karis Kim Date: Wed, 19 Dec 2018 14:20:26 -0800 Subject: [PATCH 6/7] changed params to take in image url --- app/controllers/movies_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/movies_controller.rb b/app/controllers/movies_controller.rb index 0be08713..553a23e4 100644 --- a/app/controllers/movies_controller.rb +++ b/app/controllers/movies_controller.rb @@ -41,6 +41,6 @@ def require_movie end def movie_params - params.permit(:title, :overview, :release_date, :inventory) + params.permit(:title, :overview, :release_date, :inventory, :image_url) end end From 0c734fa012977d4381f16e8df2b4dcfbb09466d7 Mon Sep 17 00:00:00 2001 From: Karis Kim Date: Wed, 19 Dec 2018 15:47:41 -0800 Subject: [PATCH 7/7] changed route to make post happen in axios in react --- config/routes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index 76715f9a..1479a690 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -5,7 +5,7 @@ resources :movies, only: [:index, :show, :create], param: :title - post "/rentals/:title/check-out", to: "rentals#check_out", as: "check_out" + post "/rentals/:title/:customer_id/check-out", to: "rentals#check_out", as: "check_out" post "/rentals/:title/return", to: "rentals#check_in", as: "check_in" get "/rentals/overdue", to: "rentals#overdue", as: "overdue"