Skip to content

Instantly share code, notes, and snippets.

@teasmade
Last active May 2, 2021 06:21
Show Gist options
  • Save teasmade/3161a9e71b6ab9471142079f3370cc7b to your computer and use it in GitHub Desktop.
Save teasmade/3161a9e71b6ab9471142079f3370cc7b to your computer and use it in GitHub Desktop.
Express Quest 2
// https://imgur.com/a/hXtrYLB
const connection = require('./db-config');
connection.connect(function (err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
// Express is already installed
const express = require('express');
const app = express();
// Array of movies
const movies = require('./movies');
// In codesandbox we need to use the default port which is 8080
const port = 3000;
app.listen(port, () => {
console.log(`Server is running on ${port}`);
});
app.get('/', (request, response) => {
response.send('Welcome to my favourite movie list');
});
app.get('/api/movies', (request, res) => {
connection.query('SELECT * from movies', (err, results) => {
if (err) {
res.status(500).send('Error retrieving data');
} else {
res.status(200).json(results);
}
});
});
app.get('/api/movies/:id', (req, res) => {
connection.query('SELECT * from movies WHERE id=?', [req.params.id], (err, results) => {
if (err) {
console.log(err);
res.status(500).send('Error retrieving data');
} else {
res.status(200).json(results);
}
});
});
app.get('/api/search', (request, response) => {
const time = request.query.maxDuration;
connection.query('SELECT * from movies WHERE duration<=?', [time], (err, results) => {
if (err) {
console.log(err);
response.status(500).send('Error retrieving data');
} else {
response.status(200).json(results);
}
});
});
app.get('/api/users', (request, response) => {
response.status(401).send('unauthorized you naughty');
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment