mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 21:13:50 +00:00
70 lines
2.0 KiB
TypeScript
70 lines
2.0 KiB
TypeScript
import { SystemConfigsTypeEnum } from '@fastgpt/global/common/system/config/constants';
|
|
import { MongoSystemConfigs } from './schema';
|
|
import { type FastGPTConfigFileType } from '@fastgpt/global/common/system/types';
|
|
import { FastGPTProUrl } from '../constants';
|
|
import { type LicenseDataType } from '@fastgpt/global/common/system/types';
|
|
|
|
export const getFastGPTConfigFromDB = async (): Promise<{
|
|
fastgptConfig: FastGPTConfigFileType;
|
|
licenseData?: LicenseDataType;
|
|
}> => {
|
|
if (!FastGPTProUrl) {
|
|
return {
|
|
fastgptConfig: {} as FastGPTConfigFileType
|
|
};
|
|
}
|
|
|
|
const [fastgptConfig, licenseConfig] = await Promise.all([
|
|
MongoSystemConfigs.findOne({
|
|
type: SystemConfigsTypeEnum.fastgpt
|
|
}).sort({
|
|
createTime: -1
|
|
}),
|
|
MongoSystemConfigs.findOne({
|
|
type: SystemConfigsTypeEnum.license
|
|
}).sort({
|
|
createTime: -1
|
|
})
|
|
]);
|
|
|
|
const config = fastgptConfig?.value || {};
|
|
const licenseData = licenseConfig?.value?.data as LicenseDataType | undefined;
|
|
|
|
const fastgptConfigTime = fastgptConfig?.createTime.getTime().toString();
|
|
const licenseConfigTime = licenseConfig?.createTime.getTime().toString();
|
|
// 利用配置文件的创建时间(更新时间)来做缓存,如果前端命中缓存,则不需要再返回配置文件
|
|
global.systemInitBufferId = fastgptConfigTime
|
|
? `${fastgptConfigTime}-${licenseConfigTime}`
|
|
: undefined;
|
|
|
|
return {
|
|
fastgptConfig: config as FastGPTConfigFileType,
|
|
licenseData
|
|
};
|
|
};
|
|
|
|
export const updateFastGPTConfigBuffer = async () => {
|
|
const res = await MongoSystemConfigs.findOne({
|
|
type: SystemConfigsTypeEnum.fastgpt
|
|
}).sort({
|
|
createTime: -1
|
|
});
|
|
|
|
if (!res) return;
|
|
|
|
res.createTime = new Date();
|
|
await res.save();
|
|
|
|
global.systemInitBufferId = res.createTime.getTime().toString();
|
|
};
|
|
|
|
export const reloadFastGPTConfigBuffer = async () => {
|
|
const res = await MongoSystemConfigs.findOne({
|
|
type: SystemConfigsTypeEnum.fastgpt
|
|
}).sort({
|
|
createTime: -1
|
|
});
|
|
if (!res) return;
|
|
global.systemInitBufferId = res.createTime.getTime().toString();
|
|
};
|