UNPKG

@foxpage/foxpage-node-sdk

Version:

foxpage node sdk

96 lines (95 loc) 3.39 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getHooks = exports.initSourceManager = exports.getRelationsBatch = exports.getRelations = void 0; const foxpage_manager_1 = require("@foxpage/foxpage-manager"); const foxpage_shared_1 = require("@foxpage/foxpage-shared"); const common_1 = require("../common"); const pm2_1 = require("../pm2"); const reporter = __importStar(require("../reporter")); let hooks; /** * get relations * contains all relations * @param page * @param app * @returns */ const getRelations = async (content, app) => { const instance = new foxpage_shared_1.ContentDetailInstance(content); return await app.getContentRelationInfo(instance); }; exports.getRelations = getRelations; /** * get relations batch * @param contents * @param app */ const getRelationsBatch = async (contents = [], app) => { const relations = {}; for (const item of contents) { const relation = await (0, exports.getRelations)(item, app); (0, foxpage_shared_1.relationsMerge)(relation, relations); } return relations; }; exports.getRelationsBatch = getRelationsBatch; /** * init foxpage node source manager */ async function initSourceManager() { const pm2 = (0, pm2_1.getPm2)(); const { isPm2 = false, isMaster = false, id: pmId = 0 } = pm2 || {}; const manager = await (0, foxpage_manager_1.initManager)({ apps: common_1.config.get('apps'), dataService: common_1.config.get('dataService'), plugins: common_1.config.get('plugins') || [], commonPluginDir: common_1.config.get('commonPluginDir') || '', settings: { openSourceUpdate: (isPm2 && isMaster) || !isPm2, sourceUpdateHook: (data) => { if (typeof (pm2 === null || pm2 === void 0 ? void 0 : pm2.broadcast) === 'function') { pm2.broadcast(data); } }, }, procInfo: { isMaster: isMaster, procId: pmId, }, loggerConfig: common_1.config.get('logger'), reporter: common_1.config.get('reporter').enable ? reporter : undefined, }); hooks = manager.hooks; } exports.initSourceManager = initSourceManager; /** * get init hooks * @returns */ const getHooks = () => { return hooks; }; exports.getHooks = getHooks;