UNPKG

burdy

Version:

Open Source Headless Platform

60 lines (59 loc) 2.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.fsToDriver = exports.driverToFs = void 0; const fs_extra_1 = __importDefault(require("fs-extra")); const file_driver_1 = __importDefault(require("../drivers/file.driver")); const logger_1 = __importDefault(require("../../shared/features/logger")); const driverToFs = (key, file) => { return new Promise((resolve, reject) => { const stream = fs_extra_1.default.createWriteStream(file); stream.on('close', () => { return resolve(file); }); file_driver_1.default.getInstance() .createReadStream(key) .on('error', (err) => { console.log(err); reject(err); }) .pipe(stream); }); }; exports.driverToFs = driverToFs; const fsToDriver = (file, key) => { return new Promise((resolve, reject) => { const readStream = fs_extra_1.default.createReadStream(file); logger_1.default.info(`Writing new backup file for ${file}.`); if (file_driver_1.default.getInstance().getName() === 's3') { file_driver_1.default.getInstance() .uploadReadableStream(key, readStream) .then(() => { logger_1.default.info(`Writing new backup ${file} successful, document: ${key}, provider s3.`); resolve(key); }) .catch((err) => { logger_1.default.error(`Writing new backup ${file} failed, provider s3.`); logger_1.default.error(err); reject(err); }); } else { const writeStream = file_driver_1.default.getInstance().createWriteStream(key); writeStream.on('close', () => { logger_1.default.info(`Writing new backup for ${file} successful, document: ${key}, provider fs.`); return resolve(key); }); readStream .on('error', (err) => { logger_1.default.error(`Writing new backup for ${file} failed, provider fs.`); logger_1.default.error(err); reject(err); }) .pipe(writeStream); } }); }; exports.fsToDriver = fsToDriver;