From bd24d4000fd0c91cc0fdbd42f6903e0c408d52f1 Mon Sep 17 00:00:00 2001 From: Andrej Rasevic <andrej@rasevicengineering.com> Date: Tue, 18 Jan 2022 18:12:05 -0500 Subject: [PATCH] updates --- .../nodeVersion/arrayMap.js | 12 +++++ .../nodeVersion/arraySort.js | 38 ++++++++++++++ .../nodeVersion/arrayFilter.js | 50 +++++++++++++++++++ .../serverCode/apisIntro/api-demo-v2/app.js | 3 +- .../apisIntro/api-demo-v2/routes/api/books.js | 7 ++- .../apisIntro/api-demo-v2/routes/index.js | 6 +++ .../express-demo/routes/languages.js | 10 ++++ 7 files changed, 122 insertions(+), 4 deletions(-) create mode 100644 codeExamples/week1/introductionToJavascript-1/nodeVersion/arrayMap.js create mode 100644 codeExamples/week1/introductionToJavascript-1/nodeVersion/arraySort.js create mode 100644 codeExamples/week1/introductionToJavascript-2/nodeVersion/arrayFilter.js create mode 100644 codeExamples/week2/serverCode/apisIntro/express-demo/routes/languages.js diff --git a/codeExamples/week1/introductionToJavascript-1/nodeVersion/arrayMap.js b/codeExamples/week1/introductionToJavascript-1/nodeVersion/arrayMap.js new file mode 100644 index 0000000..154ba56 --- /dev/null +++ b/codeExamples/week1/introductionToJavascript-1/nodeVersion/arrayMap.js @@ -0,0 +1,12 @@ +let numbers = [1, 4, 9]; +let doubles = numbers.map(function (num) { + return num * 2; +}); + +let triples = numbers.map( (n,v) => { + console.log(v) + return n * 3; +}) +console.log(numbers) +console.log(doubles) +console.log(triples) \ No newline at end of file diff --git a/codeExamples/week1/introductionToJavascript-1/nodeVersion/arraySort.js b/codeExamples/week1/introductionToJavascript-1/nodeVersion/arraySort.js new file mode 100644 index 0000000..297a0a6 --- /dev/null +++ b/codeExamples/week1/introductionToJavascript-1/nodeVersion/arraySort.js @@ -0,0 +1,38 @@ +let students = [{ + name: "John", + id: 3 +}, +{ + name: "Peter", + id: 2 +}, +{ + name: "Mary", + id: 10 +} +]; +console.log(students) +students.sort(function (x, y) { +return strCompare(x.name, y.name); +}); +console.log(students) +students.sort((s1, s2) => { + if (s1.id < s2.id) { + return -1 + } else if (s1.id > s2.id) { + return 1 + } else { + return 0 + } +}) + +console.log(students) +function strCompare(x, y) { + if (x < y) { + return -1; + } else if (x > y) { + return 1; + } else { + return 0; + } +} \ No newline at end of file diff --git a/codeExamples/week1/introductionToJavascript-2/nodeVersion/arrayFilter.js b/codeExamples/week1/introductionToJavascript-2/nodeVersion/arrayFilter.js new file mode 100644 index 0000000..671570a --- /dev/null +++ b/codeExamples/week1/introductionToJavascript-2/nodeVersion/arrayFilter.js @@ -0,0 +1,50 @@ +let products = [{ + name: "Licensed Metal Fish", + price: 694.00 +}, +{ + name: "Tasty Rubber Chicken", + price: 345.00 +}, +{ + name: "Handmade Fresh Chicken", + price: 984.00 +}, +{ + name: "Ergonomic Frozen Computer", + price: 838.00 +}, +{ + name: "Tasty Cotton Tuna", + price: 914.00 +}, +{ + name: "Fantastic Steel Mouse", + price: 93.00 +}, +{ + name: "Practical Rubber Keyboard", + price: 319.00 +}, +{ + name: "Incredible Wooden Hat", + price: 930.00 +}, +{ + name: "Fantastic Metal Soap", + price: 351.00 +}, +{ + name: "Ergonomic Concrete Mouse", + price: 829.00 +} +]; + +let filtered = products.filter(p => { + return p.price > 900 +}); +let printProduct = p => { + console.log(`${p.name} ${p.price}`) +}; + +filtered.forEach(printProduct); diff --git a/codeExamples/week2/serverCode/apisIntro/api-demo-v2/app.js b/codeExamples/week2/serverCode/apisIntro/api-demo-v2/app.js index a36f1e6..d2e4756 100644 --- a/codeExamples/week2/serverCode/apisIntro/api-demo-v2/app.js +++ b/codeExamples/week2/serverCode/apisIntro/api-demo-v2/app.js @@ -19,11 +19,10 @@ app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); - app.use('/', indexRouter); app.use('/users', usersRouter); app.use('/api/books', booksRouter); -const db = mongoose.connect('mongodb+srv://dbadmin:dbpassword@cmsc388b.a9mha.mongodb.net/388-arasevic?retryWrites=true&w=majority', +const db = mongoose.connect('mongodb+srv://dbadmin:dbpassword@cmsc388b.a9mha.mongodb.net/arasevic-exercise4?retryWrites=true&w=majority', { useNewUrlParser: true, useUnifiedTopology: true}); module.exports = app; diff --git a/codeExamples/week2/serverCode/apisIntro/api-demo-v2/routes/api/books.js b/codeExamples/week2/serverCode/apisIntro/api-demo-v2/routes/api/books.js index 76aa888..b6c75cd 100644 --- a/codeExamples/week2/serverCode/apisIntro/api-demo-v2/routes/api/books.js +++ b/codeExamples/week2/serverCode/apisIntro/api-demo-v2/routes/api/books.js @@ -13,7 +13,7 @@ bookRouter.use('/:bookId', (req, res, next)=>{ console.log("I run only when I match the /:bookId route") Book.findById( req.params.bookId, (err,book)=>{ if(err) - res.status(500).send(err) + res.status(404).send(err) else { req.book = book; next() @@ -39,7 +39,7 @@ bookRouter.route('/:bookId') // Book.findById(req.params.bookId, (err, book) => { // res.json(book) // when using middleware - res.json(req.book) + res.status(200).json(req.book) //}) }) .put((req,res) => { @@ -62,6 +62,8 @@ bookRouter.route('/:bookId') Book.findById(req.params.bookId, (err, book) => { // with middleware // req.book.remove(err => { + if(err) + res.status(404).send(err) book.remove(err => { if(err){ res.status(500).send(err) @@ -73,5 +75,6 @@ bookRouter.route('/:bookId') }) }) + module.exports = bookRouter; \ No newline at end of file diff --git a/codeExamples/week2/serverCode/apisIntro/api-demo-v2/routes/index.js b/codeExamples/week2/serverCode/apisIntro/api-demo-v2/routes/index.js index ecca96a..5c11fde 100644 --- a/codeExamples/week2/serverCode/apisIntro/api-demo-v2/routes/index.js +++ b/codeExamples/week2/serverCode/apisIntro/api-demo-v2/routes/index.js @@ -6,4 +6,10 @@ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); +router.route('/heartbeat') +.get((req, res) => { + res.status(200).json({message: 'server is up'}) +}) + + module.exports = router; diff --git a/codeExamples/week2/serverCode/apisIntro/express-demo/routes/languages.js b/codeExamples/week2/serverCode/apisIntro/express-demo/routes/languages.js new file mode 100644 index 0000000..deb1295 --- /dev/null +++ b/codeExamples/week2/serverCode/apisIntro/express-demo/routes/languages.js @@ -0,0 +1,10 @@ +var express = require('express'); +var router = express.Router(); + +/* GET users listing. */ +router.get('/languages', function(req, res, next) { + res.send('Go is soooo much better than Rust!'); +}); + + +module.exports = router; -- GitLab