1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2024-12-18 23:48:35 +02:00
Sonarr/src/NzbDrone.Api/Update/UpdateModule.cs

54 lines
1.6 KiB
C#
Raw Normal View History

2013-05-20 03:30:02 +03:00
using System;
using System.Collections.Generic;
2013-08-24 05:42:45 +03:00
using Newtonsoft.Json;
2013-05-20 03:30:02 +03:00
using NzbDrone.Api.REST;
using NzbDrone.Core.Update;
using NzbDrone.Api.Mapping;
namespace NzbDrone.Api.Update
{
public class UpdateModule : NzbDroneRestModule<UpdateResource>
{
private readonly ICheckUpdateService _checkUpdateService;
private readonly IRecentUpdateProvider _recentUpdateProvider;
2013-05-20 03:30:02 +03:00
public UpdateModule(ICheckUpdateService checkUpdateService,
IRecentUpdateProvider recentUpdateProvider)
2013-05-20 03:30:02 +03:00
{
_checkUpdateService = checkUpdateService;
_recentUpdateProvider = recentUpdateProvider;
GetResourceAll = GetRecentUpdates;
2013-05-20 03:30:02 +03:00
}
private UpdateResource GetAvailableUpdate()
2013-05-20 03:30:02 +03:00
{
var update = _checkUpdateService.AvailableUpdate();
var response = new UpdateResource();
2013-05-20 03:30:02 +03:00
if (update != null)
{
return update.InjectTo<UpdateResource>();
2013-05-20 03:30:02 +03:00
}
return response;
}
private List<UpdateResource> GetRecentUpdates()
{
return ToListResource(_recentUpdateProvider.GetRecentUpdatePackages);
}
2013-05-20 03:30:02 +03:00
}
public class UpdateResource : RestResource
{
2013-08-24 05:42:45 +03:00
[JsonConverter(typeof(Newtonsoft.Json.Converters.VersionConverter))]
2013-05-20 03:30:02 +03:00
public Version Version { get; set; }
2013-08-24 05:42:45 +03:00
public String Branch { get; set; }
public DateTime ReleaseDate { get; set; }
2013-05-20 03:30:02 +03:00
public String FileName { get; set; }
public String Url { get; set; }
public UpdateChanges Changes { get; set; }
2013-05-20 03:30:02 +03:00
}
}