perf: Lazy-load public-api dependencies to reduce baseline memory usage (#5049)

* refactor: Load swagger and openapi dependencies conditionally

* disable public api in tests to reduce heal usage

* update the link and text in SettingsApiView when swagger ui is disabled
This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2023-01-02 12:14:58 +01:00
committed by GitHub
parent b828cb31d6
commit a455cce7e6
9 changed files with 79 additions and 34 deletions

View File

@@ -38,6 +38,9 @@ export const useSettingsStore = defineStore(STORES.SETTINGS, {
enabled: false,
latestVersion: 0,
path: '/',
swaggerUi: {
enabled: false,
},
},
onboardingCallPromptEnabled: false,
saveDataErrorExecution: 'all',
@@ -57,6 +60,9 @@ export const useSettingsStore = defineStore(STORES.SETTINGS, {
isPublicApiEnabled(): boolean {
return this.api.enabled;
},
isSwaggerUIEnabled(): boolean {
return this.api.swaggerUi.enabled;
},
publicApiLatestVersion(): number {
return this.api.latestVersion;
},
@@ -139,9 +145,7 @@ export const useSettingsStore = defineStore(STORES.SETTINGS, {
this.userManagement.enabled = settings.userManagement.enabled;
this.userManagement.showSetupOnFirstLoad = !!settings.userManagement.showSetupOnFirstLoad;
this.userManagement.smtpSetup = settings.userManagement.smtpSetup;
this.api.enabled = settings.publicApi.enabled;
this.api.latestVersion = settings.publicApi.latestVersion;
this.api.path = settings.publicApi.path;
this.api = settings.publicApi;
this.onboardingCallPromptEnabled = settings.onboardingCallPromptEnabled;
},
async getSettings(): Promise<void> {