/// <summary> /// Return given setting /// </summary> /// <param name="setting">parameter you want to read</param> /// <returns></returns> private object GetSetting() { try { Settings setting = this.Bind(); if (setting != null) { var config = ServerSettings.Get(setting.setting); if (config != null) { Settings return_setting = new Settings(); return_setting.setting = setting.setting; return_setting.value = config; return(return_setting); } else { return(APIStatus.notFound404("Parameter not found.")); } } else { return(APIStatus.badRequest("Setting was null.")); } } catch { return(APIStatus.internalError()); } }
/// <summary> /// Set given setting /// </summary> /// <param name="setting">parameter you want to write</param> /// <param name="value">value of the parameter</param> /// <returns></returns> private object SetSetting() { try { Settings setting = this.Bind(); if (setting.setting != null & setting.value != null) { if (ServerSettings.Set(setting.setting, setting.value) == true) { return(APIStatus.statusOK()); } else { return(APIStatus.badRequest("Setting not saved.")); } } else { return(APIStatus.badRequest("Setting/Value was null.")); } } catch { return(APIStatus.internalError()); } }
/// <summary> /// Import config file that was sent to in API body - this act as import from backup /// </summary> /// <returns>APIStatus</returns> private object ImportConfig() { CL_ServerSettings settings = this.Bind(); string raw_settings = settings.ToJSON(); if (raw_settings.Length != new CL_ServerSettings().ToJSON().Length) { string path = Path.Combine(ServerSettings.ApplicationPath, "temp.json"); File.WriteAllText(path, raw_settings, System.Text.Encoding.UTF8); try { ServerSettings.LoadSettingsFromFile(path, true); return(APIStatus.statusOK()); } catch { return(APIStatus.internalError("Error while importing settings")); } } else { return(APIStatus.badRequest("Empty settings are not allowed")); } }