UNPKG

app-lib-mock-server-stream

Version:

流媒体文件-【app-lib-mock-server】

88 lines (69 loc) 2.25 kB
/************************************************************************************* * * 基本条件动态准备 * * 1. * * * **************************************************************************************/ const { STREAM_NAMESPACE_NAME, STREAM_SERVER_DATABASE_NAME, STREAM_SERVER_TABLE_NAME, STREAM_COMPLETE_PATH, DEDAULT_STREAM_NAMESPACE_DATA } = require('./constant'); // 提取公共方法 TODO 动态创建命名口空间和表 和数据 /** * 获取启用的服务数据 */ const getStreamServersData = () => { const { cache: { getCacheData } } = Frame.option; let streamServers = getCacheData(STREAM_COMPLETE_PATH, true) || []; return streamServers.filter(({ isEnable }) => (isEnable === true)); } /** * 是否支持代理 * * 存在命名空间和代理表名即可 */ const isSupportStream = () => Frame.isExistNamespace(STREAM_NAMESPACE_NAME) && Frame.isExistDatabase(STREAM_NAMESPACE_NAME, STREAM_SERVER_DATABASE_NAME); /** * 初始化创建支持的代理 * 1. 创建代理空间 * 2. 创建代理服务库 * 2. 创建代理服务表 */ const initStream = (middlewareConfig) => { let { isExistNamespace, createNamespace, isExistDatabase, createData, refreshCache, log } = Frame; if (!isExistNamespace(STREAM_NAMESPACE_NAME)) { log.md('stream', 'init namespace') // 创建命名空间 -- 结构后不能创建 Frame.createNamespace(DEDAULT_STREAM_NAMESPACE_DATA); } // 不存在表的时候 创建表 时候创建表和库 if (!isExistDatabase(STREAM_NAMESPACE_NAME, STREAM_SERVER_DATABASE_NAME)) { log.md('stream', 'init database'); Frame.createData(STREAM_COMPLETE_PATH); } // 刷新缓存 refreshCache(); } /** * 获取代理数据 不存在 则会创建初始化 * @param {object} option * @returns 不存在为null 存在 则为对应的数组数据 */ const getStreamServers = (middlewareConfig) => { let isSupport = isSupportStream(); if (isSupport) { return getStreamServersData(); } else { // 初始化创建 initStream(middlewareConfig) } return []; } module.exports = { getStreamServers }