3
seasoned_api/.eslintrc.json
Normal file
3
seasoned_api/.eslintrc.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"extends": "airbnb-base"
|
||||||
|
}
|
||||||
@@ -2,12 +2,14 @@
|
|||||||
"name": "seasoned-api",
|
"name": "seasoned-api",
|
||||||
"main": "webserver/server.js",
|
"main": "webserver/server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "cross-env SEASONED_CONFIG=conf/development.json NODE_PATH=. node src/webserver/server.js"
|
"start": "cross-env SEASONED_CONFIG=conf/development.json NODE_PATH=. node src/webserver/server.js",
|
||||||
|
"lint": "./node_modules/.bin/eslint src/webserver/"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bcrypt-nodejs": "^0.0.3",
|
"bcrypt-nodejs": "^0.0.3",
|
||||||
"body-parser": "~1.0.1",
|
"body-parser": "~1.0.1",
|
||||||
"cross-env": "^3.1.3",
|
"cross-env": "^3.1.3",
|
||||||
|
"eslint": "^4.9.0",
|
||||||
"express": "~4.0.0",
|
"express": "~4.0.0",
|
||||||
"jsonwebtoken": "^8.0.1",
|
"jsonwebtoken": "^8.0.1",
|
||||||
"mongoose": "^3.6.13",
|
"mongoose": "^3.6.13",
|
||||||
@@ -19,5 +21,9 @@
|
|||||||
"request-promise": "^4.2",
|
"request-promise": "^4.2",
|
||||||
"sqlite": "^2.2.1",
|
"sqlite": "^2.2.1",
|
||||||
"sqlite3": "^2.5.0"
|
"sqlite3": "^2.5.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"eslint-config-airbnb-base": "^12.1.0",
|
||||||
|
"eslint-plugin-import": "^2.8.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
|
const express = require('express');
|
||||||
var express= require('express'); // call express
|
const bodyParser = require('body-parser');
|
||||||
var app = express(); // define our app using express
|
|
||||||
var bodyParser = require('body-parser');
|
|
||||||
const tokenToUser = require('./middleware/tokenToUser');
|
const tokenToUser = require('./middleware/tokenToUser');
|
||||||
const mustBeAuthenticated = require('./middleware/mustBeAuthenticated');
|
const mustBeAuthenticated = require('./middleware/mustBeAuthenticated');
|
||||||
|
|
||||||
|
const app = express(); // define our app using express
|
||||||
// this will let us get the data from a POST
|
// this will let us get the data from a POST
|
||||||
// configure app to use bodyParser()
|
// configure app to use bodyParser()
|
||||||
app.use(bodyParser.json());
|
app.use(bodyParser.json());
|
||||||
@@ -14,9 +13,9 @@ app.use(bodyParser.json());
|
|||||||
/* Decode the Authorization header if provided */
|
/* Decode the Authorization header if provided */
|
||||||
// router.use(tokenToUser);
|
// router.use(tokenToUser);
|
||||||
|
|
||||||
var port = 31459; // set our port
|
const port = 31459; // set our port
|
||||||
var router = express.Router();
|
const router = express.Router();
|
||||||
var allowedOrigins = ['https://kevinmidboe.com', 'http://localhost:8080']
|
const allowedOrigins = ['https://kevinmidboe.com', 'http://localhost:8080'];
|
||||||
|
|
||||||
// router.use(bodyParser.json());
|
// router.use(bodyParser.json());
|
||||||
app.use(bodyParser.urlencoded({ extended: true }));
|
app.use(bodyParser.urlencoded({ extended: true }));
|
||||||
@@ -25,23 +24,23 @@ app.use(bodyParser.urlencoded({ extended: true }));
|
|||||||
/* Decode the Authorization header if provided */
|
/* Decode the Authorization header if provided */
|
||||||
router.use(tokenToUser);
|
router.use(tokenToUser);
|
||||||
|
|
||||||
router.use(function(req, res, next) {
|
router.use((req, res, next) => {
|
||||||
// TODO add logging of all incoming
|
// TODO add logging of all incoming
|
||||||
console.log('Request: ', req.originalUrl);
|
console.log('Request: ', req.originalUrl);
|
||||||
var origin = req.headers.origin;
|
const origin = req.headers.origin;
|
||||||
if (allowedOrigins.indexOf(origin) > -1) {
|
if (allowedOrigins.indexOf(origin) > -1) {
|
||||||
console.log('allowed');
|
console.log('allowed');
|
||||||
res.setHeader('Access-Control-Allow-Origin', origin);
|
res.setHeader('Access-Control-Allow-Origin', origin);
|
||||||
}
|
}
|
||||||
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, loggedinuser');
|
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, loggedinuser');
|
||||||
res.header('Access-Control-Allow-Methods', 'POST, GET, PUT');
|
res.header('Access-Control-Allow-Methods', 'POST, GET, PUT');
|
||||||
|
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/', function(req, res) {
|
router.get('/', ((req, res) => {
|
||||||
res.json({ message: 'hooray! welcome to this api!' });
|
res.json({ message: 'hooray! welcome to this api!' });
|
||||||
});
|
}));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User
|
* User
|
||||||
@@ -51,7 +50,7 @@ router.post('/v1/user/login', require('./controllers/user/login.js'));
|
|||||||
router.get('/v1/user/history', mustBeAuthenticated, require('./controllers/user/history.js'));
|
router.get('/v1/user/history', mustBeAuthenticated, require('./controllers/user/history.js'));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Seasoned
|
* Seasoned
|
||||||
*/
|
*/
|
||||||
router.get('/v1/seasoned/all', require('./controllers/seasoned/readStrays.js'));
|
router.get('/v1/seasoned/all', require('./controllers/seasoned/readStrays.js'));
|
||||||
router.get('/v1/seasoned/:strayId', require('./controllers/seasoned/strayById.js'));
|
router.get('/v1/seasoned/:strayId', require('./controllers/seasoned/strayById.js'));
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
const configuration = require('src/config/configuration').getInstance();
|
|
||||||
const GitRepository = require('src/git/gitRepository');
|
const GitRepository = require('src/git/gitRepository');
|
||||||
|
|
||||||
const gitRepository = new GitRepository();
|
const gitRepository = new GitRepository();
|
||||||
|
|
||||||
function dumpHookController(req, res) {
|
function dumpHookController(req, res) {
|
||||||
gitRepository.dumpHook(req.body)
|
gitRepository.dumpHook(req.body)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
res.status(200);
|
res.status(200);
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
res.status(500);
|
res.status(500);
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = dumpHookController;
|
module.exports = dumpHookController;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
const RequestRepository = require('src/plex/requestRepository.js');
|
const RequestRepository = require('src/plex/requestRepository.js');
|
||||||
|
|
||||||
const requestRepository = new RequestRepository();
|
const requestRepository = new RequestRepository();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -11,12 +12,12 @@ function historyController(req, res) {
|
|||||||
const user = req.loggedInUser;
|
const user = req.loggedInUser;
|
||||||
|
|
||||||
requestRepository.fetchRequested()
|
requestRepository.fetchRequested()
|
||||||
.then((requestedItems) => {
|
.then((requestedItems) => {
|
||||||
res.send({ success: true, requestedItems });
|
res.send({ success: true, requestedItems });
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
res.status(401).send({ success: false, error: error.message });
|
res.status(401).send({ success: false, error: error.message });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = historyController;
|
module.exports = historyController;
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
const StrayRepository = require('src/seasoned/strayRepository');
|
const StrayRepository = require('src/seasoned/strayRepository');
|
||||||
|
|
||||||
const strayRepository = new StrayRepository();
|
const strayRepository = new StrayRepository();
|
||||||
|
|
||||||
function verifyStrayController(req, res) {
|
function verifyStrayController(req, res) {
|
||||||
const id = req.params.strayId;
|
const id = req.params.strayId;
|
||||||
|
|
||||||
strayRepository.verifyStray(id)
|
strayRepository.verifyStray(id)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
res.send({ success: true, message: 'Episode verified' });
|
res.send({ success: true, message: 'Episode verified' });
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
res.status(500).send({ success: false, error: error.message });
|
res.status(500).send({ success: false, error: error.message });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = verifyStrayController;
|
module.exports = verifyStrayController;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ const config = require('src/config/configuration').getInstance();
|
|||||||
const app = require('./app');
|
const app = require('./app');
|
||||||
|
|
||||||
module.exports = app.listen(config.get('webserver', 'port'), () => {
|
module.exports = app.listen(config.get('webserver', 'port'), () => {
|
||||||
console.log('seasonedAPI');
|
console.log('seasonedAPI');
|
||||||
console.log(`Database is located at ${config.get('database', 'host')}`);
|
console.log(`Database is located at ${config.get('database', 'host')}`);
|
||||||
console.log(`Webserver is listening on ${config.get('webserver', 'port')}`);
|
console.log(`Webserver is listening on ${config.get('webserver', 'port')}`);
|
||||||
})
|
})
|
||||||
Reference in New Issue
Block a user