Skip to content

Commit 7e1c76d

Browse files
committed
Merge pull request #1 from ripples/master
include rotating logger and WIP database with modified login routes
2 parents 66ef14d + a6a5106 commit 7e1c76d

File tree

377 files changed

+142
-52681
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

377 files changed

+142
-52681
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,7 @@ jspm_packages
3838

3939
# Optional REPL history
4040
.node_repl_history
41+
42+
# Secrets
43+
config.json
44+

Dockerfile

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
FROM molecularplayground/node-js
2+
RUN apk add --no-cache bash
23

34
COPY . /src
45

56
WORKDIR /src
67

78
RUN npm install
89

9-
CMD ["npm", "start"]
10+
RUN npm install -g node-inspector
11+
12+
CMD ["npm", "run", "start-dev"]
1013

1114
EXPOSE 3000

app.js

+12-13
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1+
/* jshint node: true */
2+
"use strict";
13
var express = require('express');
24
var path = require('path');
3-
var logger = require('morgan');
45
var cookieParser = require('cookie-parser');
56
var bodyParser = require('body-parser');
6-
var auth = require('./lib/auth.js');
77

8+
var auth = require('./lib/auth.js');
89
var routes = require('./routes/index');
910
var login = require('./routes/login');
1011
var lectures = require('./routes/lectures');
12+
var logger = require("./utils/logger");
1113

1214
var app = express();
1315

14-
app.use(logger('dev'));
1516
app.use(bodyParser.json());
16-
app.use(bodyParser.urlencoded({ extended: false }));
17+
app.use(bodyParser.urlencoded({extended: false}));
1718
app.use(cookieParser());
18-
app.use(express.static(path.join(__dirname, 'public')));
1919

20+
app.use(express.static(path.join(__dirname, 'public')));
2021
// unauthenticated routes
21-
app.use('/api/auth', login);
22-
22+
app.use('/api/v1/login', login);
2323
// authenticated routes
24-
app.use(auth);
25-
app.use('/', routes);
26-
app.use('/api/lectures', lectures);
24+
app.use('/', auth, routes);
25+
26+
app.use('/api/lectures', auth, lectures);
2727

2828
// catch 404 and forward to error handler
2929
app.use(function(req, res, next) {
@@ -32,13 +32,12 @@ app.use(function(req, res, next) {
3232
next(err);
3333
});
3434

35-
// error handlers
36-
3735
// development error handler
3836
// will print stacktrace
3937
if (app.get('env') === 'development') {
4038
app.use(function(err, req, res, next) {
4139
res.status(err.status || 500);
40+
4241
res.send({
4342
message: err.message,
4443
error: err
@@ -48,7 +47,7 @@ if (app.get('env') === 'development') {
4847

4948
// production error handler
5049
// no stacktraces leaked to user
51-
app.use(function(err, req, res, next) {
50+
app.use((err, req, res, next) => {
5251
res.status(err.status || 500);
5352
res.send({
5453
message: err.message,

config.example.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"db": {
3+
"host": "db",
4+
"user": "root",
5+
"password": "banana",
6+
"name": "lecture_viewer"
7+
}
8+
}

lib/auth.js

+12-7
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
1+
"use strict";
2+
13
var njwt = require('njwt');
4+
var db = require('../utils/database');
5+
26
var SIGNING_KEY = process.env.SIGNING_KEY;
37

4-
var sendError = function(message, status, next) {
8+
var sendError = (message, status, next) => {
59
var err = new Error(message);
610
err.status = status;
711
next(err);
8-
}
12+
};
913

1014
// Accepted Header:
1115
// Authorization: YOUR_TOKEN_HERE
12-
module.exports = function(req, res, next) {
16+
module.exports = (req, res, next) => {
1317
var token = req.headers.authorization;
14-
if(!token) {
18+
db.getHashedUserPassword("admin", () => {});
19+
if (!token) {
1520
// token not sent
1621
sendError("Token was not recieved.\nExpected token in 'Authorization' header.", 401, next);
1722
} else {
18-
njwt.verify(token, SIGNING_KEY, function(err, ver) {
19-
if(err) {
23+
njwt.verify(token, SIGNING_KEY, (err, ver) => {
24+
if (err) {
2025
// token is expired
2126
sendError("Token is expired.'", 401, next);
2227
} else {
@@ -26,4 +31,4 @@ module.exports = function(req, res, next) {
2631
}
2732
});
2833
}
29-
}
34+
};

node_modules/.bin/mime

-1
This file was deleted.

node_modules/accepts/HISTORY.md

-170
This file was deleted.

node_modules/accepts/LICENSE

-23
This file was deleted.

0 commit comments

Comments
 (0)