public async Task <IActionResult> GetServer(string id)
        {
            await serverDb.Connection.OpenAsync();

            var query  = new ServerQuery(serverDb);
            var result = await query.FindServerAsync(id);

            if (result is null)
            {
                return(new NotFoundResult());
            }
            return(new OkObjectResult(result));
        }
        public async Task <IActionResult> CheckAvailable([FromBody] Server body, string id)
        {
            await serverDb.Connection.OpenAsync();

            var query  = new ServerQuery(serverDb);
            var result = await query.FindServerAsync(id);

            if (result is null)
            {
                return(new NotFoundResult());
            }
            if (body.Port != result.Port || body.Ip != result.Ip)
            {
                return(new NotFoundResult());
            }
            return(new OkObjectResult(result));
        }
        public async Task <IActionResult> DeleteServer(string id)
        {
            await serverDb.Connection.OpenAsync();

            var query  = new ServerQuery(serverDb);
            var result = await query.FindServerAsync(id);

            if (result is null)
            {
                return(new NotFoundResult());
            }
            await result.DeleteAsync();

            // Delete the directory.
            string path = "videos/" + id;

            DeleteDirectory(path);
            return(new OkResult());
        }