UNPKG

@churchapps/apihelper

Version:

Library of helper functions not specific to any one ChurchApps project or framework.

90 lines 2.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.FileStorageHelper = void 0; const AwsHelper_1 = require("./AwsHelper"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const _1 = require("."); class FileStorageHelper { } exports.FileStorageHelper = FileStorageHelper; _a = FileStorageHelper; FileStorageHelper.rootPath = path_1.default.resolve("./content") + "/"; FileStorageHelper.list = async (filePath) => { let result = []; switch (_1.EnvironmentBase.fileStore) { case "S3": result = await AwsHelper_1.AwsHelper.S3List(filePath); break; default: result = await _a.listLocal(filePath); break; } return result; }; FileStorageHelper.move = async (oldKey, newKey) => { switch (_1.EnvironmentBase.fileStore) { case "S3": await AwsHelper_1.AwsHelper.S3Move(oldKey, newKey); break; default: await _a.moveLocal(oldKey, newKey); break; } }; FileStorageHelper.store = async (key, contentType, contents) => { switch (_1.EnvironmentBase.fileStore) { case "S3": await AwsHelper_1.AwsHelper.S3Upload(key, contentType, contents); break; default: await _a.storeLocal(key, contents); break; } }; FileStorageHelper.remove = async (key) => { switch (_1.EnvironmentBase.fileStore) { case "S3": await AwsHelper_1.AwsHelper.S3Remove(key); break; default: await _a.removeLocal(key); break; } }; FileStorageHelper.removeFolder = async (key) => { switch (_1.EnvironmentBase.fileStore) { case "S3": break; // no need on s3 default: await _a.removeLocalFolder(key); break; } }; FileStorageHelper.storeLocal = async (key, contents) => { const fileName = _a.rootPath + key; const dirName = path_1.default.dirname(fileName); if (!fs_1.default.existsSync(dirName)) fs_1.default.mkdirSync(dirName, { recursive: true }); fs_1.default.writeFileSync(fileName, contents); }; FileStorageHelper.moveLocal = async (oldKey, newKey) => { fs_1.default.rename(oldKey, newKey, err => { throw err; }); }; FileStorageHelper.removeLocal = async (key) => { fs_1.default.unlinkSync(_a.rootPath + key); }; FileStorageHelper.removeLocalFolder = async (key) => { fs_1.default.rmdirSync(_a.rootPath + key); }; FileStorageHelper.listLocal = async (filePath) => { const fullPath = _a.rootPath + filePath; if (!fs_1.default.existsSync(fullPath)) return []; else return fs_1.default.readdirSync(_a.rootPath + filePath); }; //# sourceMappingURL=FileStorageHelper.js.map