Fixed more variable renaming issues
This commit is contained in:
parent
a19b3f6603
commit
122f722ff6
3 changed files with 22 additions and 20 deletions
|
@ -38,6 +38,7 @@ function getFile(userId, fileId) {
|
|||
function deleteFiles(userId, fileIds) {
|
||||
return files.find({ _id: { $in: fileIds } }).then((databaseFiles) => {
|
||||
var failed = [];
|
||||
var toRemove = [];
|
||||
filesByOwner = {};
|
||||
databaseFiles.forEach((file) => {
|
||||
if (file.owner in filesByOwner) filesByOwner[file.owner].push(file);
|
||||
|
@ -52,26 +53,27 @@ function deleteFiles(userId, fileIds) {
|
|||
filesByOwner[owner].splice(i, 1);
|
||||
} else deleteSize += file.size;
|
||||
}
|
||||
fileIds = fileIds.filter((fileId) => !failed.includes(fileId));
|
||||
toRemove.concat(
|
||||
databaseFiles.filter((file) => fileIds.includes(`${file._id}`))
|
||||
);
|
||||
// Update User's owned
|
||||
users
|
||||
.updateOne(
|
||||
{ _id: owner, usedStorage: { $gte: deleteSize } },
|
||||
{ cairoId: owner, usedStorage: { $gte: deleteSize } },
|
||||
{
|
||||
$pull: { owned: { $in: filesByOwner[owner] } },
|
||||
$pull: { owned: { $in: fileIds } },
|
||||
$inc: {
|
||||
usedStorage: -deleteSize,
|
||||
},
|
||||
}
|
||||
)
|
||||
.exec();
|
||||
fileIds = fileIds.filter((fileId) => !failed.includes(fileId));
|
||||
rfiles = databaseFiles.filter((file) => fileIds.includes(`${file._id}`));
|
||||
files
|
||||
.deleteMany({
|
||||
_id: { $in: fileIds },
|
||||
})
|
||||
.exec();
|
||||
return { files: rfiles, failed };
|
||||
// Update files DB
|
||||
files.deleteMany({ _id: { $in: fileIds } }).exec();
|
||||
console.log(toRemove);
|
||||
}
|
||||
return { files: toRemove, failed };
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -108,11 +110,11 @@ function uploadFile(cairoId, fileData) {
|
|||
return getUserByCairoId(cairoId).then((user) => {
|
||||
if (user.usedStorage + fileData.size > user.storage) return null;
|
||||
return users
|
||||
.updateOne({ _id: cairoId }, { $inc: { usedStorage: fileData.size } })
|
||||
.then(() => createFile(user._id, fileData))
|
||||
.updateOne({ cairoId }, { $inc: { usedStorage: fileData.size } })
|
||||
.then(() => createFile(cairoId, fileData))
|
||||
.then((file) => {
|
||||
if (file == null) return null;
|
||||
users.updateOne({ _id: userId }, { $push: { owned: file._id } }).then();
|
||||
users.updateOne({ cairoId }, { $push: { owned: file._id } }).then();
|
||||
return file;
|
||||
});
|
||||
});
|
||||
|
|
|
@ -6,12 +6,12 @@ const multer = require("multer");
|
|||
const config = require("../config.json");
|
||||
//Multer Configs
|
||||
const userUploadStorage = multer.diskStorage({
|
||||
destination: (req, file, cb) => cb(null, userUploadDestination(req.user._id)),
|
||||
destination: (req, file, cb) => cb(null, userUploadDestination(req.user.cairoId)),
|
||||
filename: (req, file, cb) => {
|
||||
const n = file.originalname.replaceAll(" ", "_");
|
||||
const fileName = `${Date.now()}-${n}`;
|
||||
req.on("aborted", () =>
|
||||
cancelUpload(resolvePath(userUploadDestination(req.user._id), fileName))
|
||||
cancelUpload(resolvePath(userUploadDestination(req.user.cairoId), fileName))
|
||||
);
|
||||
cb(null, fileName);
|
||||
},
|
||||
|
|
|
@ -38,7 +38,7 @@ const authMiddleware = (req, res, next) => {
|
|||
router.use(cairoMiddleware);
|
||||
|
||||
router.get("/files", authMiddleware, (req, res) =>
|
||||
asUser.getOwnedFiles(req.user._id, req.user.owned).then((files) => {
|
||||
asUser.getOwnedFiles(req.user.cairoId, req.user.owned).then((files) => {
|
||||
res.status(200).json(files);
|
||||
})
|
||||
);
|
||||
|
@ -46,7 +46,7 @@ router.get("/files", authMiddleware, (req, res) =>
|
|||
router.post("/upload", authMiddleware, (req, res) => {
|
||||
upload.userUpload(req, res, (err) => {
|
||||
if (err || req.file == null) return res.sendStatus(500);
|
||||
asUser.uploadFile(req.user._id, req.file).then((file) => {
|
||||
asUser.uploadFile(req.user.cairoId, req.file).then((file) => {
|
||||
if (file != null) return res.json(file);
|
||||
upload.cancelUpload(req.file.path);
|
||||
return res.sendStatus(500);
|
||||
|
@ -56,7 +56,7 @@ router.post("/upload", authMiddleware, (req, res) => {
|
|||
|
||||
router.post("/delete", authMiddleware, (req, res) => {
|
||||
if (!req.body || !(req.body instanceof Array)) return res.sendStatus(400);
|
||||
asUser.deleteFiles(req.user._id, req.body).then((failed) => {
|
||||
asUser.deleteFiles(req.user.cairoId, req.body).then((failed) => {
|
||||
if (!failed) return res.sendStatus(200);
|
||||
res.status(500).json(failed);
|
||||
});
|
||||
|
@ -65,7 +65,7 @@ router.post("/delete", authMiddleware, (req, res) => {
|
|||
router.get("/download", (req, res) => {
|
||||
if (!req.query || (!req.query.target && !req.query.zipTarget))
|
||||
return res.sendStatus(404);
|
||||
const userId = req.user == null ? null : req.user._id;
|
||||
const userId = req.user == null ? null : req.user.cairoId;
|
||||
if (req.query.target)
|
||||
return storage.getFile(userId, req.query.target).then((file) => {
|
||||
if (file) return res.download(file.path);
|
||||
|
@ -76,7 +76,7 @@ router.get("/download", (req, res) => {
|
|||
|
||||
router.post("/public", authMiddleware, async (req, res) => {
|
||||
if (!req.body || !(req.body instanceof Array)) return res.sendStatus(400);
|
||||
const failed = asUser.publicfyFiles(req.user._id, req.body);
|
||||
const failed = asUser.publicfyFiles(req.user.cairoId, req.body);
|
||||
if (!failed) return res.sendStatus(200);
|
||||
res.status(500).json(failed);
|
||||
});
|
||||
|
|
Reference in a new issue