diff --git a/backend/controllers/file.ts b/backend/controllers/fileController.ts similarity index 97% rename from backend/controllers/file.ts rename to backend/controllers/fileController.ts index e03de07..932dcf3 100644 --- a/backend/controllers/file.ts +++ b/backend/controllers/fileController.ts @@ -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 = { diff --git a/backend/controllers/folder.ts b/backend/controllers/folderController.ts similarity index 98% rename from backend/controllers/folder.ts rename to backend/controllers/folderController.ts index 2b44c17..845a76d 100644 --- a/backend/controllers/folder.ts +++ b/backend/controllers/folderController.ts @@ -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(); diff --git a/backend/controllers/storage.ts b/backend/controllers/storageController.ts similarity index 94% rename from backend/controllers/storage.ts rename to backend/controllers/storageController.ts index bee3115..f08d037 100644 --- a/backend/controllers/storage.ts +++ b/backend/controllers/storageController.ts @@ -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; diff --git a/backend/controllers/user.ts b/backend/controllers/userController.ts similarity index 98% rename from backend/controllers/user.ts rename to backend/controllers/userController.ts index 5da3629..493d716 100644 --- a/backend/controllers/user.ts +++ b/backend/controllers/userController.ts @@ -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, diff --git a/backend/db/mongoDB/fileDB.ts b/backend/db/mongoDB/fileDB.ts index 4761fb8..3defb86 100644 --- a/backend/db/mongoDB/fileDB.ts +++ b/backend/db/mongoDB/fileDB.ts @@ -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 { diff --git a/backend/db/mongoDB/folderDB.ts b/backend/db/mongoDB/folderDB.ts index 54b41f3..bb183c1 100644 --- a/backend/db/mongoDB/folderDB.ts +++ b/backend/db/mongoDB/folderDB.ts @@ -1,4 +1,4 @@ -import Folder, { FolderInterface } from "../../models/folder"; +import Folder, { FolderInterface } from "../../models/folderModel"; import { ObjectId } from "mongodb"; class DbUtil { diff --git a/backend/express-routers/file.ts b/backend/express-routers/fileRouter.ts similarity index 98% rename from backend/express-routers/file.ts rename to backend/express-routers/fileRouter.ts index b2ee3d3..bfad683 100644 --- a/backend/express-routers/file.ts +++ b/backend/express-routers/fileRouter.ts @@ -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"; diff --git a/backend/express-routers/folder.ts b/backend/express-routers/folderRouter.ts similarity index 66% rename from backend/express-routers/folder.ts rename to backend/express-routers/folderRouter.ts index 8f7d03b..f6ef5c7 100644 --- a/backend/express-routers/folder.ts +++ b/backend/express-routers/folderRouter.ts @@ -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); diff --git a/backend/express-routers/storage.ts b/backend/express-routers/storage.ts deleted file mode 100644 index 296f2dc..0000000 --- a/backend/express-routers/storage.ts +++ /dev/null @@ -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; \ No newline at end of file diff --git a/backend/express-routers/user.ts b/backend/express-routers/userRouter.ts similarity index 62% rename from backend/express-routers/user.ts rename to backend/express-routers/userRouter.ts index e758b8d..3bd49fa 100644 --- a/backend/express-routers/user.ts +++ b/backend/express-routers/userRouter.ts @@ -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; \ No newline at end of file +export default router; diff --git a/backend/middleware/authFullUser.ts b/backend/middleware/authFullUser.ts index 09c3f53..2dccbb5 100644 --- a/backend/middleware/authFullUser.ts +++ b/backend/middleware/authFullUser.ts @@ -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"; diff --git a/backend/middleware/authNoEmailVerificication.ts b/backend/middleware/authNoEmailVerificication.ts index 521bfef..09a2a1d 100644 --- a/backend/middleware/authNoEmailVerificication.ts +++ b/backend/middleware/authNoEmailVerificication.ts @@ -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"; diff --git a/backend/middleware/authRefresh.ts b/backend/middleware/authRefresh.ts index 04ec525..33a3220 100644 --- a/backend/middleware/authRefresh.ts +++ b/backend/middleware/authRefresh.ts @@ -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"; diff --git a/backend/middleware/authStreamVideo.ts b/backend/middleware/authStreamVideo.ts index 5ffe035..06ce0cd 100644 --- a/backend/middleware/authStreamVideo.ts +++ b/backend/middleware/authStreamVideo.ts @@ -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"; diff --git a/backend/models/file.ts b/backend/models/fileModel.ts similarity index 100% rename from backend/models/file.ts rename to backend/models/fileModel.ts diff --git a/backend/models/fileSystem.ts b/backend/models/fileSystemModel.ts similarity index 100% rename from backend/models/fileSystem.ts rename to backend/models/fileSystemModel.ts diff --git a/backend/models/folder.ts b/backend/models/folderModel.ts similarity index 100% rename from backend/models/folder.ts rename to backend/models/folderModel.ts diff --git a/backend/models/thumbnail.ts b/backend/models/thumbnailModel.ts similarity index 100% rename from backend/models/thumbnail.ts rename to backend/models/thumbnailModel.ts diff --git a/backend/models/user.ts b/backend/models/userModel.ts similarity index 100% rename from backend/models/user.ts rename to backend/models/userModel.ts diff --git a/backend/server/server.ts b/backend/server/server.ts index 5d7eadb..7d2ed02 100755 --- a/backend/server/server.ts +++ b/backend/server/server.ts @@ -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"; diff --git a/backend/services/ChunkService/Actions/FileSystemActions.ts b/backend/services/ChunkService/Actions/FileSystemActions.ts index a98890e..b5da7a5 100644 --- a/backend/services/ChunkService/Actions/FileSystemActions.ts +++ b/backend/services/ChunkService/Actions/FileSystemActions.ts @@ -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 { diff --git a/backend/services/ChunkService/Actions/S3Actions.ts b/backend/services/ChunkService/Actions/S3Actions.ts index ce72f6a..291aac9 100644 --- a/backend/services/ChunkService/Actions/S3Actions.ts +++ b/backend/services/ChunkService/Actions/S3Actions.ts @@ -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"; diff --git a/backend/services/ChunkService/index.ts b/backend/services/ChunkService/chunkService.ts similarity index 97% rename from backend/services/ChunkService/index.ts rename to backend/services/ChunkService/chunkService.ts index 927da3f..d7be9c2 100644 --- a/backend/services/ChunkService/index.ts +++ b/backend/services/ChunkService/chunkService.ts @@ -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(); diff --git a/backend/services/ChunkService/utils/ChunkInterface.ts b/backend/services/ChunkService/utils/ChunkInterface.ts index baf67f4..0d1335c 100644 --- a/backend/services/ChunkService/utils/ChunkInterface.ts +++ b/backend/services/ChunkService/utils/ChunkInterface.ts @@ -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 { diff --git a/backend/services/ChunkService/utils/addToStorageSize.ts b/backend/services/ChunkService/utils/addToStorageSize.ts index 2ab62cd..0ac52f6 100644 --- a/backend/services/ChunkService/utils/addToStorageSize.ts +++ b/backend/services/ChunkService/utils/addToStorageSize.ts @@ -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; \ No newline at end of file + 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; diff --git a/backend/services/ChunkService/utils/createImageThumbnail.ts b/backend/services/ChunkService/utils/createImageThumbnail.ts index 0bf8276..4d8750a 100644 --- a/backend/services/ChunkService/utils/createImageThumbnail.ts +++ b/backend/services/ChunkService/utils/createImageThumbnail.ts @@ -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; diff --git a/backend/services/ChunkService/utils/createThumbailAny.ts b/backend/services/ChunkService/utils/createThumbailAny.ts index ac88034..e3665b6 100644 --- a/backend/services/ChunkService/utils/createThumbailAny.ts +++ b/backend/services/ChunkService/utils/createThumbailAny.ts @@ -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"; diff --git a/backend/services/ChunkService/utils/createThumbnailFS.ts b/backend/services/ChunkService/utils/createThumbnailFS.ts index 2a24172..c552bcf 100644 --- a/backend/services/ChunkService/utils/createThumbnailFS.ts +++ b/backend/services/ChunkService/utils/createThumbnailFS.ts @@ -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; diff --git a/backend/services/ChunkService/utils/createThumbnailS3.ts b/backend/services/ChunkService/utils/createThumbnailS3.ts index f732547..f196ecd 100644 --- a/backend/services/ChunkService/utils/createThumbnailS3.ts +++ b/backend/services/ChunkService/utils/createThumbnailS3.ts @@ -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"; diff --git a/backend/services/ChunkService/utils/createVideoThumbnail.ts b/backend/services/ChunkService/utils/createVideoThumbnail.ts index 7137620..9a2a17b 100644 --- a/backend/services/ChunkService/utils/createVideoThumbnail.ts +++ b/backend/services/ChunkService/utils/createVideoThumbnail.ts @@ -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 = diff --git a/backend/services/ChunkService/utils/createVideoThumbnailFS.ts b/backend/services/ChunkService/utils/createVideoThumbnailFS.ts index ceb7bdc..69359f7 100644 --- a/backend/services/ChunkService/utils/createVideoThumbnailFS.ts +++ b/backend/services/ChunkService/utils/createVideoThumbnailFS.ts @@ -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"; diff --git a/backend/services/ChunkService/utils/getPrevIVS3.ts b/backend/services/ChunkService/utils/getPrevIVS3.ts index 47f68af..f38ba23 100644 --- a/backend/services/ChunkService/utils/getPrevIVS3.ts +++ b/backend/services/ChunkService/utils/getPrevIVS3.ts @@ -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, diff --git a/backend/services/ChunkService/utils/removeTempToken.ts b/backend/services/ChunkService/utils/removeTempToken.ts index 3d30d01..e500ca4 100644 --- a/backend/services/ChunkService/utils/removeTempToken.ts +++ b/backend/services/ChunkService/utils/removeTempToken.ts @@ -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; \ No newline at end of file +export default removeTempToken; diff --git a/backend/services/ChunkService/utils/subtractFromStorageSize.ts b/backend/services/ChunkService/utils/subtractFromStorageSize.ts index 7f74bd8..9169cb9 100644 --- a/backend/services/ChunkService/utils/subtractFromStorageSize.ts +++ b/backend/services/ChunkService/utils/subtractFromStorageSize.ts @@ -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; \ No newline at end of file + 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; diff --git a/backend/services/ChunkService/utils/tempCreateVideoThumbnail.ts b/backend/services/ChunkService/utils/tempCreateVideoThumbnail.ts index 9984613..78661ed 100644 --- a/backend/services/ChunkService/utils/tempCreateVideoThumbnail.ts +++ b/backend/services/ChunkService/utils/tempCreateVideoThumbnail.ts @@ -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 = diff --git a/backend/services/ChunkService/utils/tempCreateVideoThumbnailFS.ts b/backend/services/ChunkService/utils/tempCreateVideoThumbnailFS.ts index 0e3963d..6eb5ce9 100644 --- a/backend/services/ChunkService/utils/tempCreateVideoThumbnailFS.ts +++ b/backend/services/ChunkService/utils/tempCreateVideoThumbnailFS.ts @@ -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 = ( diff --git a/backend/services/FileService/index.ts b/backend/services/fileService/fileService.ts similarity index 97% rename from backend/services/FileService/index.ts rename to backend/services/fileService/fileService.ts index 10d61cb..972ab18 100644 --- a/backend/services/FileService/index.ts +++ b/backend/services/fileService/fileService.ts @@ -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(); diff --git a/backend/services/FolderService/index.ts b/backend/services/folderService/folderService.ts similarity index 98% rename from backend/services/FolderService/index.ts rename to backend/services/folderService/folderService.ts index a67eacd..3e6d966 100644 --- a/backend/services/FolderService/index.ts +++ b/backend/services/folderService/folderService.ts @@ -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; diff --git a/backend/services/UserService/index.ts b/backend/services/userService/userService.ts similarity index 98% rename from backend/services/UserService/index.ts rename to backend/services/userService/userService.ts index 9080aa3..165688a 100644 --- a/backend/services/UserService/index.ts +++ b/backend/services/userService/userService.ts @@ -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"; diff --git a/backend/utils/convertDriveToMongo.ts b/backend/utils/convertDriveToMongo.ts index 5494e5a..93ffacb 100644 --- a/backend/utils/convertDriveToMongo.ts +++ b/backend/utils/convertDriveToMongo.ts @@ -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; \ No newline at end of file +export default convertDriveToMongo; diff --git a/backend/utils/sendPasswordResetEmail.ts b/backend/utils/sendPasswordResetEmail.ts index 800b234..70b3dd3 100644 --- a/backend/utils/sendPasswordResetEmail.ts +++ b/backend/utils/sendPasswordResetEmail.ts @@ -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 ( diff --git a/backend/utils/sendVerificationEmail.ts b/backend/utils/sendVerificationEmail.ts index 73006ff..89737fb 100644 --- a/backend/utils/sendVerificationEmail.ts +++ b/backend/utils/sendVerificationEmail.ts @@ -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 = { diff --git a/backend/utils/sortGoogleMongoFolderList.ts b/backend/utils/sortGoogleMongoFolderList.ts index c1c2cd4..8bb2638 100644 --- a/backend/utils/sortGoogleMongoFolderList.ts +++ b/backend/utils/sortGoogleMongoFolderList.ts @@ -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; \ No newline at end of file +export default sortGoogleMongoFolderList; diff --git a/backend/utils/sortGoogleMongoList.ts b/backend/utils/sortGoogleMongoList.ts index f93cbe9..2b2ce76 100644 --- a/backend/utils/sortGoogleMongoList.ts +++ b/backend/utils/sortGoogleMongoList.ts @@ -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; \ No newline at end of file +export default sortGoogleMongoList; diff --git a/backend/utils/userUpdateCheck.ts b/backend/utils/userUpdateCheck.ts index 22d829e..340b729 100644 --- a/backend/utils/userUpdateCheck.ts +++ b/backend/utils/userUpdateCheck.ts @@ -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";