omelop
Version:
[](https://travis-ci.org/node-omelop/omelop)
134 lines • 8.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPluginCronPath = exports.getPluginHandlerPath = exports.getPluginRemotePath = exports.getLogPath = exports.getScriptPath = exports.getHandlerPath = exports.remotePathRecord = exports.listUserRemoteDir = exports.getCronPath = exports.getUserRemotePath = exports.getSysRemotePath = exports.getRelativePath = void 0;
const fs = require("fs");
const path = require("path");
const Constants = require("./constants");
const constants_1 = require("./constants");
/**
* Get relative path
*
* @param {String} path full path
* @return {String} relative path
*/
function getRelativePath(path) {
return path.replace(process.cwd(), '');
}
exports.getRelativePath = getRelativePath;
/**
* Get system remote service path
*
* @param {String} role server role: frontend, backend
* @return {String} path string if the path exist else null
*/
function getSysRemotePath(role) {
let p = path.join(__dirname, '/../common/remote/', role);
return fs.existsSync(p) ? p : null;
}
exports.getSysRemotePath = getSysRemotePath;
/**
* Get user remote service path
*
* @param {String} appBase application base path
* @param {String} serverType server type
* @return {String} path string if the path exist else null
*/
function getUserRemotePath(appBase, serverType) {
let p = path.join(appBase, '/app/servers/', serverType, Constants.DIR.REMOTE);
return fs.existsSync(p) ? p : null;
}
exports.getUserRemotePath = getUserRemotePath;
/**
* Get user remote cron path
*
* @param {String} appBase application base path
* @param {String} serverType server type
* @return {String} path string if the path exist else null
*/
function getCronPath(appBase, serverType) {
let p = path.join(appBase, '/app/servers/', serverType, Constants.DIR.CRON);
return fs.existsSync(p) ? p : null;
}
exports.getCronPath = getCronPath;
/**
* List all the subdirectory names of user remote directory
* which hold the codes for all the server types.
*
* @param {String} appBase application base path
* @return {Array} all the subdiretory name under servers/
*/
function listUserRemoteDir(appBase) {
let base = path.join(appBase, '/app/servers/');
let files = fs.readdirSync(base);
return files.filter(function (fn) {
if (fn.charAt(0) === '.') {
return false;
}
return fs.statSync(path.join(base, fn)).isDirectory();
});
}
exports.listUserRemoteDir = listUserRemoteDir;
/**
* Compose remote path record
*
* @param {String} namespace remote path namespace, such as: 'sys', 'user'
* @param {String} serverType
* @param {String} path remote service source path
* @param {Boolean} relativePath convert path to relative path
* @return {Object} remote path record
*/
function remotePathRecord(namespace, serverType, path, relativePath) {
if (relativePath) {
path = getRelativePath(path);
}
return { namespace: namespace, serverType: serverType, path: path };
}
exports.remotePathRecord = remotePathRecord;
/**
* Get handler path
*
* @param {String} appBase application base path
* @param {String} serverType server type
* @return {String} path string if the path exist else null
*/
function getHandlerPath(appBase, serverType) {
let p = path.join(appBase, '/app/servers/', serverType, Constants.DIR.HANDLER);
return fs.existsSync(p) ? p : null;
}
exports.getHandlerPath = getHandlerPath;
/**
* Get admin script root path.
*
* @param {String} appBase application base path
* @return {String} script path string
*/
function getScriptPath(appBase) {
return path.join(appBase, Constants.DIR.SCRIPT);
}
exports.getScriptPath = getScriptPath;
/**
* Get logs path.
*
* @param {String} appBase application base path
* @return {String} logs path string
*/
function getLogPath(appBase) {
return path.join(appBase, Constants.DIR.LOG);
}
exports.getLogPath = getLogPath;
function getPluginRemotePath(basePath) {
let p = path.join(basePath, constants_1.DIR.REMOTE);
return fs.existsSync(p) ? p : null;
}
exports.getPluginRemotePath = getPluginRemotePath;
function getPluginHandlerPath(basePath) {
let p = path.join(basePath, constants_1.DIR.HANDLER);
return fs.existsSync(p) ? p : null;
}
exports.getPluginHandlerPath = getPluginHandlerPath;
function getPluginCronPath(basePath) {
let p = path.join(basePath, constants_1.DIR.CRON);
return fs.existsSync(p) ? p : null;
}
exports.getPluginCronPath = getPluginCronPath;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aFV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbC9wYXRoVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLHlDQUF5QztBQUV6QywyQ0FBa0M7QUFFbEM7Ozs7O0dBS0c7QUFDSCxTQUFnQixlQUFlLENBQUMsSUFBWTtJQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFGRCwwQ0FFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsSUFBWTtJQUN6QyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3ZDLENBQUM7QUFIRCw0Q0FHQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxVQUFrQjtJQUNqRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUUsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUN2QyxDQUFDO0FBSEQsOENBR0M7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixXQUFXLENBQUMsT0FBZSxFQUFFLFVBQWtCO0lBQzNELElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxF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