API Updates

Fixes #3153
Fixes #2513
Fixes #2512

Co-Authored-By: Mark McDowall <markus101@users.noreply.github.com>
This commit is contained in:
Qstick 2022-12-05 21:30:27 -06:00
parent 6ab02d2d15
commit 845c27f63b
4 changed files with 91 additions and 2 deletions

View File

@ -54,9 +54,9 @@ namespace Lidarr.Api.V1.System
}
[HttpGet("status")]
public object GetStatus()
public SystemResource GetStatus()
{
return new
return new SystemResource
{
AppName = BuildInfo.AppName,
InstanceName = _configFileProvider.InstanceName,

View File

@ -0,0 +1,43 @@
using System;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Core.Authentication;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.Update;
namespace Lidarr.Api.V1.System
{
public class SystemResource
{
public string AppName { get; set; }
public string InstanceName { get; set; }
public string Version { get; set; }
public DateTime BuildTime { get; set; }
public bool IsDebug { get; set; }
public bool IsProduction { get; set; }
public bool IsAdmin { get; set; }
public bool IsUserInteractive { get; set; }
public string StartupPath { get; set; }
public string AppData { get; set; }
public string OsName { get; set; }
public string OsVersion { get; set; }
public bool IsNetCore { get; set; }
public bool IsLinux { get; set; }
public bool IsOsx { get; set; }
public bool IsWindows { get; set; }
public bool IsDocker { get; set; }
public RuntimeMode Mode { get; set; }
public string Branch { get; set; }
public DatabaseType DatabaseType { get; set; }
public Version DatabaseVersion { get; set; }
public AuthenticationType Authentication { get; set; }
public int MigrationVersion { get; set; }
public string UrlBase { get; set; }
public Version RuntimeVersion { get; set; }
public string RuntimeName { get; set; }
public DateTime StartTime { get; set; }
public string PackageVersion { get; set; }
public string PackageAuthor { get; set; }
public UpdateMechanism PackageUpdateMechanism { get; set; }
public string PackageUpdateMechanismMessage { get; set; }
}
}

View File

@ -0,0 +1,39 @@
using System;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using NzbDrone.Core.Configuration;
namespace Lidarr.Http.Ping
{
public class PingController : Controller
{
private readonly IConfigRepository _configRepository;
public PingController(IConfigRepository configRepository)
{
_configRepository = configRepository;
}
[HttpGet("/ping")]
[Produces("application/json")]
public ActionResult<PingResource> GetStatus()
{
try
{
_configRepository.All();
}
catch (Exception)
{
return StatusCode(StatusCodes.Status500InternalServerError, new PingResource
{
Status = "Error"
});
}
return StatusCode(StatusCodes.Status200OK, new PingResource
{
Status = "OK"
});
}
}
}

View File

@ -0,0 +1,7 @@
namespace Lidarr.Http.Ping
{
public class PingResource
{
public string Status { get; set; }
}
}