mirror of
https://github.com/whyour/qinglong.git
synced 2025-05-23 06:46:09 +08:00
90 lines
2.5 KiB
TypeScript
90 lines
2.5 KiB
TypeScript
import dotenv from 'dotenv';
|
|
import path from 'path';
|
|
import { createRandomString } from './util';
|
|
|
|
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
|
|
|
|
const lastVersionFile =
|
|
'https://raw.githubusercontent.com/whyour/qinglong/master/src/version.ts';
|
|
|
|
const envFound = dotenv.config();
|
|
const rootPath = process.cwd();
|
|
const envFile = path.join(rootPath, 'config/env.sh');
|
|
const confFile = path.join(rootPath, 'config/config.sh');
|
|
const sampleFile = path.join(rootPath, 'sample/config.sample.sh');
|
|
const crontabFile = path.join(rootPath, 'config/crontab.list');
|
|
const confBakDir = path.join(rootPath, 'config/bak/');
|
|
const authConfigFile = path.join(rootPath, 'config/auth.json');
|
|
const extraFile = path.join(rootPath, 'config/extra.sh');
|
|
const configPath = path.join(rootPath, 'config/');
|
|
const scriptPath = path.join(rootPath, 'scripts/');
|
|
const bakPath = path.join(rootPath, 'bak/');
|
|
const samplePath = path.join(rootPath, 'sample/');
|
|
const logPath = path.join(rootPath, 'log/');
|
|
const authError = '错误的用户名密码,请重试';
|
|
const loginFaild = '请先登录!';
|
|
const configString = 'config sample crontab shareCode diy';
|
|
const dbPath = path.join(rootPath, 'db/');
|
|
const cronDbFile = path.join(rootPath, 'db/crontab.db');
|
|
const envDbFile = path.join(rootPath, 'db/env.db');
|
|
const appDbFile = path.join(rootPath, 'db/app.db');
|
|
const authDbFile = path.join(rootPath, 'db/auth.db');
|
|
const dependenceDbFile = path.join(rootPath, 'db/dependence.db');
|
|
const versionFile = path.join(rootPath, 'src/version.ts');
|
|
|
|
if (envFound.error) {
|
|
throw new Error("⚠️ Couldn't find .env file ⚠️");
|
|
}
|
|
|
|
export default {
|
|
port: parseInt(process.env.PORT as string, 10),
|
|
cronPort: parseInt(process.env.CRON_PORT as string, 10),
|
|
secret: process.env.SECRET || createRandomString(16, 32),
|
|
logs: {
|
|
level: process.env.LOG_LEVEL || 'silly',
|
|
},
|
|
api: {
|
|
prefix: '/api',
|
|
},
|
|
rootPath,
|
|
configString,
|
|
loginFaild,
|
|
authError,
|
|
logPath,
|
|
extraFile,
|
|
authConfigFile,
|
|
confBakDir,
|
|
crontabFile,
|
|
sampleFile,
|
|
confFile,
|
|
envFile,
|
|
dbPath,
|
|
cronDbFile,
|
|
envDbFile,
|
|
appDbFile,
|
|
authDbFile,
|
|
dependenceDbFile,
|
|
configPath,
|
|
scriptPath,
|
|
samplePath,
|
|
blackFileList: [
|
|
'auth.json',
|
|
'config.sh.sample',
|
|
'cookie.sh',
|
|
'crontab.list',
|
|
'env.sh',
|
|
],
|
|
writePathList: [configPath, scriptPath],
|
|
bakPath,
|
|
apiWhiteList: [
|
|
'/api/user/login',
|
|
'/open/auth/token',
|
|
'/api/user/two-factor/login',
|
|
'/api/system',
|
|
'/api/user/init',
|
|
'/api/user/notification/init',
|
|
],
|
|
versionFile,
|
|
lastVersionFile,
|
|
};
|