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