UNPKG

@resin/pinejs

Version:

Pine.js is a sophisticated rules-driven API engine that enables you to define rules in a structured subset of English. Those rules are used in order for Pine.js to generate a database schema and the associated [OData](http://www.odata.org/) API. This make

70 lines 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.init = void 0; require("./sbvr-loader"); const Bluebird = require("bluebird"); const dbModule = require("../database-layer/db"); const configLoader = require("../config-loader/config-loader"); const migrator = require("../migrator/migrator"); const sbvrUtils = require("../sbvr-api/sbvr-utils"); exports.dbModule = require("../database-layer/db"); var pinejs_session_store_1 = require("../pinejs-session-store/pinejs-session-store"); Object.defineProperty(exports, "PinejsSessionStore", { enumerable: true, get: function () { return pinejs_session_store_1.PinejsSessionStore; } }); exports.sbvrUtils = require("../sbvr-api/sbvr-utils"); exports.permissions = require("../sbvr-api/permissions"); exports.errors = require("../sbvr-api/errors"); exports.env = require("../config-loader/env"); exports.types = require("../sbvr-api/common-types"); let databaseOptions; if (dbModule.engines.websql != null) { databaseOptions = { engine: 'websql', params: 'rulemotion', }; } else { let databaseURL; if (process.env.DATABASE_URL) { databaseURL = process.env.DATABASE_URL; } else if (dbModule.engines.postgres != null) { databaseURL = 'postgres://postgres:.@localhost:5432/postgres'; } else if (dbModule.engines.mysql == null) { databaseURL = 'mysql://mysql:.@localhost:3306'; } else { throw new Error('No supported database options available'); } databaseOptions = { engine: databaseURL.slice(0, databaseURL.indexOf(':')), params: databaseURL, }; } const db = dbModule.connect(databaseOptions); exports.init = (app, config) => Bluebird.try(async () => { try { await sbvrUtils.setup(app, db); const cfgLoader = await configLoader.setup(app); await cfgLoader.loadConfig(migrator.config); const promises = []; if (process.env.SBVR_SERVER_ENABLED) { const sbvrServer = await Promise.resolve().then(() => require('../data-server/sbvr-server')); const transactions = require('../http-transactions/transactions'); promises.push(cfgLoader.loadConfig(sbvrServer.config)); promises.push(cfgLoader .loadConfig(transactions.config) .then(() => transactions.addModelHooks('data'))); } if (!process.env.CONFIG_LOADER_DISABLED) { promises.push(cfgLoader.loadApplicationConfig(config)); } await Promise.all(promises); return cfgLoader; } catch (err) { console.error('Error initialising server', err, err.stack); process.exit(1); } }); //# sourceMappingURL=module.js.map