diff --git a/app/controllers/videos_controller.rb b/app/controllers/videos_controller.rb index c9a2bb08..dcfd8829 100644 --- a/app/controllers/videos_controller.rb +++ b/app/controllers/videos_controller.rb @@ -21,6 +21,20 @@ def show ) end + def create + new_video = Video.new(external_id: video_params[:external_id], title: video_params[:title],overview: video_params[:overview], release_date: video_params[:release_date], image_url: video_params[:image_url], inventory: 7 ) + + if new_video.external_id != nil && !Video.find_by(external_id: new_video.external_id) + if new_video.save + render status: :created, json: {} + else + render status: :bad_request, json: { errors: video.errors.messages } + end + else + render status: :bad_request, json: { errors: "Video already in database" } + end + end + private def require_video @@ -29,4 +43,8 @@ def require_video render status: :not_found, json: { errors: { title: ["No video with title #{params["title"]}"] } } end end + + def video_params + return params.permit(:external_id, :title, :inventory, :overview, :release_date, :image_url) + end end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 742a7344..c72edc7e 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -9,6 +9,7 @@
+