aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package.json2
-rw-r--r--src/server/Initialization.ts6
-rw-r--r--src/server/RouteManager.ts5
-rw-r--r--src/server/authentication/config/passport.ts21
-rw-r--r--src/server/index.ts11
5 files changed, 14 insertions, 31 deletions
diff --git a/package.json b/package.json
index 499aefdb5..574c7e7fa 100644
--- a/package.json
+++ b/package.json
@@ -229,4 +229,4 @@
"xoauth2": "^1.2.0",
"youtube": "^0.1.0"
}
-} \ No newline at end of file
+}
diff --git a/src/server/Initialization.ts b/src/server/Initialization.ts
index a41e2fea0..2e87c7a1a 100644
--- a/src/server/Initialization.ts
+++ b/src/server/Initialization.ts
@@ -39,8 +39,8 @@ export default async function InitializeServer(options: InitializationOptions) {
app.use("/images", express.static(publicDirectory));
app.use("*", ({ user, originalUrl }, _res, next) => {
- if (!originalUrl.includes("Heartbeat")) {
- const userEmail = user && ("email" in user) ? user["email"] : undefined;
+ if (user && !originalUrl.includes("Heartbeat")) {
+ const userEmail = user.email;
if (userEmail) {
timeMap[userEmail] = Date.now();
}
@@ -55,6 +55,7 @@ export default async function InitializeServer(options: InitializationOptions) {
registerCorsProxy(app);
const isRelease = determineEnvironment();
+
routeSetter(new RouteManager(app, isRelease));
const server = app.listen(serverPort, () => {
@@ -62,6 +63,7 @@ export default async function InitializeServer(options: InitializationOptions) {
console.log();
});
addBeforeExitHandler(async () => { await new Promise<Error>(resolve => server.close(resolve)); });
+
return isRelease;
}
diff --git a/src/server/RouteManager.ts b/src/server/RouteManager.ts
index 41204964e..9e84b3687 100644
--- a/src/server/RouteManager.ts
+++ b/src/server/RouteManager.ts
@@ -67,9 +67,8 @@ export default class RouteManager {
console.log('please remove all duplicate routes before continuing');
}
if (malformedCount) {
- console.log(`please ensure all routes adhere to ^\/[A-Za-z]+(\/\:[A-Za-z]+)*$`);
+ console.log(`please ensure all routes adhere to ^\/$|^\/[A-Za-z]+(\/\:[A-Za-z]+)*$`);
}
- console.log();
process.exit(0);
} else {
console.log(green("all server routes have been successfully registered:"));
@@ -128,7 +127,7 @@ export default class RouteManager {
} else {
route = subscriber.build;
}
- if (!/^\/[A-Za-z]+(\/\:[A-Za-z]+)*$/g.test(route)) {
+ if (!/^\/$|^\/[A-Za-z]+(\/\:[A-Za-z]+)*$/g.test(route)) {
this.failedRegistrations.push({
reason: RegistrationError.Malformed,
route
diff --git a/src/server/authentication/config/passport.ts b/src/server/authentication/config/passport.ts
index 0ced99b0d..286209b20 100644
--- a/src/server/authentication/config/passport.ts
+++ b/src/server/authentication/config/passport.ts
@@ -1,8 +1,6 @@
import * as passport from 'passport';
import * as passportLocal from 'passport-local';
-import _ from "lodash";
import { default as User } from '../models/user_model';
-import { Request, Response, NextFunction } from "express";
const LocalStrategy = passportLocal.Strategy;
@@ -28,21 +26,4 @@ passport.use(new LocalStrategy({ usernameField: 'email', passReqToCallback: true
return done(undefined, user);
});
});
-}));
-
-export let isAuthenticated = (req: Request, res: Response, next: NextFunction) => {
- if (req.isAuthenticated()) {
- return next();
- }
- return res.redirect("/login");
-};
-
-export let isAuthorized = (req: Request, res: Response, next: NextFunction) => {
- const provider = req.path.split("/").slice(-1)[0];
-
- if (_.find(req.user && "tokens" in req.user ? req.user["tokens"] : undefined, { kind: provider })) {
- next();
- } else {
- res.redirect(`/auth/${provider}`);
- }
-}; \ No newline at end of file
+})); \ No newline at end of file
diff --git a/src/server/index.ts b/src/server/index.ts
index cef6ff476..551ce3898 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -69,11 +69,6 @@ function routeSetter({ isRelease, addSupervisedRoute, logRegistrationOutcome }:
// initialize API Managers
console.log(yellow("\nregistering server routes..."));
managers.forEach(manager => manager.register(addSupervisedRoute));
- logRegistrationOutcome();
-
- // initialize the web socket (bidirectional communication: if a user changes
- // a field on one client, that change must be broadcast to all other clients)
- WebSocket.initialize(serverPort, isRelease);
/**
* Accessing root index redirects to home
@@ -103,6 +98,12 @@ function routeSetter({ isRelease, addSupervisedRoute, logRegistrationOutcome }:
}
}
});
+
+ logRegistrationOutcome();
+
+ // initialize the web socket (bidirectional communication: if a user changes
+ // a field on one client, that change must be broadcast to all other clients)
+ WebSocket.initialize(serverPort, isRelease);
}
(async function start() {