36 lines
871 B
JavaScript
36 lines
871 B
JavaScript
/* eslint-disable no-console */
|
|
const app = require('vn-loopback/server/server');
|
|
let dataSources = require('../loopback/server/datasources.json');
|
|
|
|
async function init() {
|
|
console.log('Initializing backend.');
|
|
|
|
dataSources = JSON.parse(JSON.stringify(dataSources));
|
|
Object.assign(dataSources.vn, {
|
|
host: process.env.DB_HOST,
|
|
port: process.env.DB_PORT
|
|
});
|
|
const bootOptions = {dataSources};
|
|
await new Promise((resolve, reject) => {
|
|
app.boot(bootOptions,
|
|
err => err ? reject(err) : resolve());
|
|
});
|
|
// FIXME: Workaround to wait for loopback to be ready
|
|
app.emit('started');
|
|
await app.models.Application.status();
|
|
}
|
|
|
|
async function deinit() {
|
|
console.log('Stopping backend.');
|
|
await app.disconnect();
|
|
}
|
|
|
|
module.exports = {
|
|
init,
|
|
deinit
|
|
};
|
|
|
|
if (require.main === module)
|
|
init();
|
|
|