public async Task <ActionResult> AddAsync([FromBody] BackupInputModel backupInput)
        {
            DataAccess.Entities.Server server = await _serverQueries.FindAsync(backupInput.Host);

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

            await _backupCommands.AddAsync(new Backup
            {
                ServerId                   = server.Id,
                IsStatusOk                 = backupInput.IsStatusOk,
                BackupsAmount              = backupInput.BackupsAmount,
                LastBackupEndDateTimeUtc   = backupInput.LastBackupEndDateTimeUtc,
                BackupDurationTotalSeconds = backupInput.BackupDurationTotalSeconds,
                BackupDurationCopySeconds  = backupInput.BackupDurationCopySeconds,
                CreatedDateTimeUtc         = DateTime.Now,
                LastBackupSizeBytes        = backupInput.LastBackupSizeBytes,
                OldestBackupEndDateTimeUtc = backupInput.OldestBackupEndDateTimeUtc,
                LastBackupStartDateTimeUtc = backupInput.LastBackupStartDateTimeUtc,
                DiskFreeBytes              = backupInput.DiskFreeBytes,
                DiskUsedBytes              = backupInput.DiskUsedBytes
            });

            return(Ok());
        }
        public async Task <ActionResult> GetSettingsAsync(int id)
        {
            DataAccess.Entities.Server server = await _serverQueries.GetAsync(id);

            var httpRequestMessage = new HttpRequestMessage
            {
                Method     = HttpMethod.Get,
                RequestUri = new Uri($"https://{server.Host}/api/settings"),
                Headers    =
                {
                    { HeaderNames.Accept,        MediaTypeNames.Application.Json   },
                    { SettingsAccessTokenHeader, _hostSettings.SettingsAccessToken }
                }
            };

            using var httpClient = new HttpClient();
            HttpResponseMessage response = await httpClient.SendAsync(httpRequestMessage);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                return(BadRequest());
            }
            string settings = await response.Content.ReadAsStringAsync();

            return(Ok(settings));
        }
Esempio n. 3
0
 public ServerHttpProbeService(DataAccess.Entities.Server server)
 {
     _server     = server ?? throw new ArgumentNullException(nameof(server));
     _httpClient = InitializeHttpClient();
 }