flexbiz-server
Version:
Flexible Server
121 lines (120 loc) • 2.91 kB
JavaScript
exports.domain = 'flexbiz.app';
exports.company = 'Flex Business';
exports.PORT = '443';
exports.use_ssl = true;
exports.timezone = 'Asia/Ho_Chi_Minh';
exports.initSysData = false;
exports.limitRequestSize = '50mb';
//app secret code, require
exports.APP_SECRET = "DJFHMWYDPOSKJDFDJKK*)($&SJHNBV%^^&**KKKKKKSLLLQOOOPPPSHC)))(&^%123KHF";
//video conference server
exports.VIDEO_CONFERENCE_SERVER_URL = "";
exports.VIDEO_CONFERENCE_SERVER_SECRET = "";
//for web push: use tool of webPush to create a vapidkeys. just need to run: web-push generate-vapid-keys --json
exports.vapidKeys = {"publicKey":"","privateKey":""}//require
//recaptcha, require
exports.GOOGLE_RECAPTCHA_SECRET_KEY = "";
//google transtale api key
exports.GOOGLE_TRANSLATE_API_KEY = "";
//source code
exports.paths={
modules:__dirname + "/modules",
templates: __dirname + "/templates",
admin: __dirname + "/admin",
images: __dirname + "/images",
videos: __dirname + "/videos",
uploads: __dirname + "/uploads",
log: __dirname + "/log",
maps:"",
workers:"",
menu:"/menu.js"
}
//limit request
//limit or slowDown request
const rateLimit = require("express-rate-limit");
const slowDown = require('express-slow-down');
const RedisStore = require('rate-limit-redis');
exports.limitRequest={
api:rateLimit({
store: new RedisStore({
}),
windowMs: 10*60*1000,
max: 1000000
}),
sys:rateLimit({
store: new RedisStore({
}),
windowMs: 10*60*1000,
max: 1000000
}),
public:slowDown({
store: new RedisStore({
}),
windowMs: 10*60*1000,
delayAfter: 1000000,
delayMs: 500
}),
//required
auth:rateLimit({
store: new RedisStore({
}),
windowMs: 10*60*1000,
max: 1000000
}),
//required
other:slowDown({
store: new RedisStore({
}),
windowMs: 10*60*1000,
delayAfter: 10000000,
delayMs: 500
}),
}
//emai sender, require
const sender = {
"host": "email host",
"port": 25,
"secure": false,
"authMethod": "LOGIN",
"auth": {
"user": "email address",
"pass": "password"
}
}
//
sender.name = exports.domain || exports.company;
exports.sender = sender;
//user ADMIN
exports.adminUsers = [
{
email: 'admin',
name: 'Administrator',
defaultPassword: 'admin@123456'
}
];
exports.supperAdmin = "admin";
//sms configs
exports.sms = {
genUrlSendOTP:(Phone,otp_code)=>{
let Brandname="";
let Content =`Xin vui long gui Quy Khach ma xac thuc: ${otp_code}`;
let ApiKey = "";
let SecretKey = "";
let SmsType ="2";
let url = ``
return url;
}
}
//oauth2.0
exports.google = {
clientID: '',
clientSecret: '',
callbackURL: exports.domain + '/auth/google/callback',
scope: ['profile', 'email', 'https://www.googleapis.com/auth/drive']
};
exports.facebook = {
clientID: '',
clientSecret: '',
callbackURL: exports.domain + '/auth/facebook/callback',
scope: ['email']
};