formatting
parent
827a701e30
commit
edf0241636
|
@ -93,7 +93,7 @@ function moveUploadedFile(buffer, directory, filename) {
|
||||||
|
|
||||||
const finalPath = mkDirByPathSync(process.env.STORAGE_PATH + directory, { isRelativeToScript: (process.env.STORAGE_PATH.indexOf('/') !== 0) });
|
const finalPath = mkDirByPathSync(process.env.STORAGE_PATH + directory, { isRelativeToScript: (process.env.STORAGE_PATH.indexOf('/') !== 0) });
|
||||||
if (!finalPath || finalPath.length === 0) {
|
if (!finalPath || finalPath.length === 0) {
|
||||||
logger.error(`moveUploadedFile invalid final path, check permissions to create / write '${process.env.STORAGE_PATH + directory}'`);
|
logger.error(`moveUploadedFile invalid final path, check permissions to create / write '${process.env.STORAGE_PATH}${directory}'`);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,10 @@ const logger = log4js.getLogger();
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
router.get('/', isAuthenticated, async (req, res) => {
|
router.get('/', isAuthenticated, async (req, res) => {
|
||||||
const dongles = await deviceController.getDevices(req.account.id);
|
const { account: { id } } = req;
|
||||||
|
const devices = await deviceController.getDevices(id);
|
||||||
|
|
||||||
return res.json({ success: true, data: dongles });
|
return res.json({ success: true, data: devices });
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -34,32 +35,41 @@ router.get('/', isAuthenticated, async (req, res) => {
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
router.put('/:dongle_id/', [isAuthenticated, bodyParser.json()], async (req, res) => {
|
router.put('/:dongleId', [isAuthenticated, bodyParser.json()], async (req, res) => {
|
||||||
const { body } = req;
|
const { body } = req;
|
||||||
logger.info(MutateDevice.isValid(body));
|
logger.info(MutateDevice.isValid(body));
|
||||||
// TODO: response?
|
// TODO: response?
|
||||||
return res.json({ success: true });
|
return res.json({ success: true });
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/:dongle_id/drives/:drive_identifier/segment', isAuthenticated, async (req, res) => {
|
router.get('/:dongleId/drives/:driveIdentifier/segment', isAuthenticated, async (req, res) => {
|
||||||
const dongleId = req.params.dongle_id;
|
const {
|
||||||
const accountId = req.account.id;
|
account: { id: accountId },
|
||||||
|
params: {
|
||||||
|
dongleId,
|
||||||
|
driveIdentifier,
|
||||||
|
},
|
||||||
|
} = req;
|
||||||
const isUserAuthorised = await deviceController.isUserAuthorised(dongleId, accountId);
|
const isUserAuthorised = await deviceController.isUserAuthorised(dongleId, accountId);
|
||||||
|
|
||||||
// TODO reduce data returned
|
// TODO reduce data returned
|
||||||
if (isUserAuthorised.success === false || isUserAuthorised.data.authorised === false) {
|
if (isUserAuthorised.success === false || isUserAuthorised.data.authorised === false) {
|
||||||
return res.json({ success: false, msg: isUserAuthorised.msg });
|
return res.json({ success: false, msg: isUserAuthorised.msg });
|
||||||
}
|
}
|
||||||
const dongleIdHash = crypto.createHmac('sha256', process.env.APP_SALT).update(req.params.dongle_id).digest('hex');
|
const dongleIdHash = crypto.createHmac('sha256', process.env.APP_SALT)
|
||||||
const driveIdentifierHash = crypto.createHmac('sha256', process.env.APP_SALT).update(req.params.drive_identifier).digest('hex');
|
.update(dongleId)
|
||||||
|
.digest('hex');
|
||||||
const directoryTree = dirTree(`${process.env.STORAGE_PATH + req.params.dongle_id}/${dongleIdHash}/${driveIdentifierHash}/${req.params.drive_identifier}`);
|
const driveIdentifierHash = crypto.createHmac('sha256', process.env.APP_SALT)
|
||||||
|
.update(driveIdentifier)
|
||||||
|
.digest('hex');
|
||||||
|
|
||||||
|
const directoryTree = dirTree(`${process.env.STORAGE_PATH}${dongleId}/${dongleIdHash}/${driveIdentifierHash}/${driveIdentifier}`);
|
||||||
return res.json({ success: true, msg: 'ok', data: directoryTree });
|
return res.json({ success: true, msg: 'ok', data: directoryTree });
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/:dongle_id/drives/:deleted', isAuthenticated, async (req, res) => {
|
router.get('/:dongleId/drives', isAuthenticated, async (req, res) => {
|
||||||
const dongleId = req.params.dongle_id;
|
const { dongleId } = req.params;
|
||||||
|
const { deleted } = req.query;
|
||||||
const accountId = req.account.id;
|
const accountId = req.account.id;
|
||||||
const isUserAuthorised = await deviceController.isUserAuthorised(dongleId, accountId);
|
const isUserAuthorised = await deviceController.isUserAuthorised(dongleId, accountId);
|
||||||
|
|
||||||
|
@ -68,13 +78,12 @@ router.get('/:dongle_id/drives/:deleted', isAuthenticated, async (req, res) => {
|
||||||
return res.json({ success: false, msg: isUserAuthorised.msg });
|
return res.json({ success: false, msg: isUserAuthorised.msg });
|
||||||
}
|
}
|
||||||
|
|
||||||
const dongles = await deviceController.getDrives(req.params.dongle_id, req.params.deleted === 'true', true);
|
const drives = await deviceController.getDrives(dongleId, deleted === 'true', true);
|
||||||
|
return res.json({ success: true, data: drives });
|
||||||
return res.json({ success: true, data: dongles });
|
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/:dongle_id/bootlogs', isAuthenticated, async (req, res) => {
|
router.get('/:dongleId/bootlogs', isAuthenticated, async (req, res) => {
|
||||||
const dongleId = req.params.dongle_id;
|
const { dongleId } = req.params;
|
||||||
const accountId = req.account.id;
|
const accountId = req.account.id;
|
||||||
const isUserAuthorised = await deviceController.isUserAuthorised(dongleId, accountId);
|
const isUserAuthorised = await deviceController.isUserAuthorised(dongleId, accountId);
|
||||||
// TODO reduce data returned
|
// TODO reduce data returned
|
||||||
|
@ -82,13 +91,12 @@ router.get('/:dongle_id/bootlogs', isAuthenticated, async (req, res) => {
|
||||||
return res.json({ success: false, msg: isUserAuthorised.msg });
|
return res.json({ success: false, msg: isUserAuthorised.msg });
|
||||||
}
|
}
|
||||||
|
|
||||||
const bootlogs = await deviceController.getBootlogs(req.params.dongle_id);
|
const bootlogs = await deviceController.getBootlogs(dongleId);
|
||||||
|
|
||||||
return res.json({ success: true, data: bootlogs });
|
return res.json({ success: true, data: bootlogs });
|
||||||
});
|
});
|
||||||
|
|
||||||
router.get('/:dongle_id/crashlogs', isAuthenticated, async (req, res) => {
|
router.get('/:dongleId/crashlogs', isAuthenticated, async (req, res) => {
|
||||||
const dongleId = req.params.dongle_id;
|
const { dongleId } = req.params;
|
||||||
const accountId = req.account.id;
|
const accountId = req.account.id;
|
||||||
const isUserAuthorised = await deviceController.isUserAuthorised(dongleId, accountId);
|
const isUserAuthorised = await deviceController.isUserAuthorised(dongleId, accountId);
|
||||||
// TODO reduce data returned
|
// TODO reduce data returned
|
||||||
|
@ -96,8 +104,7 @@ router.get('/:dongle_id/crashlogs', isAuthenticated, async (req, res) => {
|
||||||
return res.json({ success: false, msg: isUserAuthorised.msg });
|
return res.json({ success: false, msg: isUserAuthorised.msg });
|
||||||
}
|
}
|
||||||
|
|
||||||
const crashlogs = await deviceController.getCrashlogs(req.params.dongle_id);
|
const crashlogs = await deviceController.getCrashlogs(dongleId);
|
||||||
|
|
||||||
return res.json({ success: true, data: crashlogs });
|
return res.json({ success: true, data: crashlogs });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -271,7 +271,7 @@ async function updateSegments() {
|
||||||
.update(segment.drive_identifier)
|
.update(segment.drive_identifier)
|
||||||
.digest('hex');
|
.digest('hex');
|
||||||
|
|
||||||
const directoryTreePath = `${process.env.STORAGE_PATH + segment.dongle_id}/${dongleIdHash}/${driveIdentifierHash}/${segment.drive_identifier}/${segment.segment_id}`;
|
const directoryTreePath = `${process.env.STORAGE_PATH}${segment.dongle_id}/${dongleIdHash}/${driveIdentifierHash}/${segment.drive_identifier}/${segment.segment_id}`;
|
||||||
const directoryTree = dirTree(directoryTreePath);
|
const directoryTree = dirTree(directoryTreePath);
|
||||||
|
|
||||||
if (!directoryTree || !directoryTree.children) {
|
if (!directoryTree || !directoryTree.children) {
|
||||||
|
@ -350,7 +350,7 @@ async function updateDevices() {
|
||||||
const dongleIdHash = crypto.createHmac('sha256', process.env.APP_SALT)
|
const dongleIdHash = crypto.createHmac('sha256', process.env.APP_SALT)
|
||||||
.update(device.dongle_id)
|
.update(device.dongle_id)
|
||||||
.digest('hex');
|
.digest('hex');
|
||||||
const devicePath = `${process.env.STORAGE_PATH + device.dongle_id}/${dongleIdHash}`;
|
const devicePath = `${process.env.STORAGE_PATH}${device.dongle_id}/${dongleIdHash}`;
|
||||||
const deviceQuotaMb = Math.round(parseInt(execSync(`du -s ${devicePath} | awk -F'\t' '{print $1;}'`)
|
const deviceQuotaMb = Math.round(parseInt(execSync(`du -s ${devicePath} | awk -F'\t' '{print $1;}'`)
|
||||||
.toString(), 10) / 1024);
|
.toString(), 10) / 1024);
|
||||||
logger.info(`updateDevices device ${dongleId} has an updated storage_used of: ${deviceQuotaMb} MB`);
|
logger.info(`updateDevices device ${dongleId} has an updated storage_used of: ${deviceQuotaMb} MB`);
|
||||||
|
@ -388,8 +388,8 @@ async function updateDrives() {
|
||||||
const driveIdentifierHash = crypto.createHmac('sha256', process.env.APP_SALT)
|
const driveIdentifierHash = crypto.createHmac('sha256', process.env.APP_SALT)
|
||||||
.update(drive.identifier)
|
.update(drive.identifier)
|
||||||
.digest('hex');
|
.digest('hex');
|
||||||
const driveUrl = `${process.env.BASE_DRIVE_DOWNLOAD_URL + drive.dongle_id}/${dongleIdHash}/${driveIdentifierHash}/${drive.identifier}`;
|
const driveUrl = `${process.env.BASE_DRIVE_DOWNLOAD_URL}${drive.dongle_id}/${dongleIdHash}/${driveIdentifierHash}/${drive.identifier}`;
|
||||||
const drivePath = `${process.env.STORAGE_PATH + drive.dongle_id}/${dongleIdHash}/${driveIdentifierHash}/${drive.identifier}`;
|
const drivePath = `${process.env.STORAGE_PATH}${drive.dongle_id}/${dongleIdHash}/${driveIdentifierHash}/${drive.identifier}`;
|
||||||
|
|
||||||
let uploadComplete = true;
|
let uploadComplete = true;
|
||||||
let isProcessed = true;
|
let isProcessed = true;
|
||||||
|
|
Loading…
Reference in New Issue