Repository URL to install this package:
|
Version:
0.15.4 ▾
|
@truesparrow/content
/
index.js
|
|---|
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const express = require("express");
const knex = require("knex");
require("log-timestamp");
const chargbee = require('chargebee');
const common_js_1 = require("@truesparrow/common-js");
const common_server_js_1 = require("@truesparrow/common-server-js");
const identity_sdk_js_1 = require("@truesparrow/identity-sdk-js");
const config = require("./config");
const content_router_1 = require("./content-router");
const repository_1 = require("./repository");
const test_router_1 = require("./test-router");
function main() {
return __awaiter(this, void 0, void 0, function* () {
const conn = knex({
client: 'pg',
connection: {
host: config.POSTGRES_HOST,
port: config.POSTGRES_PORT,
database: config.POSTGRES_DATABASE,
user: config.POSTGRES_USERNAME,
password: config.POSTGRES_PASSWORD
}
});
const repository = new repository_1.Repository(conn);
const identityClient = identity_sdk_js_1.newIdentityClient(config.ORIGIN, `${config.IDENTITY_SERVICE_HOST}:${config.IDENTITY_SERVICE_PORT}`, new common_js_1.InternalWebFetcher());
chargbee.configure({
site: config.CHARGEBEE_SITE,
api_key: config.CHARGEBEE_KEY
});
const appConfig = {
env: config.ENV,
name: config.NAME,
forceDisableLogging: false,
logglyToken: null,
logglySubdomain: null,
rollbarToken: null
};
const publicContentRouter = content_router_1.newPublicContentRouter(appConfig, repository, identityClient);
const privateContentRouter = content_router_1.newPrivateContentRouter(appConfig, repository, identityClient, chargbee);
const healthCheckRouter = common_server_js_1.newHealthCheckRouter();
const testRouter = test_router_1.newTestRouter(appConfig, repository, identityClient);
console.log('Starting up');
console.log('Initializing repository & performing migrations');
yield repository.init();
console.log('Starting web server');
const app = express();
app.disable('x-powered-by');
app.use('/api/public', publicContentRouter);
app.use('/api/private', privateContentRouter);
app.use('/status', healthCheckRouter);
if (common_js_1.isForDevelopment(config.ENV)) {
app.use('/test', testRouter);
}
app.listen(config.PORT, '0.0.0.0', () => {
console.log(`Started ${config.NAME} service on ${config.PORT}`);
});
});
}
main();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLG1DQUFrQztBQUNsQyw2QkFBNEI7QUFDNUIseUJBQXNCO0FBQ3RCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUV0QyxzREFBNkU7QUFDN0Usb0VBQW9FO0FBQ3BFLGtFQUFnRTtBQUVoRSxtQ0FBa0M7QUFDbEMscURBQWtGO0FBQ2xGLDZDQUF5QztBQUN6QywrQ0FBNkM7QUFHN0M7O1FBQ0ksTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2QsTUFBTSxFQUFFLElBQUk7WUFDWixVQUFVLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxhQUFhO2dCQUMxQixJQUFJLEVBQUUsTUFBTSxDQUFDLGFBQWE7Z0JBQzFCLFFBQVEsRUFBRSxNQUFNLENBQUMsaUJBQWlCO2dCQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtnQkFDOUIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7YUFDckM7U0FDSixDQUFDLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLHVCQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsTUFBTSxjQUFjLEdBQUcsbUNBQWlCLENBQ3BDLE1BQU0sQ0FBQyxNQUFNLEVBQ2IsR0FBRyxNQUFNLENBQUMscUJBQXFCLElBQUksTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQ2pFLElBQUksOEJBQWtCLEVBQUUsQ0FDM0IsQ0FBQztRQUNGLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDZixJQUFJLEVBQUUsTUFBTSxDQUFDLGNBQWM7WUFDM0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxhQUFhO1NBQ2hDLENBQUMsQ0FBQztRQUVILE1BQU0sU0FBUyxHQUFHO1lBQ2QsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO1lBQ2YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsV0FBVyxFQUFFLElBQUk7WUFDakIsZUFBZSxFQUFFLElBQUk7WUFDckIsWUFBWSxFQUFFLElBQUk7U0FDckIsQ0FBQztRQUVGLE1BQU0sbUJBQW1CLEdBQUcsdUNBQXNCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMxRixNQUFNLG9CQUFvQixHQUFHLHdDQUF1QixDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RHLE1BQU0saUJBQWlCLEdBQUcsdUNBQW9CLEVBQUUsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRywyQkFBYSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFeEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUzQixPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDL0QsTUFBTSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sR0FBRyxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUM1QyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQzlDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDdEMsRUFBRSxDQUFDLENBQUMsNEJBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUU7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLGVBQWUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQUE7QUFHRCxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGV4cHJlc3MgZnJvbSAnZXhwcmVzcydcbmltcG9ydCAqIGFzIGtuZXggZnJvbSAna25leCdcbmltcG9ydCAnbG9nLXRpbWVzdGFtcCdcbmNvbnN0IGNoYXJnYmVlID0gcmVxdWlyZSgnY2hhcmdlYmVlJyk7XG5cbmltcG9ydCB7IEludGVybmFsV2ViRmV0Y2hlciwgaXNGb3JEZXZlbG9wbWVudCB9IGZyb20gJ0B0cnVlc3BhcnJvdy9jb21tb24tanMnXG5pbXBvcnQgeyBuZXdIZWFsdGhDaGVja1JvdXRlciB9IGZyb20gJ0B0cnVlc3BhcnJvdy9jb21tb24tc2VydmVyLWpzJ1xuaW1wb3J0IHsgbmV3SWRlbnRpdHlDbGllbnQgfSBmcm9tICdAdHJ1ZXNwYXJyb3cvaWRlbnRpdHktc2RrLWpzJ1xuXG5pbXBvcnQgKiBhcyBjb25maWcgZnJvbSAnLi9jb25maWcnXG5pbXBvcnQgeyBuZXdQdWJsaWNDb250ZW50Um91dGVyLCBuZXdQcml2YXRlQ29udGVudFJvdXRlciB9IGZyb20gJy4vY29udGVudC1yb3V0ZXInXG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSAnLi9yZXBvc2l0b3J5J1xuaW1wb3J0IHsgbmV3VGVzdFJvdXRlciB9IGZyb20gJy4vdGVzdC1yb3V0ZXInXG5cblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgICBjb25zdCBjb25uID0ga25leCh7XG4gICAgICAgIGNsaWVudDogJ3BnJyxcbiAgICAgICAgY29ubmVjdGlvbjoge1xuICAgICAgICAgICAgaG9zdDogY29uZmlnLlBPU1RHUkVTX0hPU1QsXG4gICAgICAgICAgICBwb3J0OiBjb25maWcuUE9TVEdSRVNfUE9SVCxcbiAgICAgICAgICAgIGRhdGFiYXNlOiBjb25maWcuUE9TVEdSRVNfREFUQUJBU0UsXG4gICAgICAgICAgICB1c2VyOiBjb25maWcuUE9TVEdSRVNfVVNFUk5BTUUsXG4gICAgICAgICAgICBwYXNzd29yZDogY29uZmlnLlBPU1RHUkVTX1BBU1NXT1JEXG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCByZXBvc2l0b3J5ID0gbmV3IFJlcG9zaXRvcnkoY29ubik7XG4gICAgY29uc3QgaWRlbnRpdHlDbGllbnQgPSBuZXdJZGVudGl0eUNsaWVudChcbiAgICAgICAgY29uZmlnLk9SSUdJTixcbiAgICAgICAgYCR7Y29uZmlnLklERU5USVRZX1NFUlZJQ0VfSE9TVH06JHtjb25maWcuSURFTlRJVFlfU0VSVklDRV9QT1JUfWAsXG4gICAgICAgIG5ldyBJbnRlcm5hbFdlYkZldGNoZXIoKVxuICAgICk7XG4gICAgY2hhcmdiZWUuY29uZmlndXJlKHtcbiAgICAgICAgc2l0ZTogY29uZmlnLkNIQVJHRUJFRV9TSVRFLFxuICAgICAgICBhcGlfa2V5OiBjb25maWcuQ0hBUkdFQkVFX0tFWVxuICAgIH0pO1xuXG4gICAgY29uc3QgYXBwQ29uZmlnID0ge1xuICAgICAgICBlbnY6IGNvbmZpZy5FTlYsXG4gICAgICAgIG5hbWU6IGNvbmZpZy5OQU1FLFxuICAgICAgICBmb3JjZURpc2FibGVMb2dnaW5nOiBmYWxzZSxcbiAgICAgICAgbG9nZ2x5VG9rZW46IG51bGwsXG4gICAgICAgIGxvZ2dseVN1YmRvbWFpbjogbnVsbCxcbiAgICAgICAgcm9sbGJhclRva2VuOiBudWxsXG4gICAgfTtcblxuICAgIGNvbnN0IHB1YmxpY0NvbnRlbnRSb3V0ZXIgPSBuZXdQdWJsaWNDb250ZW50Um91dGVyKGFwcENvbmZpZywgcmVwb3NpdG9yeSwgaWRlbnRpdHlDbGllbnQpO1xuICAgIGNvbnN0IHByaXZhdGVDb250ZW50Um91dGVyID0gbmV3UHJpdmF0ZUNvbnRlbnRSb3V0ZXIoYXBwQ29uZmlnLCByZXBvc2l0b3J5LCBpZGVudGl0eUNsaWVudCwgY2hhcmdiZWUpO1xuICAgIGNvbnN0IGhlYWx0aENoZWNrUm91dGVyID0gbmV3SGVhbHRoQ2hlY2tSb3V0ZXIoKTtcbiAgICBjb25zdCB0ZXN0Um91dGVyID0gbmV3VGVzdFJvdXRlcihhcHBDb25maWcsIHJlcG9zaXRvcnksIGlkZW50aXR5Q2xpZW50KTtcblxuICAgIGNvbnNvbGUubG9nKCdTdGFydGluZyB1cCcpO1xuXG4gICAgY29uc29sZS5sb2coJ0luaXRpYWxpemluZyByZXBvc2l0b3J5ICYgcGVyZm9ybWluZyBtaWdyYXRpb25zJyk7XG4gICAgYXdhaXQgcmVwb3NpdG9yeS5pbml0KCk7XG5cbiAgICBjb25zb2xlLmxvZygnU3RhcnRpbmcgd2ViIHNlcnZlcicpO1xuICAgIGNvbnN0IGFwcCA9IGV4cHJlc3MoKTtcbiAgICBhcHAuZGlzYWJsZSgneC1wb3dlcmVkLWJ5Jyk7XG4gICAgYXBwLnVzZSgnL2FwaS9wdWJsaWMnLCBwdWJsaWNDb250ZW50Um91dGVyKTtcbiAgICBhcHAudXNlKCcvYXBpL3ByaXZhdGUnLCBwcml2YXRlQ29udGVudFJvdXRlcik7XG4gICAgYXBwLnVzZSgnL3N0YXR1cycsIGhlYWx0aENoZWNrUm91dGVyKTtcbiAgICBpZiAoaXNGb3JEZXZlbG9wbWVudChjb25maWcuRU5WKSkge1xuICAgICAgICBhcHAudXNlKCcvdGVzdCcsIHRlc3RSb3V0ZXIpO1xuICAgIH1cbiAgICBhcHAubGlzdGVuKGNvbmZpZy5QT1JULCAnMC4wLjAuMCcsICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coYFN0YXJ0ZWQgJHtjb25maWcuTkFNRX0gc2VydmljZSBvbiAke2NvbmZpZy5QT1JUfWApO1xuICAgIH0pO1xufVxuXG5cbm1haW4oKTtcbiJdfQ==