From f5439bfc1ee889f9214e0396bb99ed559747571a Mon Sep 17 00:00:00 2001 From: OlgaSe Date: Tue, 19 Jan 2021 13:52:52 -0800 Subject: [PATCH 1/4] Initial app setup, added .env, updated .gitignore files (.env, .idea) --- .generators | 8 ++++++++ .gitignore | 1 + Gemfile | 2 ++ 3 files changed, 11 insertions(+) create mode 100644 .generators diff --git a/.generators b/.generators new file mode 100644 index 00000000..16189766 --- /dev/null +++ b/.generators @@ -0,0 +1,8 @@ + + diff --git a/.gitignore b/.gitignore index cb5b9b3e..d2b370fe 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ # Ignore Byebug command history file. .byebug_history .env +.idea # Ignore master key for decrypting credentials and more. /config/master.key diff --git a/Gemfile b/Gemfile index 555e4fe2..b7d69571 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,8 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '2.6.5' +gem 'dotenv-rails', groups: [:development, :test] + # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 6.0', '>= 6.0.3.1' # Use postgresql as the database for Active Record From 77303e0c59f46195b31ec60d2bf42eddb77691ea Mon Sep 17 00:00:00 2001 From: Ana Date: Tue, 19 Jan 2021 16:16:23 -0800 Subject: [PATCH 2/4] commit to pull --- .gitignore | 2 +- .idea/.gitignore | 6 ++ .idea/.rakeTasks | 7 ++ .idea/inspectionProfiles/Project_Default.xml | 6 ++ .idea/misc.xml | 4 + .idea/modules.xml | 8 ++ .idea/vcs.xml | 6 ++ .idea/video-store-consumer-api.iml | 90 ++++++++++++++++++++ Gemfile | 1 + 9 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/.rakeTasks create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/video-store-consumer-api.iml diff --git a/.gitignore b/.gitignore index cb5b9b3e..94b56ae4 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ # Ignore bundler config. /.bundle - +/.generators # Ignore the default SQLite database. /db/*.sqlite3 /db/*.sqlite3-journal diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..8bf4d45d --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,6 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.rakeTasks b/.idea/.rakeTasks new file mode 100644 index 00000000..c6865d9a --- /dev/null +++ b/.idea/.rakeTasks @@ -0,0 +1,7 @@ + + diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..b0db9b0f --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..510e7fcc --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..f00f0a95 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/video-store-consumer-api.iml b/.idea/video-store-consumer-api.iml new file mode 100644 index 00000000..6da23ac2 --- /dev/null +++ b/.idea/video-store-consumer-api.iml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Gemfile b/Gemfile index 555e4fe2..a49c24d3 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '2.6.5' +gem 'dotenv-rails', groups: [:development, :test] # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 6.0', '>= 6.0.3.1' # Use postgresql as the database for Active Record From e7f95579933356a9cfbd8c53e8583a512c3b764d Mon Sep 17 00:00:00 2001 From: Ana Date: Tue, 19 Jan 2021 16:17:21 -0800 Subject: [PATCH 3/4] updated gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 94b56ae4..653ead5a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,9 @@ # Ignore bundler config. /.bundle -/.generators +.generators +.idea +.env # Ignore the default SQLite database. /db/*.sqlite3 /db/*.sqlite3-journal From e87aa4cb3893592db114159fe8681cfca54f1043 Mon Sep 17 00:00:00 2001 From: OlgaSe Date: Wed, 20 Jan 2021 22:26:08 -0800 Subject: [PATCH 4/4] added create method to the videos controller, that adds selected videos to the db --- .gitignore | 1 + app/controllers/videos_controller.rb | 33 ++++++++++++++++++++++++++++ config/routes.rb | 2 +- package.json | 1 + 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d2b370fe..96e42414 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ .byebug_history .env .idea +.generators # Ignore master key for decrypting credentials and more. /config/master.key diff --git a/app/controllers/videos_controller.rb b/app/controllers/videos_controller.rb index c9a2bb08..4e1bd6bb 100644 --- a/app/controllers/videos_controller.rb +++ b/app/controllers/videos_controller.rb @@ -21,6 +21,35 @@ def show ) end + def create + errors = [] + + params[:videos].each do |video_params| + video = Video.create( + title: video_params[:title], + overview: video_params[:overview], + release_date: video_params[:release_date], + image_url: video_params[:image_url], + external_id: video_params[:external_id], + inventory: 1, + ) + + if !video.valid? + errors << video.errors.messages + end + + end + + # videos_params[:videos].each do |video_params| + # Video.create(video_params) + # end + + render( + status: :ok, + json: {errors: errors} + ) + end + private def require_video @@ -29,4 +58,8 @@ def require_video render status: :not_found, json: { errors: { title: ["No video with title #{params["title"]}"] } } end end + + def videos_params + params.permit(videos: [:title, :overview, :release_date, :image_url, :external_id]) + end end diff --git a/config/routes.rb b/config/routes.rb index 16fc2214..1111b4bf 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,7 +3,7 @@ resources :customers, only: [:index] - resources :videos, only: [:index, :show], param: :title + resources :videos, 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" diff --git a/package.json b/package.json index 02f3e3b8..0cb41169 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "express": "~4.17.1", "jade": "~1.11.0", "morgan": "~1.10.0", + "react-router-dom": "^5.2.0", "sequelize": "^6.3.5", "serve-favicon": "~2.5.0" },