@uppy/companion
Version:
OAuth helper and remote fetcher for Uppy's (https://uppy.io) extensible file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Dropbox and Google Drive, S3 and more :dog:
26 lines (25 loc) • 997 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const logger = require('../logger');
const { startDownUpload } = require('../helpers/upload');
const { respondWithError } = require('../provider/error');
async function get(req, res) {
const { id } = req.params;
const { providerUserSession } = req.companion;
const { accessToken } = providerUserSession;
const { provider } = req.companion;
async function getSize() {
return provider.size({ id, token: accessToken, providerUserSession, query: req.query });
}
const download = () => provider.download({ id, token: accessToken, providerUserSession, query: req.query });
try {
await startDownUpload({ req, res, getSize, download });
}
catch (err) {
logger.error(err, 'controller.get.error', req.id);
if (respondWithError(err, res))
return;
res.status(500).json({ message: 'Failed to download file' });
}
}
module.exports = get;