moer project structure changes
This commit is contained in:
@@ -1,23 +1,23 @@
|
||||
import { Request, Response } from "express";
|
||||
import FileService from "../services/FileService";
|
||||
import User, { UserInterface } from "../models/user";
|
||||
import FileService from "../services/fileService/fileService";
|
||||
import User, { UserInterface } from "../models/userModel";
|
||||
import sendShareEmail from "../utils/sendShareEmail";
|
||||
import {
|
||||
createStreamVideoCookie,
|
||||
removeStreamVideoCookie,
|
||||
} from "../cookies/createCookies";
|
||||
import ChunkService from "../services/ChunkService";
|
||||
import ChunkService from "../services/chunkService/chunkService";
|
||||
import streamToBuffer from "../utils/streamToBuffer";
|
||||
import env from "../enviroment/env";
|
||||
import getFileSize from "../services/ChunkService/utils/getFileSize";
|
||||
import File, { FileMetadateInterface } from "../models/file";
|
||||
import getFileSize from "../services/chunkService/utils/getFileSize";
|
||||
import File, { FileMetadateInterface } from "../models/fileModel";
|
||||
import imageChecker from "../utils/imageChecker";
|
||||
import videoChecker from "../utils/videoChecker";
|
||||
import { S3Actions } from "../services/ChunkService/Actions/S3Actions";
|
||||
import { FilesystemActions } from "../services/ChunkService/Actions/FileSystemActions";
|
||||
import createVideoThumbnail from "../services/ChunkService/utils/createVideoThumbnail";
|
||||
import { S3Actions } from "../services/chunkService/actions/S3Actions";
|
||||
import { FilesystemActions } from "../services/chunkService/actions/fileSystemActions";
|
||||
import createVideoThumbnail from "../services/chunkService/utils/createVideoThumbnail";
|
||||
import NotAuthorizedError from "../utils/NotAuthorizedError";
|
||||
import createThumbnail from "../services/ChunkService/utils/createImageThumbnail";
|
||||
import createThumbnail from "../services/chunkService/utils/createImageThumbnail";
|
||||
|
||||
const fileService = new FileService();
|
||||
type userAccessType = {
|
||||
@@ -1,6 +1,6 @@
|
||||
import FolderService from "../services/FolderService";
|
||||
import FolderService from "../services/folderService/folderService";
|
||||
import { Request, Response } from "express";
|
||||
import ChunkService from "../services/ChunkService";
|
||||
import ChunkService from "../services/chunkService/chunkService";
|
||||
|
||||
const folderService = new FolderService();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import disk from "diskusage";
|
||||
import env from "../enviroment/env";
|
||||
import { Request, Response } from "express";
|
||||
import { UserInterface } from "../models/user";
|
||||
import { UserInterface } from "../models/userModel";
|
||||
|
||||
type userAccessType = {
|
||||
_id: string;
|
||||
@@ -1,7 +1,7 @@
|
||||
import env from "../enviroment/env";
|
||||
import UserService from "../services/UserService";
|
||||
import UserService from "../services/userService/userService";
|
||||
import { Request, Response } from "express";
|
||||
import { UserInterface } from "../models/user";
|
||||
import { UserInterface } from "../models/userModel";
|
||||
import {
|
||||
createLoginCookie,
|
||||
createLogoutCookie,
|
||||
@@ -1,7 +1,7 @@
|
||||
import mongoose from "../connections/mongoose";
|
||||
import { ObjectId } from "mongodb";
|
||||
import File from "../../models/file";
|
||||
import { UserInterface } from "../../models/user";
|
||||
import File from "../../models/fileModel";
|
||||
import { UserInterface } from "../../models/userModel";
|
||||
import { QueryInterface } from "../../utils/createQuery";
|
||||
|
||||
class DbUtil {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Folder, { FolderInterface } from "../../models/folder";
|
||||
import Folder, { FolderInterface } from "../../models/folderModel";
|
||||
import { ObjectId } from "mongodb";
|
||||
|
||||
class DbUtil {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Router } from "express";
|
||||
import auth from "../middleware/auth";
|
||||
import FileController from "../controllers/file";
|
||||
import FileController from "../controllers/fileController";
|
||||
import authFullUser from "../middleware/authFullUser";
|
||||
import authStreamVideo from "../middleware/authStreamVideo";
|
||||
|
||||
@@ -1,21 +1,9 @@
|
||||
import { Router } from "express";
|
||||
import auth from "../middleware/auth";
|
||||
import env from "../enviroment/env";
|
||||
import FileSystemService from "../services/ChunkService/FileSystemService";
|
||||
import S3Service from "../services/ChunkService/S3Service";
|
||||
import FolderController from "../controllers/folder";
|
||||
import { moveFolderListValidationRules } from "../middleware/Folders/FolderMiddleware";
|
||||
|
||||
let folderController: FolderController;
|
||||
|
||||
if (env.dbType === "fs") {
|
||||
const fileSystemService = new FileSystemService();
|
||||
folderController = new FolderController();
|
||||
} else {
|
||||
const s3Service = new S3Service();
|
||||
folderController = new FolderController();
|
||||
}
|
||||
import FolderController from "../controllers/folderController";
|
||||
import { moveFolderListValidationRules } from "../middleware/folders/folderMiddleware";
|
||||
|
||||
const folderController = new FolderController();
|
||||
const router = Router();
|
||||
|
||||
router.post("/folder-service/create", auth, folderController.createFolder);
|
||||
@@ -1,13 +0,0 @@
|
||||
import {Router} from "express";
|
||||
import auth from "../middleware/auth";
|
||||
import StorageController from "../controllers/storage";
|
||||
|
||||
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,7 +1,7 @@
|
||||
import { Router } from "express";
|
||||
import auth from "../middleware/auth";
|
||||
import authNoEmailVerification from "../middleware/authNoEmailVerificication"
|
||||
import UserController from "../controllers/user";
|
||||
import authNoEmailVerification from "../middleware/authNoEmailVerificication";
|
||||
import UserController from "../controllers/userController";
|
||||
import authRefresh from "../middleware/authRefresh";
|
||||
import authLogout from "../middleware/authLogout";
|
||||
|
||||
@@ -9,9 +9,17 @@ const userController = new UserController();
|
||||
|
||||
const router = Router();
|
||||
|
||||
router.get("/user-service/user", authNoEmailVerification, userController.getUser);
|
||||
router.get(
|
||||
"/user-service/user",
|
||||
authNoEmailVerification,
|
||||
userController.getUser
|
||||
);
|
||||
|
||||
router.patch("/user-service/refresh-storage-size", auth, userController.refreshStorageSize);
|
||||
router.patch(
|
||||
"/user-service/refresh-storage-size",
|
||||
auth,
|
||||
userController.refreshStorageSize
|
||||
);
|
||||
|
||||
router.get("/user-service/user-detailed", auth, userController.getUserDetailed);
|
||||
|
||||
@@ -23,13 +31,24 @@ router.post("/user-service/logout-all", authLogout, userController.logoutAll);
|
||||
|
||||
router.post("/user-service/create", userController.createUser);
|
||||
|
||||
router.post("/user-service/change-password", auth, userController.changePassword);
|
||||
router.post(
|
||||
"/user-service/change-password",
|
||||
auth,
|
||||
userController.changePassword
|
||||
);
|
||||
|
||||
router.post("/user-service/verify-email", userController.verifyEmail);
|
||||
|
||||
router.post("/user-service/resend-verify-email", authNoEmailVerification, userController.resendVerifyEmail);
|
||||
router.post(
|
||||
"/user-service/resend-verify-email",
|
||||
authNoEmailVerification,
|
||||
userController.resendVerifyEmail
|
||||
);
|
||||
|
||||
router.post("/user-service/send-password-reset", userController.sendPasswordReset);
|
||||
router.post(
|
||||
"/user-service/send-password-reset",
|
||||
userController.sendPasswordReset
|
||||
);
|
||||
|
||||
router.post("/user-service/reset-password", userController.resetPassword);
|
||||
|
||||
@@ -37,4 +56,4 @@ router.patch("/user-service/add-name", auth, userController.addName);
|
||||
|
||||
router.post("/user-service/get-token", authRefresh, userController.getToken);
|
||||
|
||||
export default router;
|
||||
export default router;
|
||||
@@ -1,5 +1,5 @@
|
||||
import jwt from "jsonwebtoken";
|
||||
import User, { UserInterface } from "../models/user";
|
||||
import User, { UserInterface } from "../models/userModel";
|
||||
import env from "../enviroment/env";
|
||||
import { Request, Response, NextFunction } from "express";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import jwt from "jsonwebtoken";
|
||||
import User, { UserInterface } from "../models/user";
|
||||
import User, { UserInterface } from "../models/userModel";
|
||||
import env from "../enviroment/env";
|
||||
import { Request, Response, NextFunction } from "express";
|
||||
import userUpdateCheck from "../utils/userUpdateCheck";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import jwt from "jsonwebtoken";
|
||||
import User, { UserInterface } from "../models/user";
|
||||
import User, { UserInterface } from "../models/userModel";
|
||||
import env from "../enviroment/env";
|
||||
import { Request, Response, NextFunction } from "express";
|
||||
import { ObjectId } from "mongodb";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import jwt from "jsonwebtoken";
|
||||
import User, { UserInterface } from "../models/user";
|
||||
import User, { UserInterface } from "../models/userModel";
|
||||
import env from "../enviroment/env";
|
||||
import { Request, Response, NextFunction } from "express";
|
||||
import { ObjectId } from "mongodb";
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import express, { Request, Response } from "express";
|
||||
import path from "path";
|
||||
import userRouter from "../express-routers/user";
|
||||
import fileRouter from "../express-routers/file";
|
||||
import folderRouter from "../express-routers/folder";
|
||||
import storageRouter from "../express-routers/storage";
|
||||
import userRouter from "../express-routers/userRouter";
|
||||
import fileRouter from "../express-routers/fileRouter";
|
||||
import folderRouter from "../express-routers/folderRouter";
|
||||
import bodyParser from "body-parser";
|
||||
import https from "https";
|
||||
import fs from "fs";
|
||||
@@ -60,7 +59,7 @@ app.use(
|
||||
})
|
||||
);
|
||||
|
||||
app.use(userRouter, fileRouter, folderRouter, storageRouter);
|
||||
app.use(userRouter, fileRouter, folderRouter);
|
||||
|
||||
//const nodeMode = process.env.NODE_ENV ? "Production" : "Development/Testing";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import fs from "fs";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { GenericParams, IStorageActions } from "../StoreTypes";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import { GenericParams, IStorageActions } from "../storeTypes";
|
||||
import env from "../../../enviroment/env";
|
||||
|
||||
class FilesystemActions implements IStorageActions {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import s3 from "../../../db/connections/s3";
|
||||
import env from "../../../enviroment/env";
|
||||
import { GenericParams, IStorageActions } from "./../StoreTypes";
|
||||
import { GenericParams, IStorageActions } from "../storeTypes";
|
||||
import internal from "stream";
|
||||
import { PassThrough } from "stream";
|
||||
|
||||
|
||||
+7
-7
@@ -1,23 +1,23 @@
|
||||
import { Response, Request } from "express";
|
||||
import { UserInterface } from "../../models/user";
|
||||
import { UserInterface } from "../../models/userModel";
|
||||
import NotAuthorizedError from "../../utils/NotAuthorizedError";
|
||||
import NotFoundError from "../../utils/NotFoundError";
|
||||
import crypto from "crypto";
|
||||
import getBusboyData from "./utils/getBusboyData";
|
||||
import videoChecker from "../../utils/videoChecker";
|
||||
import uuid from "uuid";
|
||||
import File, { FileInterface } from "../../models/file";
|
||||
import File, { FileInterface } from "../../models/fileModel";
|
||||
import FileDB from "../../db/mongoDB/fileDB";
|
||||
import FolderDB from "../../db/mongoDB/folderDB";
|
||||
import Thumbnail, { ThumbnailInterface } from "../../models/thumbnail";
|
||||
import User from "../../models/user";
|
||||
import Thumbnail, { ThumbnailInterface } from "../../models/thumbnailModel";
|
||||
import User from "../../models/userModel";
|
||||
import env from "../../enviroment/env";
|
||||
import fixStartChunkLength from "./utils/fixStartChunkLength";
|
||||
import Folder, { FolderInterface } from "../../models/folder";
|
||||
import Folder, { FolderInterface } from "../../models/folderModel";
|
||||
import ForbiddenError from "../../utils/ForbiddenError";
|
||||
import { ObjectId } from "mongodb";
|
||||
import { S3Actions } from "./Actions/S3Actions";
|
||||
import { FilesystemActions } from "./Actions/FileSystemActions";
|
||||
import { S3Actions } from "./actions/S3Actions";
|
||||
import { FilesystemActions } from "./actions/fileSystemActions";
|
||||
import { createGenericParams } from "./utils/storageHelper";
|
||||
|
||||
const fileDB = new FileDB();
|
||||
@@ -1,7 +1,7 @@
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { FileInterface } from "../../../models/file";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import { FileInterface } from "../../../models/fileModel";
|
||||
import { Request, Response } from "express";
|
||||
import { FolderInterface } from "../../../models/folder";
|
||||
import { FolderInterface } from "../../../models/folderModel";
|
||||
import crypto from "crypto";
|
||||
|
||||
interface ChunkInterface {
|
||||
|
||||
@@ -1,20 +1,28 @@
|
||||
import {UserInterface} from "../../../models/user";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import env from "../../../enviroment/env";
|
||||
|
||||
const addToStoageSize = async(user: UserInterface, size: number, isPersonalFile: boolean) => {
|
||||
|
||||
if (isPersonalFile) {
|
||||
//console.log("user storage")
|
||||
user.storageDataPersonal!.storageSize = +user.storageDataPersonal!.storageSize! + +size;
|
||||
await user.save()
|
||||
return;
|
||||
}
|
||||
|
||||
if (!user.storageData || (!user.storageData.storageSize && !user.storageData.storageLimit)) user.storageData = {storageSize: 0, storageLimit: 0};
|
||||
|
||||
user.storageData!.storageSize = +user.storageData!.storageSize! + +size;
|
||||
|
||||
const addToStoageSize = async (
|
||||
user: UserInterface,
|
||||
size: number,
|
||||
isPersonalFile: boolean
|
||||
) => {
|
||||
if (isPersonalFile) {
|
||||
//console.log("user storage")
|
||||
user.storageDataPersonal!.storageSize =
|
||||
+user.storageDataPersonal!.storageSize! + +size;
|
||||
await user.save();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
export default addToStoageSize;
|
||||
if (
|
||||
!user.storageData ||
|
||||
(!user.storageData.storageSize && !user.storageData.storageLimit)
|
||||
)
|
||||
user.storageData = { storageSize: 0, storageLimit: 0 };
|
||||
|
||||
user.storageData!.storageSize = +user.storageData!.storageSize! + +size;
|
||||
|
||||
await user.save();
|
||||
};
|
||||
|
||||
export default addToStoageSize;
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
import mongoose from "../../../db/connections/mongoose";
|
||||
import crypto from "crypto";
|
||||
import Thumbnail from "../../../models/thumbnail";
|
||||
import Thumbnail from "../../../models/thumbnailModel";
|
||||
import sharp from "sharp";
|
||||
import { FileInterface } from "../../../models/file";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { FileInterface } from "../../../models/fileModel";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import fs from "fs";
|
||||
import uuid from "uuid";
|
||||
import env from "../../../enviroment/env";
|
||||
import { ObjectId } from "mongodb";
|
||||
import File from "../../../models/file";
|
||||
import File from "../../../models/fileModel";
|
||||
import { createGenericParams } from "./storageHelper";
|
||||
import { S3Actions } from "../Actions/S3Actions";
|
||||
import { FilesystemActions } from "../Actions/FileSystemActions";
|
||||
import { S3Actions } from "../actions/S3Actions";
|
||||
import { FilesystemActions } from "../actions/fileSystemActions";
|
||||
|
||||
const conn = mongoose.connection;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { FileInterface } from "../../../models/file";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { FileInterface } from "../../../models/fileModel";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import createThumbnailS3 from "./createThumbnailS3";
|
||||
import createThumbnailFilesystem from "./createThumbnailFS";
|
||||
import env from "../../../enviroment/env";
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import mongoose from "../../../db/connections/mongoose";
|
||||
import crypto from "crypto";
|
||||
import Thumbnail from "../../../models/thumbnail";
|
||||
import Thumbnail from "../../../models/thumbnailModel";
|
||||
import sharp from "sharp";
|
||||
import { FileInterface } from "../../../models/file";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { FileInterface } from "../../../models/fileModel";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import fs from "fs";
|
||||
import uuid from "uuid";
|
||||
import env from "../../../enviroment/env";
|
||||
import { ObjectId } from "mongodb";
|
||||
import File from "../../../models/file";
|
||||
import File from "../../../models/fileModel";
|
||||
|
||||
const conn = mongoose.connection;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import mongoose from "../../../db/connections/mongoose";
|
||||
import crypto from "crypto";
|
||||
import Thumbnail from "../../../models/thumbnail";
|
||||
import Thumbnail from "../../../models/thumbnailModel";
|
||||
import sharp from "sharp";
|
||||
import { FileInterface } from "../../../models/file";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { FileInterface } from "../../../models/fileModel";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import uuid from "uuid";
|
||||
import env from "../../../enviroment/env";
|
||||
import s3 from "../../../db/connections/s3";
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import mongoose from "../../../db/connections/mongoose";
|
||||
import crypto from "crypto";
|
||||
import Thumbnail from "../../../models/thumbnail";
|
||||
import Thumbnail from "../../../models/thumbnailModel";
|
||||
import sharp from "sharp";
|
||||
import { FileInterface } from "../../../models/file";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { FileInterface } from "../../../models/fileModel";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import fs from "fs";
|
||||
import uuid from "uuid";
|
||||
import env from "../../../enviroment/env";
|
||||
import { ObjectId } from "mongodb";
|
||||
import File from "../../../models/file";
|
||||
import File from "../../../models/fileModel";
|
||||
import ffmpeg from "fluent-ffmpeg";
|
||||
import tempCreateVideoThumbnailFS from "./tempCreateVideoThumbnailFS";
|
||||
import { S3Actions } from "../Actions/S3Actions";
|
||||
import { FilesystemActions } from "../Actions/FileSystemActions";
|
||||
import { S3Actions } from "../actions/S3Actions";
|
||||
import { FilesystemActions } from "../actions/fileSystemActions";
|
||||
import { createGenericParams } from "./storageHelper";
|
||||
|
||||
const storageActions =
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import mongoose from "../../../db/connections/mongoose";
|
||||
import crypto from "crypto";
|
||||
import Thumbnail from "../../../models/thumbnail";
|
||||
import Thumbnail from "../../../models/thumbnailModel";
|
||||
import sharp from "sharp";
|
||||
import { FileInterface } from "../../../models/file";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { FileInterface } from "../../../models/fileModel";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import fs from "fs";
|
||||
import uuid from "uuid";
|
||||
import env from "../../../enviroment/env";
|
||||
import { ObjectId } from "mongodb";
|
||||
import File from "../../../models/file";
|
||||
import File from "../../../models/fileModel";
|
||||
import ffmpeg from "fluent-ffmpeg";
|
||||
import tempCreateVideoThumbnailFS from "./tempCreateVideoThumbnailFS";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import s3 from "../../../db/s3";
|
||||
import env from "../../../enviroment/env";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
|
||||
const getPrevIV = (
|
||||
start: number,
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
|
||||
const removeTempToken = async(user: UserInterface, tempToken: any,) => {
|
||||
const removeTempToken = async (user: UserInterface, tempToken: any) => {
|
||||
user.tempTokens = user.tempTokens.filter((filterToken) => {
|
||||
return filterToken.token !== tempToken;
|
||||
});
|
||||
|
||||
user.tempTokens = user.tempTokens.filter((filterToken) => {
|
||||
|
||||
return filterToken.token !== tempToken;
|
||||
})
|
||||
|
||||
await user.save();
|
||||
}
|
||||
await user.save();
|
||||
};
|
||||
|
||||
export default removeTempToken;
|
||||
export default removeTempToken;
|
||||
|
||||
@@ -1,24 +1,33 @@
|
||||
import User, {UserInterface} from "../../../models/user";
|
||||
import User, { UserInterface } from "../../../models/userModel";
|
||||
import env from "../../../enviroment/env";
|
||||
|
||||
const subtractFromStorageSize = async(userID: string, size: number, isPersonalFile: boolean) => {
|
||||
|
||||
const user = await User.findById(userID) as UserInterface;
|
||||
|
||||
if (isPersonalFile) {
|
||||
user.storageDataPersonal!.storageSize = +user.storageDataPersonal!.storageSize! - +size;
|
||||
if (user.storageDataPersonal!.storageSize < 0) user.storageDataPersonal!.storageSize = 0;
|
||||
await user.save();
|
||||
return
|
||||
}
|
||||
|
||||
if (!user.storageData || (!user.storageData.storageSize && !user.storageData.storageLimit)) user.storageData = {storageSize: 0, storageLimit: 0}
|
||||
|
||||
user.storageData!.storageSize = +user.storageData!.storageSize! - +size;
|
||||
|
||||
if (user.storageData?.storageSize! < 0) user.storageData!.storageSize! = 0;
|
||||
const subtractFromStorageSize = async (
|
||||
userID: string,
|
||||
size: number,
|
||||
isPersonalFile: boolean
|
||||
) => {
|
||||
const user = (await User.findById(userID)) as UserInterface;
|
||||
|
||||
if (isPersonalFile) {
|
||||
user.storageDataPersonal!.storageSize =
|
||||
+user.storageDataPersonal!.storageSize! - +size;
|
||||
if (user.storageDataPersonal!.storageSize < 0)
|
||||
user.storageDataPersonal!.storageSize = 0;
|
||||
await user.save();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
export default subtractFromStorageSize;
|
||||
if (
|
||||
!user.storageData ||
|
||||
(!user.storageData.storageSize && !user.storageData.storageLimit)
|
||||
)
|
||||
user.storageData = { storageSize: 0, storageLimit: 0 };
|
||||
|
||||
user.storageData!.storageSize = +user.storageData!.storageSize! - +size;
|
||||
|
||||
if (user.storageData?.storageSize! < 0) user.storageData!.storageSize! = 0;
|
||||
|
||||
await user.save();
|
||||
};
|
||||
|
||||
export default subtractFromStorageSize;
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
import mongoose from "../../../db/connections/mongoose";
|
||||
import crypto from "crypto";
|
||||
import Thumbnail from "../../../models/thumbnail";
|
||||
import Thumbnail from "../../../models/thumbnailModel";
|
||||
import sharp from "sharp";
|
||||
import { FileInterface } from "../../../models/file";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { FileInterface } from "../../../models/fileModel";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import fs from "fs";
|
||||
import uuid from "uuid";
|
||||
import env from "../../../enviroment/env";
|
||||
import { ObjectId } from "mongodb";
|
||||
import File from "../../../models/file";
|
||||
import File from "../../../models/fileModel";
|
||||
import ffmpeg from "fluent-ffmpeg";
|
||||
import { S3Actions } from "../Actions/S3Actions";
|
||||
import { FilesystemActions } from "../Actions/FileSystemActions";
|
||||
import { S3Actions } from "../actions/S3Actions";
|
||||
import { FilesystemActions } from "../actions/fileSystemActions";
|
||||
import { createGenericParams } from "./storageHelper";
|
||||
|
||||
const storageActions =
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import mongoose from "../../../db/connections/mongoose";
|
||||
import crypto from "crypto";
|
||||
import Thumbnail from "../../../models/thumbnail";
|
||||
import Thumbnail from "../../../models/thumbnailModel";
|
||||
import sharp from "sharp";
|
||||
import { FileInterface } from "../../../models/file";
|
||||
import { UserInterface } from "../../../models/user";
|
||||
import { FileInterface } from "../../../models/fileModel";
|
||||
import { UserInterface } from "../../../models/userModel";
|
||||
import fs from "fs";
|
||||
import uuid from "uuid";
|
||||
import env from "../../../enviroment/env";
|
||||
import { ObjectId } from "mongodb";
|
||||
import File from "../../../models/file";
|
||||
import File from "../../../models/fileModel";
|
||||
import ffmpeg from "fluent-ffmpeg";
|
||||
|
||||
const tempCreateVideoThumbnailFS = (
|
||||
|
||||
@@ -2,15 +2,15 @@ import NotAuthorizedError from "../../utils/NotAuthorizedError";
|
||||
import NotFoundError from "../../utils/NotFoundError";
|
||||
import env from "../../enviroment/env";
|
||||
import jwt from "jsonwebtoken";
|
||||
import Folder, { FolderInterface } from "../../models/folder";
|
||||
import Folder, { FolderInterface } from "../../models/folderModel";
|
||||
import sortBySwitch from "../../utils/sortBySwitch";
|
||||
import createQuery from "../../utils/createQuery";
|
||||
import FileDB from "../../db/mongoDB/fileDB";
|
||||
import FolderDB from "../../db/mongoDB/folderDB";
|
||||
import { UserInterface } from "../../models/user";
|
||||
import { FileInterface } from "../../models/file";
|
||||
import { UserInterface } from "../../models/userModel";
|
||||
import { FileInterface } from "../../models/fileModel";
|
||||
import tempStorage from "../../tempStorage/tempStorage";
|
||||
import FolderService from "../FolderService";
|
||||
import FolderService from "../folderService/folderService";
|
||||
|
||||
const fileDB = new FileDB();
|
||||
const folderDB = new FolderDB();
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
import Folder, { FolderInterface } from "../../models/folder";
|
||||
import Folder, { FolderInterface } from "../../models/folderModel";
|
||||
import InternalServerError from "../../utils/InternalServerError";
|
||||
import NotFoundError from "../../utils/NotFoundError";
|
||||
import FileDB from "../../db/mongoDB/fileDB";
|
||||
import FolderDB from "../../db/mongoDB/folderDB";
|
||||
import sortBySwitch from "../../utils/sortBySwitchFolder";
|
||||
import { UserInterface } from "../../models/user";
|
||||
import { UserInterface } from "../../models/userModel";
|
||||
|
||||
type userAccessType = {
|
||||
_id: string;
|
||||
@@ -1,9 +1,9 @@
|
||||
import User, { UserInterface } from "../../models/user";
|
||||
import User, { UserInterface } from "../../models/userModel";
|
||||
import bcrypt from "bcrypt";
|
||||
import NotFoundError from "../../utils/NotFoundError";
|
||||
import InternalServerError from "../../utils/InternalServerError";
|
||||
import sendEmailVerification from "../../utils/sendVerificationEmail";
|
||||
import File from "../../models/file";
|
||||
import File from "../../models/fileModel";
|
||||
import env from "../../enviroment/env";
|
||||
import jwt from "jsonwebtoken";
|
||||
import sendVerificationEmail from "../../utils/sendVerificationEmail";
|
||||
@@ -1,30 +1,36 @@
|
||||
import videoChecker from "./videoChecker";
|
||||
import {FileInterface} from "../models/file";
|
||||
import { FileInterface } from "../models/fileModel";
|
||||
|
||||
const convertDriveToMongo = (driveObj: any, ownerID: string, pageToken?: string | undefined | null) => {
|
||||
const convertDriveToMongo = (
|
||||
driveObj: any,
|
||||
ownerID: string,
|
||||
pageToken?: string | undefined | null
|
||||
) => {
|
||||
let convertedObj: any = {};
|
||||
convertedObj._id = driveObj.id;
|
||||
convertedObj.filename = driveObj.name;
|
||||
convertedObj.length = driveObj.size;
|
||||
convertedObj.uploadDate = driveObj.modifiedTime;
|
||||
convertedObj.pageToken = pageToken;
|
||||
convertedObj.metadata = {
|
||||
IV: "",
|
||||
hasThumbnail: driveObj.hasThumbnail,
|
||||
isVideo: videoChecker(driveObj.name),
|
||||
owner: ownerID,
|
||||
parent:
|
||||
driveObj.parents[driveObj.parents.length - 1] === "root"
|
||||
? "/"
|
||||
: driveObj.parents[driveObj.parents.length - 1],
|
||||
parentList: driveObj.parents,
|
||||
size: driveObj.size,
|
||||
drive: true,
|
||||
googleDoc: driveObj.mimeType === "application/vnd.google-apps.document",
|
||||
thumbnailID: driveObj.thumbnailLink,
|
||||
link: driveObj.shared ? driveObj.webViewLink : undefined,
|
||||
linkType: driveObj.shared ? "public" : undefined,
|
||||
};
|
||||
|
||||
let convertedObj: any = {};
|
||||
convertedObj._id = driveObj.id;
|
||||
convertedObj.filename = driveObj.name;
|
||||
convertedObj.length = driveObj.size;
|
||||
convertedObj.uploadDate = driveObj.modifiedTime;
|
||||
convertedObj.pageToken = pageToken
|
||||
convertedObj.metadata = {
|
||||
IV: "",
|
||||
hasThumbnail: driveObj.hasThumbnail,
|
||||
isVideo: videoChecker(driveObj.name),
|
||||
owner: ownerID,
|
||||
parent: driveObj.parents[driveObj.parents.length - 1] === "root" ? "/" : driveObj.parents[driveObj.parents.length - 1],
|
||||
parentList: driveObj.parents,
|
||||
size: driveObj.size,
|
||||
drive: true,
|
||||
googleDoc: driveObj.mimeType === "application/vnd.google-apps.document",
|
||||
thumbnailID: driveObj.thumbnailLink,
|
||||
link: driveObj.shared ? driveObj.webViewLink : undefined,
|
||||
linkType: driveObj.shared ? "public" : undefined
|
||||
}
|
||||
return convertedObj;
|
||||
};
|
||||
|
||||
return convertedObj;
|
||||
}
|
||||
|
||||
export default convertDriveToMongo;
|
||||
export default convertDriveToMongo;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import env from "../enviroment/env";
|
||||
import { UserInterface } from "../models/user";
|
||||
import { UserInterface } from "../models/userModel";
|
||||
// import sgMail from "@sendgrid/mail";
|
||||
|
||||
const sendPasswordResetEmail = async (
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import SMTPTransport from "nodemailer/lib/smtp-transport";
|
||||
import env from "../enviroment/env";
|
||||
import { UserInterface } from "../models/user";
|
||||
import { UserInterface } from "../models/userModel";
|
||||
import nodemailer from "nodemailer";
|
||||
|
||||
type MailOptionsType = {
|
||||
|
||||
@@ -1,58 +1,54 @@
|
||||
import { FolderInterface } from "../models/folder";
|
||||
import { FolderInterface } from "../models/folderModel";
|
||||
|
||||
const sortGoogleMongoFolderList = (combinedList: FolderInterface[], query: any) => {
|
||||
const sortGoogleMongoFolderList = (
|
||||
combinedList: FolderInterface[],
|
||||
query: any
|
||||
) => {
|
||||
if (query.sortby === "date_desc" || query.sortby === "DEFAULT") {
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const convertedDateA = new Date(a.createdAt).getTime();
|
||||
const convertedDateB = new Date(b.createdAt).getTime();
|
||||
return convertedDateB - convertedDateA;
|
||||
});
|
||||
} else if (query.sortby === "date_asc") {
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const convertedDateA = new Date(a.createdAt).getTime();
|
||||
const convertedDateB = new Date(b.createdAt).getTime();
|
||||
return convertedDateA - convertedDateB;
|
||||
});
|
||||
} else if (query.sortby === "alp_desc") {
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const name1 = a.name.toLowerCase();
|
||||
const name2 = b.name.toLowerCase();
|
||||
|
||||
if (query.sortby === "date_desc" || query.sortby === "DEFAULT") {
|
||||
if (name1 > name2) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const convertedDateA = new Date(a.createdAt).getTime();
|
||||
const convertedDateB = new Date(b.createdAt).getTime();
|
||||
return convertedDateB - convertedDateA;
|
||||
})
|
||||
} else if (query.sortby === "date_asc") {
|
||||
if (name2 > name1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const convertedDateA = new Date(a.createdAt).getTime();
|
||||
const convertedDateB = new Date(b.createdAt).getTime();
|
||||
return convertedDateA - convertedDateB;
|
||||
})
|
||||
} else if (query.sortby === "alp_desc") {
|
||||
return 0;
|
||||
});
|
||||
} else if (query.sortby === "alp_asc") {
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const name1 = a.name.toLowerCase();
|
||||
const name2 = b.name.toLowerCase();
|
||||
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
|
||||
const name1 = a.name.toLowerCase();
|
||||
const name2 = b.name.toLowerCase();
|
||||
if (name1 > name2) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (name1 > name2) {
|
||||
return -1;
|
||||
}
|
||||
if (name2 > name1) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (name2 > name1) {
|
||||
return 1
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
||||
return 0;
|
||||
})
|
||||
} else if (query.sortby === "alp_asc") {
|
||||
return combinedList;
|
||||
};
|
||||
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
|
||||
const name1 = a.name.toLowerCase();
|
||||
const name2 = b.name.toLowerCase();
|
||||
|
||||
if (name1 > name2) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (name2 > name1) {
|
||||
return -1
|
||||
}
|
||||
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
|
||||
return combinedList;
|
||||
}
|
||||
|
||||
export default sortGoogleMongoFolderList;
|
||||
export default sortGoogleMongoFolderList;
|
||||
|
||||
@@ -1,62 +1,55 @@
|
||||
import { FileInterface } from "../models/file";
|
||||
import { FileInterface } from "../models/fileModel";
|
||||
|
||||
const sortGoogleMongoList = (fileList: FileInterface[], query: any) => {
|
||||
let combinedList = fileList;
|
||||
|
||||
let combinedList = fileList;
|
||||
if (query.sortby === "date_desc" || query.sortby === "DEFAULT") {
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const convertedDateA = new Date(a.uploadDate).getTime();
|
||||
const convertedDateB = new Date(b.uploadDate).getTime();
|
||||
//onsole.log("data", b.uploadDate, convertedDate)
|
||||
return convertedDateB - convertedDateA;
|
||||
});
|
||||
} else if (query.sortby === "date_asc") {
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const convertedDateA = new Date(a.uploadDate).getTime();
|
||||
const convertedDateB = new Date(b.uploadDate).getTime();
|
||||
//onsole.log("data", b.uploadDate, convertedDate)
|
||||
return convertedDateA - convertedDateB;
|
||||
});
|
||||
} else if (query.sortby === "alp_desc") {
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const name1 = a.filename.toLowerCase();
|
||||
const name2 = b.filename.toLowerCase();
|
||||
|
||||
if (query.sortby === "date_desc" || query.sortby === "DEFAULT") {
|
||||
if (name1 > name2) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const convertedDateA = new Date(a.uploadDate).getTime();
|
||||
const convertedDateB = new Date(b.uploadDate).getTime();
|
||||
//onsole.log("data", b.uploadDate, convertedDate)
|
||||
return convertedDateB - convertedDateA;
|
||||
})
|
||||
} else if (query.sortby === "date_asc") {
|
||||
if (name2 > name1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const convertedDateA = new Date(a.uploadDate).getTime();
|
||||
const convertedDateB = new Date(b.uploadDate).getTime();
|
||||
//onsole.log("data", b.uploadDate, convertedDate)
|
||||
return convertedDateA - convertedDateB;
|
||||
})
|
||||
} else if (query.sortby === "alp_desc") {
|
||||
return 0;
|
||||
});
|
||||
} else if (query.sortby === "alp_asc") {
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
const name1 = a.filename.toLowerCase();
|
||||
const name2 = b.filename.toLowerCase();
|
||||
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
|
||||
const name1 = a.filename.toLowerCase();
|
||||
const name2 = b.filename.toLowerCase();
|
||||
if (name1 > name2) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (name1 > name2) {
|
||||
return -1;
|
||||
}
|
||||
if (name2 > name1) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (name2 > name1) {
|
||||
return 1
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
||||
return 0;
|
||||
})
|
||||
} else if (query.sortby === "alp_asc") {
|
||||
return combinedList;
|
||||
};
|
||||
|
||||
combinedList = combinedList.sort((a, b) => {
|
||||
|
||||
const name1 = a.filename.toLowerCase();
|
||||
const name2 = b.filename.toLowerCase();
|
||||
|
||||
if (name1 > name2) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (name2 > name1) {
|
||||
return -1
|
||||
}
|
||||
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
|
||||
return combinedList;
|
||||
}
|
||||
|
||||
export default sortGoogleMongoList;
|
||||
export default sortGoogleMongoList;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import User, { UserInterface } from "../models/user";
|
||||
import User, { UserInterface } from "../models/userModel";
|
||||
import mongoose from "mongoose";
|
||||
import { Request, Response, NextFunction } from "express";
|
||||
import NotFoundError from "./NotFoundError";
|
||||
|
||||
Reference in New Issue
Block a user