moer project structure changes

This commit is contained in:
subnub
2024-08-10 01:41:02 -04:00
parent 5c59a4baad
commit 9a97489e0e
45 changed files with 297 additions and 294 deletions
@@ -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,
+2 -2
View File
@@ -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 -1
View File
@@ -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);
-13
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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";
+4 -5
View File
@@ -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";
@@ -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();
@@ -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";
+32 -26
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 = {
+45 -49
View File
@@ -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;
+44 -51
View File
@@ -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 -1
View File
@@ -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";