aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/ApiManagers/SearchManager.ts34
-rw-r--r--src/server/ApiManagers/UploadManager.ts1
-rw-r--r--src/server/authentication/AuthenticationManager.ts24
-rw-r--r--src/server/server_Initialization.ts2
-rw-r--r--src/server/websocket.ts22
5 files changed, 25 insertions, 58 deletions
diff --git a/src/server/ApiManagers/SearchManager.ts b/src/server/ApiManagers/SearchManager.ts
index 72c01def7..92c10975f 100644
--- a/src/server/ApiManagers/SearchManager.ts
+++ b/src/server/ApiManagers/SearchManager.ts
@@ -1,14 +1,11 @@
import { exec } from 'child_process';
import { cyan, green, red, yellow } from 'colors';
-import * as path from 'path';
import { log_execution } from '../ActionUtilities';
-import { Database } from '../database';
import { Method } from '../RouteManager';
import RouteSubscriber from '../RouteSubscriber';
import { Search } from '../Search';
+import { Database } from '../database';
import ApiManager, { Registration } from './ApiManager';
-import { Directory, pathToDirectory } from './UploadManager';
-import { find } from 'find-in-files';
export class SearchManager extends ApiManager {
protected initialize(register: Registration): void {
@@ -35,35 +32,6 @@ export class SearchManager extends ApiManager {
register({
method: Method.GET,
- subscription: '/textsearch',
- secureHandler: async ({ req, res }) => {
- const q = req.query.q;
- if (q === undefined) {
- res.send([]);
- return;
- }
- const resObj: { ids: string[]; numFound: number; lines: string[] } = { ids: [], numFound: 0, lines: [] };
- let results: any;
- const dir = pathToDirectory(Directory.text);
- try {
- const regex = new RegExp(q.toString());
- results = await find({ term: q, flags: 'ig' }, dir, '.txt$');
- for (const result in results) {
- resObj.ids.push(path.basename(result, '.txt').replace(/upload_/, ''));
- resObj.lines.push(results[result].line);
- resObj.numFound++;
- }
- res.send(resObj);
- } catch (e) {
- console.log(red('textsearch:bad RegExp' + q.toString()));
- res.send([]);
- return;
- }
- },
- });
-
- register({
- method: Method.GET,
subscription: '/dashsearch',
secureHandler: async ({ req, res }) => {
const solrQuery: any = {};
diff --git a/src/server/ApiManagers/UploadManager.ts b/src/server/ApiManagers/UploadManager.ts
index 8a2fe1389..2306b6589 100644
--- a/src/server/ApiManagers/UploadManager.ts
+++ b/src/server/ApiManagers/UploadManager.ts
@@ -23,7 +23,6 @@ export enum Directory {
videos = 'videos',
pdfs = 'pdfs',
text = 'text',
- pdf_thumbnails = 'pdf_thumbnails',
audio = 'audio',
csv = 'csv',
}
diff --git a/src/server/authentication/AuthenticationManager.ts b/src/server/authentication/AuthenticationManager.ts
index b1b84c300..9c1525df0 100644
--- a/src/server/authentication/AuthenticationManager.ts
+++ b/src/server/authentication/AuthenticationManager.ts
@@ -56,7 +56,7 @@ export let postSignup = (req: Request, res: Response, next: NextFunction) => {
const user = new User(model);
User.findOne({ email })
- .then(existingUser => {
+ .then((existingUser: any) => {
if (existingUser) {
return res.redirect('/login');
}
@@ -67,9 +67,9 @@ export let postSignup = (req: Request, res: Response, next: NextFunction) => {
tryRedirectToTarget(req, res);
});
})
- .catch(err => next(err));
+ .catch((err: any) => next(err));
})
- .catch(err => next(err));
+ .catch((err: any) => next(err));
};
const tryRedirectToTarget = (req: Request, res: Response) => {
@@ -104,8 +104,8 @@ export let getLogin = (req: Request, res: Response) => {
export let postLogin = (req: Request, res: Response, next: NextFunction) => {
if (req.body.email === '') {
User.findOne({ email: 'guest' })
- .then(user => !user && initializeGuest())
- .catch(err => err);
+ .then((user: any) => !user && initializeGuest())
+ .catch((err: any) => err);
req.body.email = 'guest';
req.body.password = 'guest';
} else {
@@ -115,7 +115,7 @@ export let postLogin = (req: Request, res: Response, next: NextFunction) => {
}
if (validationResult(req).array().length) {
- req.flash('errors', 'Unable to login at this time. Please try again.');
+ // req.flash('errors', 'Unable to login at this time. Please try again.');
return res.redirect('/signup');
}
@@ -171,7 +171,7 @@ export let postForgot = function (req: Request, res: Response, next: NextFunctio
});
},
function (token: string, done: any) {
- User.findOne({ email }).then(user => {
+ User.findOne({ email }).then((user: any) => {
if (!user) {
// NO ACCOUNT WITH SUBMITTED EMAIL
res.redirect('/forgotPassword');
@@ -219,14 +219,14 @@ export let postForgot = function (req: Request, res: Response, next: NextFunctio
export let getReset = function (req: Request, res: Response) {
User.findOne({ passwordResetToken: req.params.token, passwordResetExpires: { $gt: Date.now() } })
- .then(user => {
+ .then((user: any) => {
if (!user) return res.redirect('/forgotPassword');
res.render('reset.pug', {
title: 'Reset Password',
user: req.user,
});
})
- .catch(err => res.redirect('/forgotPassword'));
+ .catch((err: any) => res.redirect('/forgotPassword'));
};
export let postReset = function (req: Request, res: Response) {
@@ -234,7 +234,7 @@ export let postReset = function (req: Request, res: Response) {
[
function (done: any) {
User.findOne({ passwordResetToken: req.params.token, passwordResetExpires: { $gt: Date.now() } })
- .then(user => {
+ .then((user: any) => {
if (!user) return res.redirect('back');
check('password', 'Password must be at least 4 characters long').isLength({ min: 4 }).run(req);
@@ -251,10 +251,10 @@ export let postReset = function (req: Request, res: Response) {
() => (req as any).logIn(user),
(err: any) => err
)
- .catch(err => res.redirect('/login'));
+ .catch((err: any) => res.redirect('/login'));
done(null, user);
})
- .catch(err => res.redirect('back'));
+ .catch((err: any) => res.redirect('back'));
},
function (user: DashUserModel, done: any) {
const smtpTransport = nodemailer.createTransport({
diff --git a/src/server/server_Initialization.ts b/src/server/server_Initialization.ts
index afc6231e5..2d52ea906 100644
--- a/src/server/server_Initialization.ts
+++ b/src/server/server_Initialization.ts
@@ -58,7 +58,7 @@ export default async function InitializeServer(routeSetter: RouteSetter) {
// initialize the web socket (bidirectional communication: if a user changes
// a field on one client, that change must be broadcast to all other clients)
- await WebSocket.initialize(isRelease, app);
+ await WebSocket.initialize(isRelease, SSL.Credentials);
//disconnect = async () => new Promise<Error>(resolve => server.close(resolve));
return isRelease;
diff --git a/src/server/websocket.ts b/src/server/websocket.ts
index a26b81bdf..38134f2c1 100644
--- a/src/server/websocket.ts
+++ b/src/server/websocket.ts
@@ -1,22 +1,21 @@
import { blue } from 'colors';
-import * as express from 'express';
import { createServer } from 'https';
-import { Server, Socket } from '../../node_modules/socket.io/dist/index';
+import * as _ from 'lodash';
import { networkInterfaces } from 'os';
+import { Server, Socket } from 'socket.io';
import { Utils } from '../Utils';
import { logPort } from './ActionUtilities';
import { timeMap } from './ApiManagers/UserManager';
-import { GoogleCredentialsLoader, SSL } from './apis/google/CredentialsLoader';
-import YoutubeApi from './apis/youtube/youtubeApiSample';
-import { initializeGuest } from './authentication/DashUserModel';
import { Client } from './Client';
import { DashStats } from './DashStats';
-import { Database } from './database';
import { DocumentsCollection } from './IDatabase';
import { Diff, GestureContent, MessageStore, MobileDocumentUploadContent, MobileInkOverlayContent, Transferable, Types, UpdateMobileInkOverlayPositionContent, YoutubeQueryInput, YoutubeQueryTypes } from './Message';
import { Search } from './Search';
+import { GoogleCredentialsLoader } from './apis/google/CredentialsLoader';
+import YoutubeApi from './apis/youtube/youtubeApiSample';
+import { initializeGuest } from './authentication/DashUserModel';
+import { Database } from './database';
import { resolvedPorts } from './server_Initialization';
-import * as _ from 'lodash';
export namespace WebSocket {
export let _socket: Socket;
@@ -25,15 +24,16 @@ export namespace WebSocket {
export const userOperations = new Map<string, number>();
export let disconnect: Function;
- export async function initialize(isRelease: boolean, app: express.Express) {
+ export async function initialize(isRelease: boolean, credentials:any) {
let io: Server;
if (isRelease) {
const { socketPort } = process.env;
if (socketPort) {
resolvedPorts.socket = Number(socketPort);
- }
- io = new Server(createServer(SSL.Credentials, app), SSL.Credentials as any);
- io.listen(resolvedPorts.socket);
+ }
+ const httpsServer = createServer(credentials);
+ io = new Server(httpsServer, {})
+ httpsServer.listen(resolvedPorts.socket);
} else {
io = new Server();
io.listen(resolvedPorts.socket);