switched error handling over to middleware instead
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Request, Response } from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import FileService from "../services/file-service/file-service";
|
||||
import User, { UserInterface } from "../models/user-model";
|
||||
import sendShareEmail from "../utils/sendShareEmail";
|
||||
@@ -292,7 +292,7 @@ class FileController {
|
||||
}
|
||||
};
|
||||
|
||||
removeLink = async (req: RequestType, res: Response) => {
|
||||
removeLink = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -304,15 +304,12 @@ class FileController {
|
||||
const file = await fileService.removeLink(userID, id);
|
||||
|
||||
res.send(file);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nRemove Public Link Error File Route:", e.message);
|
||||
}
|
||||
res.status(500).send("Server error removing link");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
makePublic = async (req: RequestType, res: Response) => {
|
||||
makePublic = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -324,15 +321,16 @@ class FileController {
|
||||
const { file, token } = await fileService.makePublic(userID, fileID);
|
||||
|
||||
res.send({ file, token });
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nMake Public Error File Route:", e.message);
|
||||
}
|
||||
res.status(500).send("Server error making public");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getPublicInfo = async (req: RequestType, res: Response) => {
|
||||
getPublicInfo = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
try {
|
||||
const id = req.params.id;
|
||||
const tempToken = req.params.tempToken;
|
||||
@@ -340,15 +338,16 @@ class FileController {
|
||||
const file = await fileService.getPublicInfo(id, tempToken);
|
||||
|
||||
res.send(file);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet Public Info Error File Route:", e.message);
|
||||
}
|
||||
res.status(500).send("Server error getting public info");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
makeOneTimePublic = async (req: RequestType, res: Response) => {
|
||||
makeOneTimePublic = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -360,16 +359,12 @@ class FileController {
|
||||
const { file, token } = await fileService.makeOneTimePublic(userID, id);
|
||||
|
||||
res.send({ file, token });
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nMake One Time Public Link Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error making public");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getFileInfo = async (req: RequestType, res: Response) => {
|
||||
getFileInfo = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -381,16 +376,16 @@ class FileController {
|
||||
const file = await fileService.getFileInfo(userID, fileID);
|
||||
|
||||
res.send(file);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet File Info Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting file info");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getQuickList = async (req: RequestType, res: Response) => {
|
||||
getQuickList = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -402,16 +397,12 @@ class FileController {
|
||||
const quickList = await fileService.getQuickList(user, limit);
|
||||
|
||||
res.send(quickList);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet Quick List Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting quick list");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getList = async (req: RequestType, res: Response) => {
|
||||
getList = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -443,16 +434,16 @@ class FileController {
|
||||
const fileList = await fileService.getList(queryData, sortBy, limit);
|
||||
|
||||
res.send(fileList);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet File List Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting file list");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getDownloadToken = async (req: RequestTypeFullUser, res: Response) => {
|
||||
getDownloadToken = async (
|
||||
req: RequestTypeFullUser,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -463,18 +454,15 @@ class FileController {
|
||||
const tempToken = await fileService.getDownloadToken(user);
|
||||
|
||||
res.send({ tempToken });
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet Download Token Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting download token");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getAccessTokenStreamVideo = async (
|
||||
req: RequestTypeFullUser,
|
||||
res: Response
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) return;
|
||||
|
||||
@@ -490,21 +478,15 @@ class FileController {
|
||||
createStreamVideoCookie(res, streamVideoAccessToken);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log(
|
||||
"\nGet Access Token Stream Video Fle Route Error:",
|
||||
e.message
|
||||
);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting video stream token");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
removeStreamVideoAccessToken = async (
|
||||
req: RequestTypeFullUser,
|
||||
res: Response
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) return;
|
||||
|
||||
@@ -525,16 +507,16 @@ class FileController {
|
||||
removeStreamVideoCookie(res);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nRemove Video Token File Router Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error removing video stream token");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
removeTempToken = async (req: RequestTypeFullUser, res: Response) => {
|
||||
removeTempToken = async (
|
||||
req: RequestTypeFullUser,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -547,12 +529,8 @@ class FileController {
|
||||
await fileService.removeTempToken(user, tempToken, currentUUID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nRemove Temp Token Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error removing temp token");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -674,7 +652,11 @@ class FileController {
|
||||
}
|
||||
};
|
||||
|
||||
getSuggestedList = async (req: RequestType, res: Response) => {
|
||||
getSuggestedList = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -693,16 +675,12 @@ class FileController {
|
||||
);
|
||||
|
||||
return res.send({ folderList, fileList });
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet Suggested List Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting suggested list");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
renameFile = async (req: RequestType, res: Response) => {
|
||||
renameFile = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -715,16 +693,16 @@ class FileController {
|
||||
await fileService.renameFile(userID, fileID, title);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nRename File Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error renaming file");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
sendEmailShare = async (req: RequestType, res: Response) => {
|
||||
sendEmailShare = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -740,16 +718,12 @@ class FileController {
|
||||
await sendShareEmail(file, respient);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nSend Share Email Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error sending email link");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
moveFile = async (req: RequestType, res: Response) => {
|
||||
moveFile = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -762,16 +736,12 @@ class FileController {
|
||||
await fileService.moveFile(userID, fileID, parentID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nMove File Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error moving file");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
trashFile = async (req: RequestType, res: Response) => {
|
||||
trashFile = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -783,16 +753,12 @@ class FileController {
|
||||
const trashedFile = await fileService.trashFile(userID, fileID);
|
||||
|
||||
res.send(trashedFile.toObject());
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nTrash File Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error trashing file");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
restoreFile = async (req: RequestType, res: Response) => {
|
||||
restoreFile = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -804,16 +770,12 @@ class FileController {
|
||||
const file = await fileService.restoreFile(userID, fileID);
|
||||
|
||||
res.send(file);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nRestore File Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error restoring file");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
deleteFile = async (req: RequestType, res: Response) => {
|
||||
deleteFile = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -825,16 +787,12 @@ class FileController {
|
||||
await this.chunkService.deleteFile(userID, fileID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nDelete File Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error deleting file");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
deleteMulti = async (req: RequestType, res: Response) => {
|
||||
deleteMulti = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -843,21 +801,15 @@ class FileController {
|
||||
const userID = req.user._id;
|
||||
const items = req.body.items;
|
||||
|
||||
console.log("items", req.body);
|
||||
|
||||
await this.chunkService.deleteMulti(userID, items);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("Delete Multi Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error deleting multi");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
trashMulti = async (req: RequestType, res: Response) => {
|
||||
trashMulti = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -869,16 +821,16 @@ class FileController {
|
||||
await fileService.trashMulti(userID, items);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nTrash Multi Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error trashing multi");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
restoreMulti = async (req: RequestType, res: Response) => {
|
||||
restoreMulti = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -890,12 +842,8 @@ class FileController {
|
||||
await fileService.restoreMulti(userID, items);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nRestore Multi Error File Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error restoring multi");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import FolderService from "../services/folder-service/folder-service";
|
||||
import { Request, Response } from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import ChunkService from "../services/chunk-service/chunk-service";
|
||||
|
||||
const folderService = new FolderService();
|
||||
@@ -21,7 +21,11 @@ const chunkService = new ChunkService();
|
||||
class FolderController {
|
||||
constructor() {}
|
||||
|
||||
createFolder = async (req: RequestType, res: Response) => {
|
||||
createFolder = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -34,15 +38,16 @@ class FolderController {
|
||||
const folder = await folderService.createFolder(userID, name, parent);
|
||||
|
||||
res.send(folder);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nUpload Folder Error Folder Route:", e.message);
|
||||
}
|
||||
res.status(500).send("Server error creating folder");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
deleteFolder = async (req: RequestType, res: Response) => {
|
||||
deleteFolder = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -55,16 +60,16 @@ class FolderController {
|
||||
await chunkService.deleteFolder(userID, folderID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nDelete Folder Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error deleting folder");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getSubfolderFullList = async (req: RequestType, res: Response) => {
|
||||
getSubfolderFullList = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -76,16 +81,12 @@ class FolderController {
|
||||
const subfolderList = await folderService.getSubfolderFullList(user, id);
|
||||
|
||||
res.send(subfolderList);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet Subfolder List Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting subfolder full list");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
deleteAll = async (req: RequestType, res: Response) => {
|
||||
deleteAll = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -96,16 +97,12 @@ class FolderController {
|
||||
await chunkService.deleteAll(userID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nDelete All Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error deleting all");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getInfo = async (req: RequestType, res: Response) => {
|
||||
getInfo = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -117,16 +114,16 @@ class FolderController {
|
||||
const folder = await folderService.getFolderInfo(userID, folderID);
|
||||
|
||||
res.send(folder);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet Info Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting user info");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getSubfolderList = async (req: RequestType, res: Response) => {
|
||||
getSubfolderList = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -139,16 +136,16 @@ class FolderController {
|
||||
await folderService.getFolderSublist(userID, folderID);
|
||||
|
||||
res.send({ folderIDList, folderNameList });
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nServer error getting subfolder list", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getFolderList = async (req: RequestType, res: Response) => {
|
||||
getFolderList = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -160,16 +157,12 @@ class FolderController {
|
||||
const folderList = await folderService.getFolderList(user, query);
|
||||
|
||||
res.send(folderList);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet Folder List Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting folder list");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
moveFolder = async (req: RequestType, res: Response) => {
|
||||
moveFolder = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -182,16 +175,12 @@ class FolderController {
|
||||
await folderService.moveFolder(userID, folderID, parentID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nMove Folder Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error moving folder");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
trashFolder = async (req: RequestType, res: Response) => {
|
||||
trashFolder = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -203,16 +192,16 @@ class FolderController {
|
||||
await folderService.trashFolder(userID, folderID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nTrash Folder Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error trashing folder");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
restoreFolder = async (req: RequestType, res: Response) => {
|
||||
restoreFolder = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -224,16 +213,16 @@ class FolderController {
|
||||
await folderService.restoreFolder(userID, folderID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("Restore Folder Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error restore folder");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
renameFolder = async (req: RequestType, res: Response) => {
|
||||
renameFolder = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -246,16 +235,16 @@ class FolderController {
|
||||
await folderService.renameFolder(userID, folderID, title);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nRename Folder Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error renaming folder");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getMoveFolderList = async (req: RequestType, res: Response) => {
|
||||
getMoveFolderList = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -278,12 +267,8 @@ class FolderController {
|
||||
);
|
||||
|
||||
res.send(folderList);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet Move Folder List Error Folder Route:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting move folder list");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import env from "../enviroment/env";
|
||||
import UserService from "../services/user-service/user-service";
|
||||
import { Request, Response } from "express";
|
||||
import { NextFunction, Request, Response } from "express";
|
||||
import { UserInterface } from "../models/user-model";
|
||||
import {
|
||||
createLoginCookie,
|
||||
@@ -33,21 +33,17 @@ interface RequestType extends Request {
|
||||
class UserController {
|
||||
constructor() {}
|
||||
|
||||
getUser = async (req: RequestType, res: Response) => {
|
||||
getUser = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
try {
|
||||
const user = req.user!;
|
||||
|
||||
res.send(user);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting user info");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
login = async (req: RequestType, res: Response) => {
|
||||
login = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
try {
|
||||
const body = req.body;
|
||||
|
||||
@@ -61,16 +57,16 @@ class UserController {
|
||||
createLoginCookie(res, accessToken, refreshToken);
|
||||
|
||||
res.status(200).send({ user });
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nLogin User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error attempting to login");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getToken = async (req: RequestTypeRefresh, res: Response) => {
|
||||
getToken = async (
|
||||
req: RequestTypeRefresh,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
try {
|
||||
const user = req.user;
|
||||
|
||||
@@ -89,16 +85,12 @@ class UserController {
|
||||
createLoginCookie(res, accessToken, refreshToken);
|
||||
|
||||
res.status(201).send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet Refresh Token User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
logout = async (req: RequestType, res: Response) => {
|
||||
logout = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -112,16 +104,13 @@ class UserController {
|
||||
createLogoutCookie(res);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nLogout User Route Error:", e.message);
|
||||
}
|
||||
} catch (e) {
|
||||
createLogoutCookie(res);
|
||||
res.status(500).send("Server error attempting to logout");
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
logoutAll = async (req: RequestType, res: Response) => {
|
||||
logoutAll = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) return;
|
||||
|
||||
try {
|
||||
@@ -132,16 +121,12 @@ class UserController {
|
||||
createLogoutCookie(res);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nLogout All User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error attempting to logout all");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
createUser = async (req: RequestType, res: Response) => {
|
||||
createUser = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (env.createAcctBlocked) {
|
||||
res.status(401).send();
|
||||
return;
|
||||
@@ -156,16 +141,16 @@ class UserController {
|
||||
createLoginCookie(res, accessToken, refreshToken);
|
||||
|
||||
res.status(201).send({ user, emailSent });
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nCreate User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error creating user");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
changePassword = async (req: RequestType, res: Response) => {
|
||||
changePassword = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -189,16 +174,16 @@ class UserController {
|
||||
createLoginCookie(res, accessToken, refreshToken);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nChange Password User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error changing password");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
refreshStorageSize = async (req: RequestType, res: Response) => {
|
||||
refreshStorageSize = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -209,16 +194,16 @@ class UserController {
|
||||
await UserProvider.refreshStorageSize(userID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nRefresh Storage Size User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error refreshing storage size");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
getUserDetailed = async (req: RequestType, res: Response) => {
|
||||
getUserDetailed = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -229,16 +214,12 @@ class UserController {
|
||||
const userDetailed = await UserProvider.getUserDetailed(userID);
|
||||
|
||||
res.send(userDetailed);
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nGet User Detailed User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error getting full user info");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
verifyEmail = async (req: RequestType, res: Response) => {
|
||||
verifyEmail = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
try {
|
||||
const verifyToken = req.body.emailToken;
|
||||
|
||||
@@ -253,16 +234,16 @@ class UserController {
|
||||
createLoginCookie(res, accessToken, refreshToken);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nVerify Email User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error verifying email");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
resendVerifyEmail = async (req: RequestType, res: Response) => {
|
||||
resendVerifyEmail = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -273,32 +254,32 @@ class UserController {
|
||||
await UserProvider.resendVerifyEmail(userID);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nResend Email User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error resending verify email");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
sendPasswordReset = async (req: RequestType, res: Response) => {
|
||||
sendPasswordReset = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
try {
|
||||
const email = req.body.email;
|
||||
|
||||
await UserProvider.sendPasswordReset(email);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nSend Password Reset Email User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error sending password reset");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
resetPassword = async (req: RequestType, res: Response) => {
|
||||
resetPassword = async (
|
||||
req: RequestType,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => {
|
||||
try {
|
||||
const verifyToken = req.body.passwordToken;
|
||||
const newPassword = req.body.password;
|
||||
@@ -306,16 +287,12 @@ class UserController {
|
||||
await UserProvider.resetPassword(newPassword, verifyToken);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nReset Password User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error resetting password");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
|
||||
addName = async (req: RequestType, res: Response) => {
|
||||
addName = async (req: RequestType, res: Response, next: NextFunction) => {
|
||||
if (!req.user) {
|
||||
return;
|
||||
}
|
||||
@@ -327,12 +304,8 @@ class UserController {
|
||||
await UserProvider.addName(userID, name);
|
||||
|
||||
res.send();
|
||||
} catch (e: unknown) {
|
||||
if (e instanceof Error) {
|
||||
console.log("\nAdd Name User Route Error:", e.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error adding name");
|
||||
} catch (e) {
|
||||
next(e);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { NextFunction } from "express";
|
||||
import e, { NextFunction } from "express";
|
||||
import { validationResult } from "express-validator";
|
||||
import { Request, Response } from "express";
|
||||
import NotAuthorizedError from "../../utils/NotAuthorizedError";
|
||||
import NotFoundError from "../../utils/NotFoundError";
|
||||
import InternalServerError from "../../utils/InternalServerError";
|
||||
import ForbiddenError from "../../utils/ForbiddenError";
|
||||
import NotValidDataError from "../../utils/NotValidDataError";
|
||||
|
||||
export const middlewareValidationFunction = (
|
||||
req: Request,
|
||||
@@ -13,3 +18,24 @@ export const middlewareValidationFunction = (
|
||||
}
|
||||
next();
|
||||
};
|
||||
|
||||
export const middlewareErrorHandler = (
|
||||
error: Error,
|
||||
_req: Request,
|
||||
res: Response,
|
||||
_next: NextFunction
|
||||
) => {
|
||||
console.log("Express route error: ", error);
|
||||
|
||||
if (
|
||||
error instanceof NotAuthorizedError ||
|
||||
error instanceof ForbiddenError ||
|
||||
error instanceof NotFoundError ||
|
||||
error instanceof InternalServerError ||
|
||||
error instanceof NotValidDataError
|
||||
) {
|
||||
return res.status(error.code).send(error.message);
|
||||
}
|
||||
|
||||
res.status(500).send("Server error");
|
||||
};
|
||||
|
||||
@@ -12,6 +12,7 @@ import compression from "compression";
|
||||
import http from "http";
|
||||
import cookieParser from "cookie-parser";
|
||||
import env from "../enviroment/env";
|
||||
import { middlewareErrorHandler } from "../middleware/utils/middleware-utils";
|
||||
// import requestIp from "request-ip";
|
||||
|
||||
const app = express();
|
||||
@@ -61,6 +62,8 @@ app.use(
|
||||
|
||||
app.use(userRouter, fileRouter, folderRouter);
|
||||
|
||||
app.use(middlewareErrorHandler);
|
||||
|
||||
//const nodeMode = process.env.NODE_ENV ? "Production" : "Development/Testing";
|
||||
|
||||
//console.log("Node Enviroment Mode:", nodeMode);
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
class ForbiddenError extends Error {
|
||||
code: number;
|
||||
isCustomError: boolean;
|
||||
|
||||
constructor(args: any) {
|
||||
super(args);
|
||||
|
||||
this.code = 403;
|
||||
this.isCustomError = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
class InternalServerError extends Error {
|
||||
code: number;
|
||||
isCustomError: boolean;
|
||||
|
||||
constructor(args: any) {
|
||||
super(args);
|
||||
|
||||
this.code = 500;
|
||||
this.isCustomError = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
class NotAuthorizedError extends Error {
|
||||
code: number;
|
||||
isCustomError: boolean;
|
||||
|
||||
constructor(args: any) {
|
||||
super(args);
|
||||
|
||||
this.code = 401;
|
||||
this.isCustomError = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
class NotFoundError extends Error {
|
||||
code: number;
|
||||
isCustomError: boolean;
|
||||
|
||||
constructor(args: any) {
|
||||
super(args);
|
||||
|
||||
this.code = 404;
|
||||
this.isCustomError = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
class NotValidDataError extends Error {
|
||||
code: number;
|
||||
isCustomError: boolean;
|
||||
|
||||
constructor(args: any) {
|
||||
super(args);
|
||||
|
||||
this.code = 403;
|
||||
this.isCustomError = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user