merge of features from hosted branch (#7)

major merge of features from the hosted branch that was created temporarily during the initial launch of jambonz.org
This commit is contained in:
Dave Horton
2021-06-17 15:56:21 -04:00
committed by GitHub
parent ab7c69c0e8
commit ed51d8b13f
105 changed files with 10330 additions and 1601 deletions

56
app.js
View File

@@ -11,7 +11,6 @@ const express = require('express');
const app = express();
const cors = require('cors');
const passport = require('passport');
const authStrategy = require('./lib/auth')(logger);
const routes = require('./lib/routes');
assert.ok(process.env.JAMBONES_MYSQL_HOST &&
@@ -19,13 +18,19 @@ assert.ok(process.env.JAMBONES_MYSQL_HOST &&
process.env.JAMBONES_MYSQL_PASSWORD &&
process.env.JAMBONES_MYSQL_DATABASE, 'missing JAMBONES_MYSQL_XXX env vars');
assert.ok(process.env.JAMBONES_REDIS_HOST, 'missing JAMBONES_REDIS_HOST env var');
assert.ok(process.env.JAMBONES_TIME_SERIES_HOST, 'missing JAMBONES_TIME_SERIES_HOST env var');
const {queryCdrs, queryAlerts, writeCdrs, writeAlerts, AlertType} = require('@jambonz/time-series')(
logger, process.env.JAMBONES_TIME_SERIES_HOST
);
const {
retrieveCall,
deleteCall,
listCalls,
purgeCalls,
retrieveSet
retrieveSet,
addKey,
retrieveKey,
deleteKey
} = require('@jambonz/realtimedb-helpers')({
host: process.env.JAMBONES_REDIS_HOST || 'localhost',
port: process.env.JAMBONES_REDIS_PORT || 6379
@@ -34,7 +39,10 @@ const {
lookupAppBySid,
lookupAccountBySid,
lookupAccountByPhoneNumber,
lookupAppByPhoneNumber
lookupAppByPhoneNumber,
lookupCarrierBySid,
lookupSipGatewayBySid,
lookupSmppGatewayBySid
} = require('@jambonz/db-helpers')({
host: process.env.JAMBONES_MYSQL_HOST,
user: process.env.JAMBONES_MYSQL_USER,
@@ -44,22 +52,35 @@ const {
connectionLimit: process.env.JAMBONES_MYSQL_CONNECTION_LIMIT || 10
}, logger);
const PORT = process.env.HTTP_PORT || 3000;
const authStrategy = require('./lib/auth')(logger, retrieveKey);
passport.use(authStrategy);
app.locals = app.locals || {};
Object.assign(app.locals, {
app.locals = {
...app.locals,
logger,
retrieveCall,
deleteCall,
listCalls,
purgeCalls,
retrieveSet,
addKey,
retrieveKey,
deleteKey,
lookupAppBySid,
lookupAccountBySid,
lookupAccountByPhoneNumber,
lookupAppByPhoneNumber
});
lookupAppByPhoneNumber,
lookupCarrierBySid,
lookupSipGatewayBySid,
lookupSmppGatewayBySid,
queryCdrs,
queryAlerts,
writeCdrs,
writeAlerts,
AlertType
};
const unless = (paths, middleware) => {
return (req, res, next) => {
@@ -69,13 +90,20 @@ const unless = (paths, middleware) => {
};
app.use(cors());
app.use(express.urlencoded({
extended: true
}));
app.use(express.json());
app.use('/v1', unless(['/login', '/Users', '/messaging', '/outboundSMS'], passport.authenticate('bearer', {
session: false
})));
app.use(express.urlencoded({extended: true}));
app.use(unless(['/stripe'], express.json()));
app.use('/v1', unless(
[
'/register',
'/forgot-password',
'/signin',
'/login',
'/messaging',
'/outboundSMS',
'/AccountTest',
'/InviteCodes',
'/PredefinedCarriers'
], passport.authenticate('bearer', {session: false})));
app.use('/', routes);
app.use((err, req, res, next) => {
logger.error(err, 'burped error');