mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-10-18 13:28:15 +00:00
feat(config): add searxngURL
This commit is contained in:
@@ -15,10 +15,26 @@ class ConfigManager {
|
|||||||
setupComplete: false,
|
setupComplete: false,
|
||||||
general: {},
|
general: {},
|
||||||
modelProviders: [],
|
modelProviders: [],
|
||||||
|
search: {
|
||||||
|
searxngURL: '',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
uiConfigSections: UIConfigSections = {
|
uiConfigSections: UIConfigSections = {
|
||||||
general: [],
|
general: [],
|
||||||
modelProviders: [],
|
modelProviders: [],
|
||||||
|
search: [
|
||||||
|
{
|
||||||
|
name: 'SearXNG URL',
|
||||||
|
key: 'searxngURL',
|
||||||
|
type: 'string',
|
||||||
|
required: false,
|
||||||
|
description: 'The URL of your SearXNG instance',
|
||||||
|
placeholder: 'http://localhost:4000',
|
||||||
|
default: '',
|
||||||
|
scope: 'server',
|
||||||
|
env: 'SEARXNG_API_URL',
|
||||||
|
},
|
||||||
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
@@ -78,6 +94,7 @@ class ConfigManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private initializeFromEnv() {
|
private initializeFromEnv() {
|
||||||
|
/* providers section*/
|
||||||
const providerConfigSections = getModelProvidersUIConfigSection();
|
const providerConfigSections = getModelProvidersUIConfigSection();
|
||||||
|
|
||||||
this.uiConfigSections.modelProviders = providerConfigSections;
|
this.uiConfigSections.modelProviders = providerConfigSections;
|
||||||
@@ -130,6 +147,14 @@ class ConfigManager {
|
|||||||
|
|
||||||
this.currentConfig.modelProviders.push(...newProviders);
|
this.currentConfig.modelProviders.push(...newProviders);
|
||||||
|
|
||||||
|
/* search section */
|
||||||
|
this.uiConfigSections.search.forEach((f) => {
|
||||||
|
if (f.env && !this.currentConfig.search[f.key]) {
|
||||||
|
this.currentConfig.search[f.key] =
|
||||||
|
process.env[f.env] ?? f.default ?? '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
this.saveConfig();
|
this.saveConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,15 +221,19 @@ class ConfigManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public isSetupComplete() {
|
public isSetupComplete() {
|
||||||
return this.currentConfig.setupComplete
|
return this.currentConfig.setupComplete;
|
||||||
}
|
}
|
||||||
|
|
||||||
public markSetupComplete() {
|
public markSetupComplete() {
|
||||||
if (!this.currentConfig.setupComplete) {
|
if (!this.currentConfig.setupComplete) {
|
||||||
this.currentConfig.setupComplete = true
|
this.currentConfig.setupComplete = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.saveConfig()
|
this.saveConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
public getUIConfigSections(): UIConfigSections {
|
||||||
|
return this.uiConfigSections;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user