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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,5 @@

# Ignore master key for decrypting credentials and more.
/config/master.key

node_modules
18 changes: 18 additions & 0 deletions app/controllers/movies_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,24 @@ def show
)
end

def create
movie = Movie.new(
title: params[:title],
overview: params[:overview],
release_date: params[:release_date],
image_url: params[:image_url],
external_id: params[:external_id]
)

if movie.save
render json: movie.as_json(only: [:id, :title]), status: :created
return
else
render json: { errors: movie.errors.messages }, status: :bad_request
return
end
end

private

def require_movie
Expand Down
2 changes: 2 additions & 0 deletions app/models/movie.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ class Movie < ApplicationRecord
has_many :rentals
has_many :customers, through: :rentals

validates :external_id, presence: true, uniqueness: true

def available_inventory
self.inventory - Rental.where(movie: self, returned: false).length
end
Expand Down
4 changes: 3 additions & 1 deletion config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@

resources :customers, only: [:index]

resources :movies, only: [:index, :show], param: :title
resources :movies, only: [:index, :show, :create], param: :title
get "/library", to: "movies#index", as: "library"
get "/search", to: "movies#index", as: "search"

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
1 change: 0 additions & 1 deletion node_modules/.bin/acorn

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/atob

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/cake

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/cleancss

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/coffee

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/is-ci

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/jade

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/jasmine-node

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/mime

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/mkdirp

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/nodemon

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/nodetouch

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/nopt

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/r.js

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/r_js

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/rc

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/semver

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/sshpk-conv

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/sshpk-sign

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/sshpk-verify

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/uglifyjs

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/uuid

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/which

This file was deleted.

477 changes: 0 additions & 477 deletions node_modules/.yarn-integrity

This file was deleted.

21 changes: 0 additions & 21 deletions node_modules/@types/node/LICENSE

This file was deleted.

16 changes: 0 additions & 16 deletions node_modules/@types/node/README.md

This file was deleted.

57 changes: 0 additions & 57 deletions node_modules/@types/node/assert.d.ts

This file was deleted.

Loading