@foxpage/foxpage-node-sdk
Version:
foxpage node sdk
96 lines (95 loc) • 3.39 kB
JavaScript
;
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;