Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions app/controllers/movies_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,22 @@ def show
)
end

def create
# given JSON from addMovie in movie_view, create a movie in the db
movie = Movie.new(title: params["title"], overview: params["overview"], release_date: params["release_date"], image_url: params["image_url"], inventory: params["inventory"])

if movie.save
render status: :ok, json: movie
else
render status: "Failed to create movie"
end

end

def destroy
Movie.destroy(params["id"])
end

private

def require_movie
Expand Down
5 changes: 5 additions & 0 deletions app/models/movie.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,12 @@ def image_url
if !orig_value
MovieWrapper::DEFAULT_IMG_URL
else
puts "This is the orig_value" + orig_value
if orig_value.include?('http')
return orig_value
else
MovieWrapper.construct_image_url(orig_value)
end
end
end
end
2 changes: 1 addition & 1 deletion config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

resources :customers, only: [:index]

resources :movies, only: [:index, :show], param: :title
resources :movies, only: [:index, :show, :create, :destroy], 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"
Expand Down
6 changes: 3 additions & 3 deletions db/seeds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
Customer.create!(customer)
end

JSON.parse(File.read('db/seeds/movies.json')).each do |movie|
Movie.create!(movie)
end
# JSON.parse(File.read('db/seeds/movies.json')).each do |movie|
# Movie.create!(movie)
# end
17 changes: 11 additions & 6 deletions lib/movie_wrapper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,13 @@ def self.search(query)
return []
else
movies = response["results"].map do |result|
self.construct_movie(result)
if Movie.exists?(release_date: result["release_date"])
Movie.find_by_release_date(result["release_date"])
else
self.construct_movie(result)
end
end
# puts movies
return movies
end
end
Expand All @@ -24,11 +29,11 @@ def self.search(query)

def self.construct_movie(api_result)
Movie.new(
title: api_result["title"],
overview: api_result["overview"],
release_date: api_result["release_date"],
image_url: api_result["poster_path"], #(api_result["poster_path"] ? self.construct_image_url(api_result["poster_path"]) : nil),
external_id: api_result["id"])
title: api_result["title"],
overview: api_result["overview"],
release_date: api_result["release_date"],
image_url: api_result["poster_path"], #(api_result["poster_path"] ? self.construct_image_url(api_result["poster_path"]) : nil),
external_id: api_result["id"])
end

def self.construct_image_url(img_name)
Expand Down