diff --git a/api/controllers/EmployeeController.js b/api/controllers/EmployeeController.js deleted file mode 100644 index 080fe65..0000000 --- a/api/controllers/EmployeeController.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * EmployeeController - * - * @description :: Server-side logic for managing employees - * @help :: See http://sailsjs.org/#!/documentation/concepts/Controllers - */ - -var Client = require('node-rest-client').Client; -var client = new Client(); -var endpoint = "http://localhost:1337/employee" - -module.exports = { - - /** - * `EmployeeController.create()` - */ - create: function (req, res) { - - if(req.method != "POST"){ - return res.view('create'); - } - - var args = { - data: req.body, - headers: { "Content-Type": "application/json" } - }; - - client.post(endpoint, args, function (data, response) { - // return res.view('create', {success: { message: "Record added successfully"}}); - if(response.statusCode != "201"){ - return res.view('create', {error:{message: response.statusMessage + ": " + data.reason}}); - } - - return res.view('create', {success:{message: "Record created successfully"}}); - - }) - - }, - - - /** - * `EmployeeController.read()` - */ - read: function (req, res) { - - client.get(endpoint, function (data, response) { - return res.view('read', {employees: data}); - }).on('error', function (err) { - return res.view('read', {error: { message: "There was an error getting the employees"}}); - }); - - }, - - - /** - * `EmployeeController.update()` - */ - update: function (req, res) { - return res.json({ - todo: 'update() is not implemented yet!' - }); - }, - - - /** - * `EmployeeController.delete()` - */ - delete: function (req, res) { - return res.json({ - todo: 'delete() is not implemented yet!' - }); - } -}; - diff --git a/api/controllers/MovieController.js b/api/controllers/MovieController.js new file mode 100644 index 0000000..2bf77e5 --- /dev/null +++ b/api/controllers/MovieController.js @@ -0,0 +1,149 @@ +/** + * EmployeeController + * + * @description :: Server-side logic for managing employees + * @help :: See http://sailsjs.org/#!/documentation/concepts/Controllers + */ + +var Client = require('node-rest-client').Client; +var client = new Client(); +var endpoint = "http://localhost:1337/movies" + +module.exports = { + + /** + * `MovieController.create()` + */ + create: function (req, res) + { + + if(req.method != "POST") + { + return res.view('create'); + } + + var args = + { + data: req.body, + headers: { "Content-Type": "application/json" } + }; + + client.post(endpoint, args, function (data, response) + { + //return res.view('create', {success: { message: "Record added successfully"}}); + if(response.statusCode != "201") + { + return res.view('create', {error:{message: response.statusMessage + ": " + data.reason}}); + } + + return res.view('create', {success:{message: "Record created successfully"}}); + + }) + }, + + + + + + + /** + * `MovieController.read()` + */ + read: function (req, res) + { + + client.get(endpoint, function (data, response) + { + return res.view('read', {movies: data}); + }).on('error', function (err) { + return res.view('read', {error: { message: "There was an error getting the records"}}); + }); + + }, + + + + + + /** + * `MovieController.update()` + */ + update: function (req, res) { + + var values = req.allParams(); + var modifiedEndpoint = "http://localhost:1337/movies/" + values.id; + + //this calls the data you need to update + if(req.method != "POST"){ + client.get(endpoint, function (data, response) { + return res.view('update', {movies: data}); + }).on('error', function (err) { + return res.view('update', {error: { message: "There was an error getting the records"}}); + }); + + }else{ + var args = { + data: req.body, + headers: { "Content-Type": "application/json" } + }; + //this actually updates + client.put(modifiedEndpoint, args, function (data, response) { + //return res.view('create', {success: { message: "Record edited successfully"}}); + if(response.statusCode != "200"){ + return res.view('update', {error:{message: response.statusMessage + ": " + data.reason}}); + } + return res.redirect('back'); + return res.view('update', {success:{message: "Record edited successfully"}}); + + }) + } + + + }, + + + + + + + + + + + /** + * `MovieController.delete()` + */ + delete: function (req, res) { + + + var values = req.allParams(); + var modifiedEndpoint = "http://localhost:1337/movies/" + values.id; + + //this calls the data you need to delete and populates the table + if(req.method != "POST"){ + client.get(endpoint, function (data, response) { + return res.view('delete', {movies: data}); + }).on('error', function (err) { + return res.view('delete', {error: { message: "There was an error getting the records"}}); + }); + + }else{ + var args = { + data: req.body, + headers: { "Content-Type": "application/json" } + }; + //this actually deletes + client.delete(modifiedEndpoint, args, function (data, response) { + //return res.view('create', {success: { message: "Record delete successfully"}}); + if(response.statusCode != "200"){ + return res.view('delete', {error:{message: response.statusMessage + ": " + data.reason}}); + } + return res.redirect('back'); + return res.view('delete', {success:{message: "Record deleted successfully"}}); + + }) + } + } + }; + + diff --git a/config/routes.js b/config/routes.js index 1910d03..b1af5fb 100644 --- a/config/routes.js +++ b/config/routes.js @@ -32,10 +32,10 @@ module.exports.routes = { * * ***************************************************************************/ - '/create':'EmployeeController.create', - '/' :'EmployeeController.read', - '/update':'EmployeeController.update', - '/delete':'EmployeeController.delete' + '/create':'MovieController.create', + '/' :'MovieController.read', + '/update':'MovieController.update', + '/delete':'MovieController.delete' /*************************************************************************** * * diff --git a/views/create.ejs b/views/create.ejs index 9c8491f..ea21f5e 100644 --- a/views/create.ejs +++ b/views/create.ejs @@ -1,69 +1,53 @@
<%- partial ('partials/statusmessage.ejs') %> -

Add Employee

+

Add Movie

- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- - Password at least 8 characters, 1 upppercase, 1 lowercase, and one number + + Score must be entered as a rational number between 0-10. (#.#)
-
- -
-
- -
+
-
-
- -
-
-
\ No newline at end of file + diff --git a/views/delete.ejs b/views/delete.ejs new file mode 100644 index 0000000..0b3de52 --- /dev/null +++ b/views/delete.ejs @@ -0,0 +1,52 @@ + + +
+<%- partial ('partials/statusmessage.ejs') %> +

Movie Database

+ + + + + + + + + + + <% if(typeof movies != "undefined" && movies.length > 0){ %> + <% movies.forEach(function(movie){ %> + + + + + + + + + + <% }) %> + <% }else{ %> + + + + <% } %> + +
IDMovie TitleMPAA RatingRelease YearGenreDirectorIMBD Rating (score/10)
<%= movie.id %><%= movie.title %><%= movie.rating %><%= movie.year %><%= movie.genre %><%= movie.director %><%= movie.imbdRating %>
0 records found
+
+

Delete Movie

+
+
+ +
+ +
+
+
+
+ +
+
+
diff --git a/views/layout.ejs b/views/layout.ejs index 9a06b59..93f833c 100644 --- a/views/layout.ejs +++ b/views/layout.ejs @@ -4,7 +4,7 @@ - Employee Admin + Movie IMBD Database - + <%- partial ('partials/navigation.ejs') %> diff --git a/views/partials/navigation.ejs b/views/partials/navigation.ejs index dd52ad6..ae15dd0 100644 --- a/views/partials/navigation.ejs +++ b/views/partials/navigation.ejs @@ -1,4 +1,4 @@ -