You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailchat/server/packages/sdk/src/services/lib/settings.ts

78 lines
1.9 KiB
TypeScript

import dotenv from 'dotenv';
import _ from 'lodash';
dotenv.config();
/**
*
*/
const port = process.env.PORT ? Number(process.env.PORT) : 11000;
const apiUrl = process.env.API_URL || `http://127.0.0.1:${port}`;
export const config = {
port,
secret: process.env.SECRET || 'tailchat',
env: process.env.NODE_ENV || 'development',
/**
* socket admin ui
*/
enableSocketAdmin: !!process.env.ADMIN,
redisUrl: process.env.REDIS_URL,
mongoUrl: process.env.MONGO_URL,
storage: {
type: 'minio', // 可选: minio
minioUrl: process.env.MINIO_URL,
user: process.env.MINIO_USER,
pass: process.env.MINIO_PASS,
bucketName: process.env.MINIO_BUCKET_NAME || 'tailchat',
/**
*
* byte
* 1m
*/
limit: process.env.FILE_LIMIT
? Number(process.env.FILE_LIMIT)
: 1 * 1024 * 1024,
},
apiUrl,
staticUrl: `${apiUrl}/static/`,
enableOpenapi: true, // 是否开始openapi
emailVerification: checkEnvTrusty(process.env.EMAIL_VERIFY) || false, // 是否在注册后验证邮箱可用性
smtp: {
senderName: process.env.SMTP_SENDER, // 发邮件者显示名称
connectionUrl: process.env.SMTP_URI || '',
},
enablePrometheus: checkEnvTrusty(process.env.PROMETHEUS),
feature: {
disableFileCheck: checkEnvTrusty(process.env.DISABLE_FILE_CHECK),
},
};
export const builtinAuthWhitelist = [
'/gateway/health',
'/debug/hello',
'/user/login',
'/user/register',
'/user/createTemporaryUser',
'/user/resolveToken',
'/user/getUserInfo',
'/user/getUserInfoList',
'/user/checkTokenValid',
'/group/getGroupBasicInfo',
'/group/invite/findInviteByCode',
];
/**
*
*/
export function buildUploadUrl(objectName: string) {
return config.staticUrl + objectName;
}
/**
* true
*/
export function checkEnvTrusty(env: string): boolean {
return env === '1' || env === 'true';
}