Exemplo n.º 1
0
        public async Task <Server> Get(Guid id, bool enrichEnabledPlugins)
        {
            var server = await _serverRepository.Get(id);

            if (enrichEnabledPlugins)
            {
                await EnrichWithEnabledPlugins(server, _pluginRepository, _pluginServerRepository);
            }
            return(server);
        }
Exemplo n.º 2
0
        public ActionResult <ServerResource> Get(int id)
        {
            var server = serversRepo.Get(id);

            if (server == null)
            {
                return(NotFound());
            }

            return(new ServerResource(server).EmbedRelations(Request, embeddedRelationsSchema, userManager));
        }
Exemplo n.º 3
0
        public IActionResult Get(int id)
        {
            var server = repo.Get(id);

            if (server == null)
            {
                return(NotFound());
            }

            return(new ObjectResult(server));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Get(int serverId)
        {
            try
            {
                var server = await _serverRepository.Get(serverId);

                if (server == null)
                {
                    return(BadRequest());
                }

                var queryInfo = await _minecraftServerQuery.GetInfo(server);

                return(Ok(new
                {
                    Result = "success",
                    Data = queryInfo
                }));
            }
            catch (TimeoutException)
            {
                return(StatusCode(500, new
                {
                    Result = "timeout"
                }));
            }
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Start(int serverId)
        {
            var server = await _serverRepository.Get(serverId);

            var result = await _serverManager.Start(server);

            return(Ok(new { result = (int)result }));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> GetLog(int serverId)
        {
            var server = await _serverRepository.Get(serverId);

            if (server == null)
            {
                return(BadRequest());
            }

            var response = await _dockerClient.Containers.GetContainerLogsAsync(server.ContainerID,
                                                                                new Docker.DotNet.Models.ContainerLogsParameters
            {
                ShowStderr = true,
                ShowStdout = true,
                Tail       = MAX_LOGLINES.ToString(),
                Timestamps = true,
            }, CancellationToken.None);

            using (var reader = new StreamReader(response))
            {
                var data = await reader.ReadToEndAsync();

                var log = data.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries)
                          .Select(l =>
                {
                    if (l.Length > 8)
                    {
                        var chars = l.ToCharArray()
                                    //.Select(c => (byte)Convert.ToInt32(c))
                                    .Skip(8)
                                    .ToArray();
                        var newLine = new string(chars);

                        var parts = newLine.Split(' ');
                        DateTimeOffset.TryParse(parts[0], out DateTimeOffset parsedTimestamp);

                        return(new ClientLogPost
                        {
                            Timestamp = parsedTimestamp,
                            Content = string.Join(" ", parts.Skip(1))
                        });
                    }
                    else
                    {
                        return(null);
                    }
                })
                          .Where(x => x != null);

                return(Ok(new
                {
                    Timestamp = DateTimeOffset.Now,
                    Log = log
                }));
            }
        }
Exemplo n.º 7
0
        public async Task <ServerList> ThenAsync(GetServerList request)
        {
            var servers = await _serverRepository.Get().ConfigureAwait(false);

            var serversList = servers.ToList();
            await _localServerRepository.Save(serversList).ConfigureAwait(false);

            var result = new ServerList {
                Items = serversList, Count = serversList.Count
            };

            return(result);
        }
Exemplo n.º 8
0
 private void UpdateServer(IUnitOfWork unitOfWork)
 {
     try
     {
         ServerInfo serverInfo = serverRepository.Get(serverId);
         serverInfo.ServerExpiredTime += managerConfiguration.ServerHeartbeat;
         unitOfWork.Update(serverInfo);
     }
     catch (EntityNotFoundException)
     {
         InsertNewServer(unitOfWork);
     }
 }
Exemplo n.º 9
0
        void UpdateDesignerAfterResourceLoad(IServerRepository serverRepository)
        {
            if (!IsDeleted)
            {
                MappingManager.InitializeMappings();
                ValidationMemoManager.InitializeLastValidationMemo(_environment);
                if (IsItemDragged.Instance.IsDragged)
                {
                    Expand();
                    IsItemDragged.Instance.IsDragged = false;
                }
            }
            var environmentModel = serverRepository.Get(EnvironmentID);

            if (EnvironmentID == Guid.Empty)
            {
                environmentModel = serverRepository.ActiveServer;
            }
            if (environmentModel?.Connection?.WebServerUri != null)
            {
                var servUri = new Uri(environmentModel.Connection.WebServerUri.ToString());
                var host    = servUri.Host;
                if (!host.Equals(FriendlySourceName, StringComparison.InvariantCultureIgnoreCase))
                {
                    FriendlySourceName = host;
                }
            }

            InitializeProperties();
            if (_environment != null)
            {
                _environment.AuthorizationServiceSet += OnEnvironmentOnAuthorizationServiceSet;
                AuthorizationServiceOnPermissionsChanged(null, null);
            }
            IsLoading = false;
            if (ResourceModel == null)
            {
                ValidationMemoManager.UpdateLastValidationMemoWithSourceNotFoundError();
            }
        }
Exemplo n.º 10
0
 public async Task <IActionResult> Get(string address, int port)
 {
     return(Ok(await _serverRepository.Get(address, port)));
 }