157 lines
4.9 KiB
JavaScript
157 lines
4.9 KiB
JavaScript
const fs = require("fs");
|
|
|
|
function selectRequestFilePath(docId, reqType) {
|
|
let filePath;
|
|
const basePath = process.cwd();
|
|
if (reqType == "combined-numbered") {
|
|
filePath = `${basePath}/Documents/Requests/Parsedcombined/${docId}/${docId}-jbk-parsedRequests.json`;
|
|
} else if (reqType == "interrogatories") {
|
|
filePath = `${basePath}/Documents/Requests/Parsedrogs/${docId}/${docId}-jbk-parsedRequests.json`;
|
|
} else if (reqType == "admissions") {
|
|
filePath = `${basePath}/Documents/Requests/Parsedadmit/${docId}/${docId}-jbk-parsedRequests.json`;
|
|
} else if (reqType == "production") {
|
|
filePath = `${basePath}/Documents/Requests/Parsedprod/${docId}/${docId}-jbk-parsedRequests.json`;
|
|
}
|
|
return filePath;
|
|
}
|
|
|
|
function selectRequestFolderPath(docId, reqType) {
|
|
let folderPath;
|
|
const basePath = process.cwd();
|
|
if (reqType == "combined-numbered") {
|
|
folderPath = `${basePath}/Documents/Requests/Parsedcombined/${docId}/`;
|
|
} else if (reqType == "interrogatories") {
|
|
folderPath = `${basePath}/Documents/Requests/Parsedrogs/${docId}/`;
|
|
} else if (reqType == "admissions") {
|
|
folderPath = `${basePath}/Documents/Requests/Parsedadmit/${docId}/`;
|
|
} else if (reqType == "production") {
|
|
folderPath = `${basePath}/Documents/Requests/Parsedprod/${docId}/`;
|
|
}
|
|
return folderPath;
|
|
}
|
|
|
|
function selectResponseFilePath(docId, reqType) {
|
|
let filePath;
|
|
const basePath = process.cwd();
|
|
if (reqType == "combined-numbered") {
|
|
filePath = `${basePath}/Documents/Responses/Combinedresp/${docId}/${docId}-jbk-parsedRequests.json`;
|
|
} else if (reqType == "interrogatories") {
|
|
filePath = `${basePath}/Documents/Requests/Parsedrogs/${docId}/${docId}-jbk-parsedRequests.json`;
|
|
} else if (reqType == "admissions") {
|
|
filePath = `${basePath}/Documents/Requests/Parsedadmit/${docId}/${docId}-jbk-parsedRequests.json`;
|
|
} else if (reqType == "production") {
|
|
filePath = `${basePath}/Documents/Requests/Parsedprod/${docId}/${docId}-jbk-parsedRequests.json`;
|
|
}
|
|
return filePath;
|
|
}
|
|
|
|
function selectResponseFolderPath(docId, reqType) {
|
|
let folderPath;
|
|
const basePath = process.cwd();
|
|
if (reqType == "combined-numbered") {
|
|
folderPath = `${basePath}/Documents/Responses/Combinedresp/${docId}/`;
|
|
} else if (reqType == "interrogatories") {
|
|
folderPath = `${basePath}/Documents/Responses/Rogresp/${docId}/`;
|
|
} else if (reqType == "admissions") {
|
|
folderPath = `${basePath}/Documents/Responses/Admitresp/${docId}/`;
|
|
} else if (reqType == "production") {
|
|
folderPath = `${basePath}/Documents/Responses/Prodresp/${docId}/`;
|
|
}
|
|
return folderPath;
|
|
}
|
|
|
|
async function deleteDocument(docId, reqType, respGens) {
|
|
const requestFilePath = selectRequestFilePath(docId, reqType);
|
|
|
|
fs.stat(requestFilePath, function (err, stats) {
|
|
if (err) {
|
|
return err;
|
|
} else {
|
|
fs.unlink(filePath, (err) => {
|
|
if (err) {
|
|
return err;
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
async function deleteFolderAndContents(docId, reqType, respGens = 0) {
|
|
const requestFolderPath = selectRequestFolderPath(docId, reqType);
|
|
const gens = parseInt(respGens);
|
|
|
|
function removeFolder() {
|
|
const requestFolderPath = selectRequestFolderPath(docId, reqType);
|
|
if (requestFolderPath) {
|
|
try {
|
|
fs.rm(requestFolderPath, { recursive: true, force: true }, (err) => {
|
|
if (err) {
|
|
console.log(err);
|
|
return err;
|
|
}
|
|
});
|
|
if (gens > 0) {
|
|
const responseFolderPath = selectResponseFolderPath(docId, reqType);
|
|
fs.rm(responseFolderPath, { recursive: true, force: true }, (err) => {
|
|
if (err) {
|
|
console.log(err);
|
|
return err;
|
|
}
|
|
});
|
|
}
|
|
} catch (err) {
|
|
console.log(err);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
async function cleanupGenFolderAndContents(docId, reqType) {
|
|
const requestFolderPath = `/var/www/ax3Services/docGenService/Docxinfo/${docId}.json`;
|
|
fs.rm(requestFolderPath, { recursive: true, force: true }, (err) => {
|
|
if (err) {
|
|
console.log(err);
|
|
return err;
|
|
}
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
deleteDocument,
|
|
deleteFolderAndContents,
|
|
cleanupGenFolderAndContents,
|
|
};
|
|
|
|
/*
|
|
fs.access(
|
|
requestFolderPath,
|
|
fs.constants.R_OK | fs.constants.W_OK,
|
|
removeFolder,
|
|
gens
|
|
),
|
|
(err) => {
|
|
if (err) {
|
|
console.log("Error in deleteFolderAndContents fs.access:", err);
|
|
return err;
|
|
} else {
|
|
const requestFolderPath = selectRequestFolderPath(docId, reqType);
|
|
fs.rm(requestFolderPath, { recursive: true, force: true }, (err) => {
|
|
if (err) {
|
|
console.log(err);
|
|
return err;
|
|
}
|
|
});
|
|
|
|
if (gens > 0) {
|
|
const responseFolderPath = selectResponseFolderPath(docId, reqType);
|
|
fs.rm(responseFolderPath, { recursive: true, force: true }, (err) => {
|
|
if (err) {
|
|
console.log(err);
|
|
return err;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
};
|
|
*/
|