private UpdateResult UpdateInternal(UpdateRequest request) { var result = _updater.Update(Build, request.Branch, request.CommitHash); Status.LastBuildLog = result.Output; return(result); }
private async void OnTimerTick(object sender, EventArgs e) { if (!await ServerOffline()) { return; } await _serverUpdater.Update(); var fastestProfile = await _profileManager.GetFastestProfile(); await _vpnManager.Connect(fastestProfile); }
private async void OnTimerTick(object sender, EventArgs e) { if (!await ServerOffline()) { return; } _serverManager.MarkServerUnderMaintenance(_state.Server.ExitIp); await _serverUpdater.Update(); var fastestProfile = await _profileManager.GetFastestProfile(); await _vpnManager.Connect(fastestProfile); }
public async Task <VpnError> ResolveError() { var oldUserInfo = _userStorage.User(); if (oldUserInfo.Delinquent == 1) { return(VpnError.Unpaid); } if (oldUserInfo.Delinquent == 2) { return(VpnError.UsageLimitReached); } if (await GetSessionCount() >= oldUserInfo.MaxConnect) { return(VpnError.SessionLimitReached); } await UpdateUserInfo(); var newUserInfo = _userStorage.User(); if (oldUserInfo.VpnPassword != newUserInfo.VpnPassword) { return(VpnError.PasswordChanged); } if (newUserInfo.MaxTier < oldUserInfo.MaxTier) { return(VpnError.UserTierTooLowError); } await _serverUpdater.Update(); var server = _serverManager.GetServer(new ServerById(_server.Id)); if (server == null) { return(VpnError.ServerRemoved); } if (server.Status == 0) { return(VpnError.ServerOffline); } return(VpnError.Unknown); }
public async Task <VpnError> ResolveError() { User oldUserInfo = _userStorage.User(); if (oldUserInfo.IsDelinquent()) { return(VpnError.Unpaid); } int sessionCount = await GetSessionCount(); if (sessionCount >= oldUserInfo.MaxConnect) { return(VpnError.SessionLimitReached); } await UpdateUserInfo(); User newUserInfo = _userStorage.User(); if (oldUserInfo.VpnPassword != newUserInfo.VpnPassword) { return(VpnError.PasswordChanged); } if (newUserInfo.MaxTier < oldUserInfo.MaxTier) { return(VpnError.UserTierTooLowError); } await _serverUpdater.Update(); Server server = _serverManager.GetServer(new ServerById(_server.Id)); if (server == null) { _serverManager.MarkServerUnderMaintenance(_server.ExitIp); return(VpnError.ServerRemoved); } if (server.Status == 0) { _serverManager.MarkServerUnderMaintenance(_server.ExitIp); return(VpnError.ServerOffline); } return(VpnError.Unknown); }
public async Task CheckIfCurrentServerIsOnlineAsync() { if (!_timer.IsEnabled || !await ServerOffline()) { return; } _serverManager.MarkServerUnderMaintenance(_state.Server.ExitIp); await _serverUpdater.Update(); _logger.Info($"Reconnecting due to server {_state.Server.Name} ({_state.Server.ExitIp}) being no longer available."); await _vpnManager.ReconnectAsync(new VpnReconnectionSettings { IsToReconnectIfDisconnected = true, IsToExcludeLastServer = true, IsToShowReconnectionPopup = true }); }