feat(api): public settings route (#57)

adds public settings route that provides initalized value to check if the app has been configured
for the first time
This commit is contained in:
sct
2020-09-07 18:41:20 +09:00
committed by GitHub
parent fcaabcb428
commit c0166e7ecb
4 changed files with 48 additions and 3 deletions

View File

@@ -42,11 +42,16 @@ interface MainSettings {
apiKey: string;
}
interface PublicSettings {
initialized: boolean;
}
interface AllSettings {
main: MainSettings;
plex: PlexSettings;
radarr: RadarrSettings[];
sonarr: SonarrSettings[];
public: PublicSettings;
}
const SETTINGS_PATH = path.join(__dirname, '../../config/settings.json');
@@ -68,6 +73,9 @@ class Settings {
},
radarr: [],
sonarr: [],
public: {
initialized: false,
},
};
if (initialSettings) {
Object.assign<AllSettings, AllSettings>(this.data, initialSettings);
@@ -106,6 +114,14 @@ class Settings {
this.data.sonarr = data;
}
get public(): PublicSettings {
return this.data.public;
}
set public(data: PublicSettings) {
this.data.public = data;
}
/**
* Settings Load
*
@@ -126,7 +142,7 @@ class Settings {
const data = fs.readFileSync(SETTINGS_PATH, 'utf-8');
if (data) {
this.data = JSON.parse(data);
this.data = Object.assign(this.data, JSON.parse(data));
}
return this.data;
}