removed unneed modules, some more comments, made user methods async in typescript when required, and added location to popup file

This commit is contained in:
kyle hoell
2020-12-07 21:39:01 -05:00
parent 13dc080388
commit 3b2686a0fa
33 changed files with 29 additions and 814 deletions
+2 -7
View File
@@ -4,10 +4,8 @@ import MongoService from "../services/ChunkService/MongoService";
import FileSystemService from "../services/ChunkService/FileSystemService";
import S3Service from "../services/ChunkService/S3Service";
import User, {UserInterface} from "../models/user";
import tempStorage from "../tempStorage/tempStorage";
import sendShareEmail from "../utils/sendShareEmail";
import { createStreamVideoCookie, removeStreamVideoCookie } from "../cookies/createCookies";
import { ObjectID } from "mongodb";
const fileService = new FileService()
@@ -18,11 +16,6 @@ type userAccessType = {
s3Enabled: boolean,
}
interface RequestTypeRefresh extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestTypeFullUser extends Request {
user?: UserInterface,
encryptedToken?: string,
@@ -366,6 +359,8 @@ class FileController {
}
}
// No longer needed, left for reference
// getDownloadTokenVideo = async(req: RequestTypeFullUser, res: Response) => {
// if (!req.user) {
-11
View File
@@ -1,6 +1,5 @@
import FolderService from "../services/FolderService";
import { Request, Response } from "express";
import {UserInterface} from "../models/user";
import MongoService from "../services/ChunkService/MongoService";
import FileSystemService from "../services/ChunkService/FileSystemService";
import S3Service from "../services/ChunkService/S3Service";
@@ -14,16 +13,6 @@ type userAccessType = {
s3Enabled: boolean,
}
interface RequestTypeRefresh extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestTypeFullUser extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestType extends Request {
user?: userAccessType,
encryptedToken?: string
-17
View File
@@ -5,28 +5,11 @@ import { googleQueryType } from "../utils/createQueryGoogle";
const googleFileService = new GoogleFileService();
type userAccessType = {
_id: string,
emailVerified: boolean,
email: string,
s3Enabled: boolean,
}
interface RequestTypeRefresh extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestTypeFullUser extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestType extends Request {
user?: userAccessType,
encryptedToken?: string
}
class GoogleFileController {
constructor() {
-17
View File
@@ -5,28 +5,11 @@ import { googleQueryType } from "../utils/createQueryGoogle";
const googleFolderService = new GoogleFolderService();
type userAccessType = {
_id: string,
emailVerified: boolean,
email: string,
s3Enabled: boolean,
}
interface RequestTypeRefresh extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestTypeFullUser extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestType extends Request {
user?: userAccessType,
encryptedToken?: string
}
class GoogleFolderController {
constructor() {
-5
View File
@@ -9,11 +9,6 @@ type userAccessType = {
s3Enabled: boolean,
}
interface RequestTypeRefresh extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestTypeFullUser extends Request {
user?: UserInterface,
encryptedToken?: string
-10
View File
@@ -10,16 +10,6 @@ type userAccessType = {
s3Enabled: boolean,
}
interface RequestTypeRefresh extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestTypeFullUser extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestType extends Request {
user?: userAccessType,
encryptedToken?: string
-7
View File
@@ -59,15 +59,8 @@ class UserController {
const {user, accessToken, refreshToken} = await UserProvider.login(body, ipAddress);
// await user.save();
createLoginCookie(res, accessToken, refreshToken);
// user.tokens = [];
// user.tempTokens = []
// user.privateKey = undefined;
// user.publicKey = undefined;
res.status(200).send({user});
} catch (e) {
-17
View File
@@ -5,28 +5,11 @@ import { createLoginCookie } from "../cookies/createCookies";
const UserProviderGoogle = new UserServiceGoogle();
type userAccessType = {
_id: string,
emailVerified: boolean,
email: string,
s3Enabled: boolean,
}
interface RequestTypeRefresh extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestTypeFullUser extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestType extends Request {
user?: userAccessType,
encryptedToken?: string
}
class UserGoogleController {
constructor() {
-5
View File
@@ -12,11 +12,6 @@ type userAccessType = {
s3Enabled: boolean,
}
interface RequestTypeRefresh extends Request {
user?: UserInterface,
encryptedToken?: string
}
interface RequestTypeFullUser extends Request {
user?: UserInterface,
encryptedToken?: string
-3
View File
@@ -78,9 +78,6 @@ class DbUtil {
let query: any = {"metadata.owner": new ObjectID(userID)}
// if (s3Enabled) {
// query = {...query, "metadata.personalFile": true}
// } else
if (!s3Enabled){
query = {...query, "metadata.personalFile": null}
}
-12
View File
@@ -27,12 +27,6 @@ class DbUtil {
let query: any = {"owner": userID, "parent": parent};
// if (s3Enabled) {
// query = {...query, "personalFolder": true}
// } else if (!s3Enabled) {
// query = {...query, "personalFolder": null}
// }
if (!s3Enabled) {
query = {...query, "personalFolder": null}
}
@@ -50,12 +44,6 @@ class DbUtil {
if (itemType === "nonpersonal") query = {...query, "personalFolder": null}
}
// if (storageType === "s3") {
// query = {...query, "personalFolder": true}
// } else {
// query = {...query, "personalFolder": null}
// }
const folderList = await Folder.find(query)
.sort(sortBy) as FolderInterface[];
@@ -1,5 +1,4 @@
import {UserInterface} from "../../../models/user";
import env from "../../../enviroment/env";
import { google } from "googleapis";
import getGoogleAuth from "../../../db/googleAuth";
import createQueryGoogle, {googleQueryType} from "../../../utils/createQueryGoogle";
+1 -2
View File
@@ -1,8 +1,7 @@
import {UserInterface} from "../../../models/user";
import env from "../../../enviroment/env";
import { google } from "googleapis";
import getGoogleAuth from "../../../db/googleAuth";
import createQueryGoogle, {googleQueryType} from "../../../utils/createQueryGoogle";
import {googleQueryType} from "../../../utils/createQueryGoogle";
import createQueryGoogleFolder from "../../../utils/createQueryGoogleFolder";
const fields = 'id, name, createdTime, parents, mimeType'
+7 -26
View File
@@ -49,20 +49,12 @@ router.get("/file-service/quick-list", auth, fileController.getQuickList);
router.get("/file-service/list", auth, fileController.getList);
//router.get("/file-service/download/get-token", authFullUser, fileController.getDownloadToken);
//router.get("/file-service/download/get-token-video", auth, fileController.getDownloadTokenVideo);
router.get("/file-service/download/access-token-stream-video", authFullUser, fileController.getAccessTokenStreamVideo)
router.get("/file-service/stream-video/:id", authStreamVideo, fileController.streamVideo);
router.delete("/file-service/remove-stream-video-token", authStreamVideo, fileController.removeStreamVideoAccessToken);
//router.get("/file-service/stream-video/:id/:tempToken/:uuid", auth, fileController.streamVideo);
//router.get("/file-service/stream-video/:id", auth, fileController.streamVideo);
router.get("/file-service/download/:id", authFullUser, fileController.downloadFile);
router.get("/file-service/suggested-list", auth, fileController.getSuggestedList);
@@ -77,29 +69,18 @@ router.patch("/file-service/move", auth, fileController.moveFile);
router.delete("/file-service/remove-link/:id", auth, fileController.removeLink);
//router.delete("/file-service/remove/token-video/:tempToken/:uuid", auth, fileController.removeTempToken);
router.delete("/file-service/remove/token-video/:id", auth, fileController.removeTempToken);
router.delete("/file-service/remove", auth, fileController.deleteFile);
router.post("/file-service/send-share-email", auth, fileController.sendEmailShare);
// Moving File Accross Databases
export default router;
// router.patch("/file-service/move-db", auth, async(req: RequestType, res) => {
// NO longer needed left for reference
// const user = req.user!
// const fileID = req.body.id;
// const parentFolderID = req.body.parentID;
// const readStream = chunkService.getFileReadStream(user, fileID);
// const parentFolder = await Folder.findById(parentFolderID);
// if (parentFolder?.personalFolder) {
// }
// })
export default router;
//router.delete("/file-service/remove/token-video/:tempToken/:uuid", auth, fileController.removeTempToken);
//router.get("/file-service/stream-video/:id/:tempToken/:uuid", auth, fileController.streamVideo);
//router.get("/file-service/stream-video/:id", auth, fileController.streamVideo);
//router.get("/file-service/download/get-token", authFullUser, fileController.getDownloadToken);
//router.get("/file-service/download/get-token-video", auth, fileController.getDownloadTokenVideo);
+1 -1
View File
@@ -44,7 +44,7 @@ router.patch("/folder-service/move", auth, folderController.moveFolder);
router.get("/folder-service/subfolder-list-full", auth, folderController.getSubfolderFullList);
// Personal Files
// Personal Folder
router.delete("/folder-service-personal/remove", auth, folderController.deletePersonalFolder);
-1
View File
@@ -1,5 +1,4 @@
import {Router} from "express";
import auth from "../middleware/auth";
import GoogleFileController from "../controllers/googleFile";
import authFullUser from "../middleware/authFullUser";
import authStreamVideo from "../middleware/authStreamVideo";
-1
View File
@@ -1,5 +1,4 @@
import {Router} from "express";
import auth from "../middleware/auth";
import GoogleFolderController from "../controllers/googleFolder";
import authFullUser from "../middleware/authFullUser";
+2
View File
@@ -6,6 +6,8 @@ const storageController = new StorageController();
const router = Router();
// No longer needed left for reference
// router.get("/storage-service/info", auth, storageController.getStorageInfo);
export default router;
-1
View File
@@ -1,5 +1,4 @@
import { Router } from "express";
import auth from "../middleware/auth";
import UserGoogleController from "../controllers/userGoogle";
import authFullUser from "../middleware/authFullUser";
-1
View File
@@ -1,4 +1,3 @@
const prompt = require('password-prompt')
import env from "../enviroment/env";
import crypto from "crypto";
import getWebUIKey from "./getWebUIKey";
-153
View File
@@ -1,5 +1,4 @@
import jwt from "jsonwebtoken";
import User, {UserInterface} from "../models/user";
import env from "../enviroment/env";
import {Request, Response, NextFunction} from "express";
@@ -27,8 +26,6 @@ const auth = async(req: RequestType, res: Response, next: NextFunction) => {
try {
//console.log("\nAUTH RUOTE")
const accessToken = req.cookies["access-token"];
if (!accessToken) throw new Error("No Access Token");
@@ -37,8 +34,6 @@ const auth = async(req: RequestType, res: Response, next: NextFunction) => {
const user = decoded.user;
//console.log(user.email);
if (!user) throw new Error("No User");
if (!user.emailVerified && !env.disableEmailVerification) throw new Error("Email Not Verified")
@@ -57,151 +52,3 @@ const auth = async(req: RequestType, res: Response, next: NextFunction) => {
}
export default auth;
// import jwt from "jsonwebtoken";
// import User, {UserInterface} from "../models/user";
// import env from "../enviroment/env";
// import {Request, Response, NextFunction} from "express";
// interface RequestType extends Request {
// user?: UserInterface,
// token?: string,
// encryptedToken?: string,
// }
// type jwtType = {
// iv: Buffer,
// _id: string,
// }
// const auth = async(req: RequestType, res: Response, next: NextFunction) => {
// try {
// const token = req.header("Authorization")!.replace("Bearer ", "");
// const decoded = jwt.verify(token, env.passwordAccess!) as jwtType;
// const iv = decoded.iv;
// const user = await User.findOne({_id: decoded._id}) as UserInterface;
// const encrpytionKey = user.getEncryptionKey();
// const encryptedToken = user.encryptToken(token, encrpytionKey, iv);
// let tokenFound = false;
// for (let i = 0; i < user.tokens.length; i++) {
// const currentToken = user.tokens[i].token;
// //console.log("current token", currentToken === encryptedToken)
// if (currentToken === encryptedToken) {
// tokenFound = true;
// break;
// }
// }
// if (!user || !tokenFound) {
// throw new Error("User not found")
// } else if (user.emailVerified && user.botChecked) {
// // TEMPORARY CHANGE THIS
// req.token = token;
// req.encryptedToken = encryptedToken
// req.user = user;
// next();
// } else {
// throw new Error("Email Not Verified, or Bot not checked")
// }
// } catch (e) {
// console.log(e);
// res.status(401).send({error: "Error Authenticating"})
// }
// }
// export default auth;
// import jwt from "jsonwebtoken";
// import User, {UserInterface} from "../models/user";
// import env from "../enviroment/env";
// import {Request, Response, NextFunction} from "express";
// interface RequestType extends Request {
// user?: UserInterface,
// token?: string,
// encryptedToken?: string,
// }
// type jwtType = {
// iv: Buffer,
// _id: string,
// }
// const auth = async(req: RequestType, res: Response, next: NextFunction) => {
// try {
// const token = req.header("Authorization")!.replace("Bearer ", "");
// const decoded = jwt.verify(token, env.passwordAccess!) as jwtType;
// const iv = decoded.iv;
// const user = await User.findOne({_id: decoded._id}) as UserInterface;
// const encrpytionKey = user.getEncryptionKey();
// const encryptedToken = user.encryptToken(token, encrpytionKey, iv);
// let tokenFound = false;
// for (let i = 0; i < user.tokens.length; i++) {
// const currentToken = user.tokens[i].token;
// //console.log("current token", currentToken === encryptedToken)
// if (currentToken === encryptedToken) {
// tokenFound = true;
// break;
// }
// }
// if (!user || !tokenFound) {
// throw new Error("User not found")
// } else if (user.emailVerified) {
// req.token = token;
// req.encryptedToken = encryptedToken
// req.user = user;
// next();
// } else {
// throw new Error("Email Not Verified")
// }
// } catch (e) {
// console.log(e);
// res.status(401).send({error: "Error Authenticating"})
// }
// }
// export default auth;
+1 -149
View File
@@ -56,152 +56,4 @@ const authFullUser = async(req: RequestType, res: Response, next: NextFunction)
}
}
export default authFullUser;
// import jwt from "jsonwebtoken";
// import User, {UserInterface} from "../models/user";
// import env from "../enviroment/env";
// import {Request, Response, NextFunction} from "express";
// interface RequestType extends Request {
// user?: UserInterface,
// token?: string,
// encryptedToken?: string,
// }
// type jwtType = {
// iv: Buffer,
// _id: string,
// }
// const auth = async(req: RequestType, res: Response, next: NextFunction) => {
// try {
// const token = req.header("Authorization")!.replace("Bearer ", "");
// const decoded = jwt.verify(token, env.passwordAccess!) as jwtType;
// const iv = decoded.iv;
// const user = await User.findOne({_id: decoded._id}) as UserInterface;
// const encrpytionKey = user.getEncryptionKey();
// const encryptedToken = user.encryptToken(token, encrpytionKey, iv);
// let tokenFound = false;
// for (let i = 0; i < user.tokens.length; i++) {
// const currentToken = user.tokens[i].token;
// //console.log("current token", currentToken === encryptedToken)
// if (currentToken === encryptedToken) {
// tokenFound = true;
// break;
// }
// }
// if (!user || !tokenFound) {
// throw new Error("User not found")
// } else if (user.emailVerified && user.botChecked) {
// // TEMPORARY CHANGE THIS
// req.token = token;
// req.encryptedToken = encryptedToken
// req.user = user;
// next();
// } else {
// throw new Error("Email Not Verified, or Bot not checked")
// }
// } catch (e) {
// console.log(e);
// res.status(401).send({error: "Error Authenticating"})
// }
// }
// export default auth;
// import jwt from "jsonwebtoken";
// import User, {UserInterface} from "../models/user";
// import env from "../enviroment/env";
// import {Request, Response, NextFunction} from "express";
// interface RequestType extends Request {
// user?: UserInterface,
// token?: string,
// encryptedToken?: string,
// }
// type jwtType = {
// iv: Buffer,
// _id: string,
// }
// const auth = async(req: RequestType, res: Response, next: NextFunction) => {
// try {
// const token = req.header("Authorization")!.replace("Bearer ", "");
// const decoded = jwt.verify(token, env.passwordAccess!) as jwtType;
// const iv = decoded.iv;
// const user = await User.findOne({_id: decoded._id}) as UserInterface;
// const encrpytionKey = user.getEncryptionKey();
// const encryptedToken = user.encryptToken(token, encrpytionKey, iv);
// let tokenFound = false;
// for (let i = 0; i < user.tokens.length; i++) {
// const currentToken = user.tokens[i].token;
// //console.log("current token", currentToken === encryptedToken)
// if (currentToken === encryptedToken) {
// tokenFound = true;
// break;
// }
// }
// if (!user || !tokenFound) {
// throw new Error("User not found")
// } else if (user.emailVerified) {
// req.token = token;
// req.encryptedToken = encryptedToken
// req.user = user;
// next();
// } else {
// throw new Error("Email Not Verified")
// }
// } catch (e) {
// console.log(e);
// res.status(401).send({error: "Error Authenticating"})
// }
// }
// export default auth;
export default authFullUser;
+1 -130
View File
@@ -1,5 +1,4 @@
import jwt from "jsonwebtoken";
import User, {UserInterface} from "../models/user";
import env from "../enviroment/env";
import {Request, Response, NextFunction} from "express";
import { createLogoutCookie } from "../cookies/createCookies";
@@ -50,132 +49,4 @@ const auth = async(req: RequestType, res: Response, next: NextFunction) => {
}
}
export default auth;
// import jwt from "jsonwebtoken";
// import User, {UserInterface} from "../models/user";
// import env from "../enviroment/env";
// import {Request, Response, NextFunction} from "express";
// interface RequestType extends Request {
// user?: UserInterface,
// token?: string,
// encryptedToken?: string,
// }
// type jwtType = {
// iv: Buffer,
// _id: string,
// }
// const auth = async(req: RequestType, res: Response, next: NextFunction) => {
// try {
// const token = req.header("Authorization")!.replace("Bearer ", "");
// const decoded = jwt.verify(token, env.passwordAccess!) as jwtType;
// const iv = decoded.iv;
// const user = await User.findOne({_id: decoded._id}) as UserInterface;
// const encrpytionKey = user.getEncryptionKey();
// const encryptedToken = user.encryptToken(token, encrpytionKey, iv);
// let tokenFound = false;
// for (let i = 0; i < user.tokens.length; i++) {
// const currentToken = user.tokens[i].token;
// if (currentToken === encryptedToken) {
// tokenFound = true;
// break;
// }
// }
// if (!user || !tokenFound) {
// throw new Error("User not found")
// } else {
// req.token = token;
// req.encryptedToken = encryptedToken
// req.user = user;
// next();
// }
// } catch (e) {
// console.log(e);
// res.status(401).send({error: "Error Authenticating"})
// }
// }
// export default auth;
// import jwt from "jsonwebtoken";
// import User, {UserInterface} from "../models/user";
// import env from "../enviroment/env";
// import {Request, Response, NextFunction} from "express";
// interface RequestType extends Request {
// user?: UserInterface,
// token?: string,
// encryptedToken?: string,
// }
// type jwtType = {
// iv: Buffer,
// _id: string,
// }
// const auth = async(req: RequestType, res: Response, next: NextFunction) => {
// try {
// const token = req.header("Authorization")!.replace("Bearer ", "");
// const decoded = jwt.verify(token, env.passwordAccess!) as jwtType;
// const iv = decoded.iv;
// const user = await User.findOne({_id: decoded._id}) as UserInterface;
// const encrpytionKey = user.getEncryptionKey();
// const encryptedToken = user.encryptToken(token, encrpytionKey, iv);
// let tokenFound = false;
// for (let i = 0; i < user.tokens.length; i++) {
// const currentToken = user.tokens[i].token;
// if (currentToken === encryptedToken) {
// tokenFound = true;
// break;
// }
// }
// if (!user || !tokenFound) {
// throw new Error("User not found")
// } else {
// req.token = token;
// req.encryptedToken = encryptedToken
// req.user = user;
// next();
// }
// } catch (e) {
// console.log(e);
// res.status(401).send({error: "Error Authenticating"})
// }
// }
// export default auth;
export default auth;
+1 -129
View File
@@ -54,132 +54,4 @@ const auth = async(req: RequestType, res: Response, next: NextFunction) => {
}
}
export default auth;
// import jwt from "jsonwebtoken";
// import User, {UserInterface} from "../models/user";
// import env from "../enviroment/env";
// import {Request, Response, NextFunction} from "express";
// interface RequestType extends Request {
// user?: UserInterface,
// token?: string,
// encryptedToken?: string,
// }
// type jwtType = {
// iv: Buffer,
// _id: string,
// }
// const auth = async(req: RequestType, res: Response, next: NextFunction) => {
// try {
// const token = req.header("Authorization")!.replace("Bearer ", "");
// const decoded = jwt.verify(token, env.passwordAccess!) as jwtType;
// const iv = decoded.iv;
// const user = await User.findOne({_id: decoded._id}) as UserInterface;
// const encrpytionKey = user.getEncryptionKey();
// const encryptedToken = user.encryptToken(token, encrpytionKey, iv);
// let tokenFound = false;
// for (let i = 0; i < user.tokens.length; i++) {
// const currentToken = user.tokens[i].token;
// if (currentToken === encryptedToken) {
// tokenFound = true;
// break;
// }
// }
// if (!user || !tokenFound) {
// throw new Error("User not found")
// } else {
// req.token = token;
// req.encryptedToken = encryptedToken
// req.user = user;
// next();
// }
// } catch (e) {
// console.log(e);
// res.status(401).send({error: "Error Authenticating"})
// }
// }
// export default auth;
// import jwt from "jsonwebtoken";
// import User, {UserInterface} from "../models/user";
// import env from "../enviroment/env";
// import {Request, Response, NextFunction} from "express";
// interface RequestType extends Request {
// user?: UserInterface,
// token?: string,
// encryptedToken?: string,
// }
// type jwtType = {
// iv: Buffer,
// _id: string,
// }
// const auth = async(req: RequestType, res: Response, next: NextFunction) => {
// try {
// const token = req.header("Authorization")!.replace("Bearer ", "");
// const decoded = jwt.verify(token, env.passwordAccess!) as jwtType;
// const iv = decoded.iv;
// const user = await User.findOne({_id: decoded._id}) as UserInterface;
// const encrpytionKey = user.getEncryptionKey();
// const encryptedToken = user.encryptToken(token, encrpytionKey, iv);
// let tokenFound = false;
// for (let i = 0; i < user.tokens.length; i++) {
// const currentToken = user.tokens[i].token;
// if (currentToken === encryptedToken) {
// tokenFound = true;
// break;
// }
// }
// if (!user || !tokenFound) {
// throw new Error("User not found")
// } else {
// req.token = token;
// req.encryptedToken = encryptedToken
// req.user = user;
// next();
// }
// } catch (e) {
// console.log(e);
// res.status(401).send({error: "Error Authenticating"})
// }
// }
// export default auth;
export default auth;
-14
View File
@@ -11,26 +11,12 @@ interface RequestType extends Request {
accessTokenStreamVideo?: string
}
// type jwtType = {
// iv: Buffer,
// user: userAccessType
// }
type jwtType = {
iv: Buffer,
_id: string,
time: number
}
type userAccessType = {
_id: string,
emailVerified: boolean,
email: string,
admin: boolean,
botChecked: boolean,
username: string,
}
const removeOldTokens = async(userID: string, ipAddress: string | undefined, oldTime: number) => {
try {
+10 -31
View File
@@ -93,18 +93,6 @@ const userSchema = new mongoose.Schema({
token: {
type: String
}
// accessToken: {
// type: String
// },
// refreshToken: {
// type: String
// },
// tokenType: {
// type: String
// },
// expiryDate: {
// type: String
// }
},
s3Enabled: {
type: Boolean
@@ -165,10 +153,6 @@ export interface UserInterface extends Document {
id?: string,
key?: string,
iv?: Buffer,
// accessToken?: string,
// refreshToken?: string,
// tokenType?: string,
// expiryDate?: string,
token?: string,
},
s3Enabled?: boolean,
@@ -200,27 +184,22 @@ export interface UserInterface extends Document {
lastSubscriptionStatus?: boolean,
getEncryptionKey: () => Buffer | undefined;
generateTempAuthToken: () => any;
// generateTempAuthTokenVideo: (cookie: string) => any;
generateTempAuthToken: () => Promise<any>;
encryptToken: (tempToken: any, key: any, publicKey: any) => any;
decryptToken: (encryptedToken: any, key: any, publicKey: any) => any;
findByCreds: (email: string, password: string) => UserInterface;
findByCreds: (email: string, password: string) => Promise<UserInterface>;
generateAuthToken: (ipAddress: string | undefined) => Promise<{accessToken: string, refreshToken: string}>
generateAuthTokenStreamVideo: (ipAddress: string | undefined) => Promise<string>
generateEncryptionKeys: () => Promise<void>;
changeEncryptionKey: (randomKey: Buffer) => void;
generateEmailVerifyToken: () => string;
generatePasswordResetToken: () => string;
changeEncryptionKey: (randomKey: Buffer) => Promise<void>;
generateEmailVerifyToken: () => Promise<string>;
generatePasswordResetToken: () => Promise<string>;
encryptDriveIDandKey: (ID:string, key: string) => Promise<void>;
decryptDriveIDandKey: () => {clientID: string, clientKey: string};
encryptDriveTokenData: (token: Object) => void;
decryptDriveTokenData: () => any;
encryptS3Data: (id: string, key: string, bucket: string) => void;
decryptS3Data: () => {
id: string,
key: string,
bucket: string
}
decryptDriveIDandKey: () => Promise<{clientID: string, clientKey: string}>;
encryptDriveTokenData: (token: Object) => Promise<void>;
decryptDriveTokenData: () => Promise<any>;
encryptS3Data: (id: string, key: string, bucket: string) => Promise<void>;
decryptS3Data: () => Promise<{id: string, key: string, bucket: string}>
}
const maxAgeAccess = 60 * 1000 * 20 + (1000 * 60);
@@ -14,7 +14,6 @@ import getFileSize from "./utils/getFileSize";
import DbUtilFile from "../../db/utils/fileUtils/index";
import awaitStream from "./utils/awaitStream";
import createThumbnailAny from "./utils/createThumbailAny";
import createThumbnailFS from "./utils/createThumbnailFS";
import imageChecker from "../../utils/imageChecker";
import Thumbnail, {ThumbnailInterface} from "../../models/thumbnail";
import streamToBuffer from "../../utils/streamToBuffer";
@@ -29,7 +28,6 @@ import addToStoageSize from "./utils/addToStorageSize";
import subtractFromStorageSize from "./utils/subtractFromStorageSize";
import ForbiddenError from "../../utils/ForbiddenError";
import { ObjectID } from "mongodb";
const StreamSkip = require("stream-skip");
const dbUtilsFile = new DbUtilFile();
+1 -3
View File
@@ -161,9 +161,7 @@ class MongoFileService {
return tempToken;
}
getAccessTokenStreamVideo = async() => {
}
// No longer needed left for reference
// getDownloadTokenVideo = async(user: UserInterface, cookie: string) => {
-2
View File
@@ -184,8 +184,6 @@ class FolderService {
currentID = currentFolder.parent;
}
// console.log("SENDING FOLDER LIST FULL MONGO", folderList)
return folderList;
}
@@ -2,7 +2,6 @@ import { UserInterface } from "../../models/user";
import getGoogleAuth from "../../db/googleAuth";
import {google} from "googleapis";
import convertDriveListToMongoList from "../../utils/convertDriveListToMongoList";
import createQueryGoogle from "../../utils/createQueryGoogle";
import FileService from "../FileService";
import sortGoogleMongoList from "../../utils/sortGoogleMongoList";
import convertDriveToMongo from "../../utils/convertDriveToMongo";
@@ -2,11 +2,10 @@ import { UserInterface } from "../../models/user";
import getGoogleAuth from "../../db/googleAuth";
import {google} from "googleapis";
import convertDriveFoldersToMongoFolders from "../../utils/convertDriveFoldersToMongoFolders";
import createQueryGoogleFolder from "../../utils/createQueryGoogleFolder";
import FolderService from "../FolderService";
import sortGoogleMongoFolderList from "../../utils/sortGoogleMongoFolderList";
import convertDriveFolderToMongoFolder from "../../utils/convertDriveFolderToMongoFolder";
import createQueryGoogle, {googleQueryType} from "../../utils/createQueryGoogle";
import {googleQueryType} from "../../utils/createQueryGoogle";
import GoogleDbFolderUtils from "../../db/utils/googleFolderUtils";
const googleDbFolderUtils = new GoogleDbFolderUtils();
-53
View File
@@ -2,7 +2,6 @@ import User, {UserInterface} from "../../models/user";
import bcrypt from "bcrypt";
import NotFoundError from "../../utils/NotFoundError";
import InternalServerError from "../../utils/InternalServerError";
import NotAuthorizedError from "../../utils/NotAuthorizedError";
import sendEmailVerification from "../../utils/sendVerificationEmail";
import File from "../../models/file";
import env from "../../enviroment/env";
@@ -48,7 +47,6 @@ class UserService {
const {accessToken, refreshToken} = await user.generateAuthToken(ipAddress);
if (!accessToken || !refreshToken) throw new NotFoundError("Login User Not Found Error");
//if (!user.emailVerified) throw new NotEmailVertifiedError("Email Address Not Verified")
return {user, accessToken, refreshToken}
}
@@ -78,12 +76,6 @@ class UserService {
}
await user.save();
// user.tokens = user.tokens.filter((token) => {
// return token.token !== userToken;
// })
// await user.save();
}
logoutAll = async(userID: string) => {
@@ -96,11 +88,6 @@ class UserService {
user.tempTokens = [];
await user.save();
// user.tokens = []
// user.tempTokens = [];
// await user.save();
}
create = async(userData: any, ipAddress: string | undefined) => {
@@ -141,25 +128,6 @@ class UserService {
user.tokens = [];
user.tempTokens = [];
user.passwordLastModified = date.getTime();
// if (oldRefreshToken) {
// const decoded = jwt.verify(oldRefreshToken, env.passwordRefresh!) as jwtType;
// const encrpytionKey = user.getEncryptionKey();
// const encryptedToken = user.encryptToken(oldRefreshToken, encrpytionKey, decoded.iv);
// for (let i = 0; i < user.tokens.length; i++) {
// const currentEncryptedToken = user.tokens[i].token;
// if (currentEncryptedToken === encryptedToken) {
// console.log("Refresh Token Found Logout!");
// user.tokens.splice(i, 1);
// await user.save();
// break;
// }
// }
// }
await user.save();
await user.changeEncryptionKey(encryptionKey!);
@@ -167,27 +135,6 @@ class UserService {
const {accessToken, refreshToken} = await user.generateAuthToken(ipAddress);
return {accessToken, refreshToken};
// const date = new Date();
// const isMatch = await bcrypt.compare(oldPassword, user.password);
// if (!isMatch) throw new NotAuthorizedError("Change Passwords Do Not Match Error");
// const encryptionKey = user.getEncryptionKey();
// user.password = newPassword;
// user.tokens = [];
// user.tempTokens = [];
// user.passwordLastModified = date.getTime();
// await user.save();
// await user.changeEncryptionKey(encryptionKey!);
// const newToken = await user.generateAuthToken();
// return newToken;
}
refreshStorageSize = async(userID: string) => {
@@ -42,6 +42,7 @@ class PopupWindow extends React.Component {
</video>}
<div>
<div>
<p className="popup-file-details-title">Location: {this.props.popupFile.metadata.drive ? "Google Drive" : this.props.popupFile.metadata.personalFile ? "Amazon S3" : "myDrive"}</p>
<p className="popup-file-details-title">File Size: {bytes(+this.props.popupFile.metadata.size)}</p>
<p className="popup-file-details-title">Created: {moment(this.props.popupFile.uploadDate).format("L")}</p>
<div className="popup-window-button-wrapper">