public T Get <T>(string key) { if (IsEnumerableType(typeof(T))) { var stringValue = _storage.Get <string>(key); return(JsonConvert.DeserializeObject <T>(stringValue)); } return(_storage.Get <T>(key)); }
public void Apply_ShouldSet_OvpnProtocol_ToAuto(string previousValue) { // Arrange _storage.Get <string>("OvpnProtocol").Returns(previousValue); var migration = new AppSettingsMigration(_storage); // Act migration.Apply(); // Assert _storage.Received().Set("OvpnProtocol", "auto"); }
public void Apply_Should_SwitchOff_SplitTunnel_WhenKillSwitch_IsOn() { // Arrange _storage.Get <bool>("KillSwitch").Returns(true); _storage.Get <bool>("SplitTunnelingEnabled").Returns(true); var migration = new AppSettingsMigration(_storage); // Act migration.Apply(); // Assert _storage.Received().Set("SplitTunnelingEnabled", false); }
public T Get <T>(string key) { if (_cache.TryGetValue(key, out object cachedValue)) { return(cachedValue is T result ? result : default(T)); } var perUser = _storage.Get <PerUser <T>[]>(PerUserKey(key))?.SingleOrDefault(i => i.User == User); var value = perUser != null ? perUser.Value : default(T); _cache[key] = value; return(value); }
public T Get <T>(string key) { var toType = UnwrapNullable(typeof(T)); if (toType.IsEnum) { var stringValue = _storage.Get <string>(key); TryParseEnum(stringValue, out T result); return(result); } return(_storage.Get <T>(key)); }
private void MigrateProfiles() { var appProfiles = _appSettings.Get <ProfileV1[]>("Profiles") ?? new ProfileV1[0]; var cachedProfileData = new CachedProfileDataContract { Local = appProfiles .Select(p => new MigratedProfile(p, _serverManager)) .Where(p => p.HasValue) .Select(p => p.Value) .ToList() }; _userSettings.Set("Profiles", cachedProfileData); _appSettings.Set <ProfileV1[]>("Profiles", null); }
public async Task <T> GetValueOrDefault <T>(string key, Guid identityId) { var setting = await _settingsStorage.Get(key, identityId); if (setting == default(Setting)) { return(default(T)); } if (setting.Accessed < DateTimeOffset.Now.AddDays(-1)) { setting.Accessed = DateTimeOffset.Now; await _settingsStorage.Update(setting); } return(JsonSerializer.Deserialize <T>(setting.ValueField)); }
public void Apply_ShouldMigrate_SecureCore(bool value) { // Arrange _appSettings.Get <bool>("SecureCore").Returns(value); var migration = new UserSettingsMigration(_appSettings, _userSettings); // Act migration.Apply(); // Assert _userSettings.Received().Set("SecureCore", value); }
private User UnsafeUser() { string username = _storage.Get <string>("Username")?.Trim(); if (string.IsNullOrEmpty(username)) { return(Core.Models.User.EmptyUser()); } username = username.Decrypt(); string vpnUsername = _userSettings.Get <string>("VpnUsername"); if (!string.IsNullOrEmpty(vpnUsername)) { vpnUsername = vpnUsername.Decrypt(); } string vpnPassword = _userSettings.Get <string>("VpnPassword"); if (!string.IsNullOrEmpty(vpnPassword)) { vpnPassword = vpnPassword.Decrypt(); } int delinquent = _userSettings.Get <int>("Delinquent"); string originalVpnPlan = _userSettings.Get <string>("VpnPlan"); string vpnPlan = originalVpnPlan; if (Core.Models.User.IsDelinquent(delinquent)) { vpnPlan = FREE_VPN_PLAN; } return(new User { Username = username, VpnPlan = vpnPlan, MaxTier = _userSettings.Get <sbyte>("MaxTier"), Delinquent = delinquent, ExpirationTime = _userSettings.Get <int>("ExpirationTime"), MaxConnect = _userSettings.Get <int>("MaxConnect"), Services = _userSettings.Get <int>("Services"), VpnUsername = vpnUsername, VpnPassword = vpnPassword, OriginalVpnPlan = originalVpnPlan }); }
private Models.User UnsafeUser() { var username = _storage.Get <string>("Username")?.Trim(); if (string.IsNullOrEmpty(username)) { return(Models.User.EmptyUser()); } username = username.Decrypt(); var vpnUsername = _userSettings.Get <string>("VpnUsername"); if (!string.IsNullOrEmpty(vpnUsername)) { vpnUsername = vpnUsername.Decrypt(); } var vpnPassword = _userSettings.Get <string>("VpnPassword"); if (!string.IsNullOrEmpty(vpnPassword)) { vpnPassword = vpnPassword.Decrypt(); } return(new Models.User { Username = username, VpnPlan = _userSettings.Get <string>("VpnPlan"), MaxTier = _userSettings.Get <sbyte>("MaxTier"), Delinquent = _userSettings.Get <int>("Delinquent"), ExpirationTime = _userSettings.Get <int>("ExpirationTime"), MaxConnect = _userSettings.Get <int>("MaxConnect"), Services = _userSettings.Get <int>("Services"), VpnUsername = vpnUsername, VpnPassword = vpnPassword }); }
public T Get <T>(string key) { Migrate(); return(_storage.Get <T>(key)); }