mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-19 21:03:17 -07:00
Merge branch 'develop' of https://github.com/tidusjar/Ombi into develop
This commit is contained in:
commit
d098e6fd32
8 changed files with 88 additions and 19 deletions
23
.github/stale.yml
vendored
Normal file
23
.github/stale.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 60
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- pinned
|
||||
- security
|
||||
- bug / issue
|
||||
- help wanted
|
||||
- possible feature
|
||||
- planned
|
||||
- in progress
|
||||
- enhancement
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: wontfix
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
|
@ -20,9 +20,8 @@ Follow me developing Ombi!
|
|||
|
||||
___
|
||||
<a href='https://play.google.com/store/apps/details?id=com.tidusjar.Ombi&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img width="150" alt='Get it on Google Play' src='https://play.google.com/intl/en_gb/badges/images/generic/en_badge_web_generic.png'/></a>
|
||||
|
||||
<a href='https://itunes.apple.com/us/app/ombi/id1335260043?ls=1&mt=8'><img width="150" alt='Get it on App Store' src='https://i.imgur.com/cJFa0M4.png'/></a>
|
||||
|
||||
<br>
|
||||
_**Note:** There is no longer an iOS app due to complications outside of our control._
|
||||
|
||||
___
|
||||
|
||||
|
@ -43,6 +42,7 @@ Here are some of the features Ombi V3 has:
|
|||
* Now working without crashes on Linux.
|
||||
* Lets users request Movies, Music, and TV Shows (whether it being the entire series, an entire season, or even single episodes.)
|
||||
* Easily manage your requests
|
||||
* Allows you to set specific users to automatically have requests approved and added to the relevant service (Sonarr/Radarr/Lidarr/Couchpotato etc)
|
||||
* User management system (supports plex.tv, Emby and local accounts)
|
||||
* A landing page that will give you the availability of your Plex/Emby server and also add custom notification text to inform your users of downtime.
|
||||
* Allows your users to get custom notifications!
|
||||
|
@ -50,7 +50,7 @@ Here are some of the features Ombi V3 has:
|
|||
* Will show if the request is already on plex or even if it's already monitored.
|
||||
* Automatically updates the status of requests when they are available on Plex/Emby
|
||||
* Slick, responsive and mobile friendly UI
|
||||
* Ombi will automatically update itself :)
|
||||
* Ombi will automatically update itself :) (YMMV)
|
||||
* Very fast!
|
||||
|
||||
### Integration
|
||||
|
|
|
@ -23,6 +23,6 @@ namespace Ombi.Api.Lidarr
|
|||
Task<List<LanguageProfiles>> GetLanguageProfile(string apiKey, string baseUrl);
|
||||
Task<LidarrStatus> Status(string apiKey, string baseUrl);
|
||||
Task<CommandResult> AlbumSearch(int[] albumIds, string apiKey, string baseUrl);
|
||||
Task<AlbumResponse> AlbumInformation(string albumId, string apiKey, string baseUrl);
|
||||
Task<AlbumByForeignId> AlbumInformation(string albumId, string apiKey, string baseUrl);
|
||||
}
|
||||
}
|
|
@ -105,14 +105,13 @@ namespace Ombi.Api.Lidarr
|
|||
return Api.Request<List<AlbumResponse>>(request);
|
||||
}
|
||||
|
||||
public async Task<AlbumResponse> AlbumInformation(string albumId, string apiKey, string baseUrl)
|
||||
public async Task<AlbumByForeignId> AlbumInformation(string albumId, string apiKey, string baseUrl)
|
||||
{
|
||||
var request = new Request($"{ApiVersion}/album", baseUrl, HttpMethod.Get);
|
||||
request.AddQueryString("foreignAlbumId", albumId);
|
||||
AddHeaders(request, apiKey);
|
||||
var albums = await Api.Request<List<AlbumResponse>>(request);
|
||||
return albums.Where(x => x.foreignAlbumId.Equals(albumId, StringComparison.InvariantCultureIgnoreCase))
|
||||
.FirstOrDefault();
|
||||
var albums = await Api.Request<List<AlbumByForeignId>>(request);
|
||||
return albums.FirstOrDefault();
|
||||
}
|
||||
|
||||
|
||||
|
|
31
src/Ombi.Api.Lidarr/Models/AlbumByForeignId.cs
Normal file
31
src/Ombi.Api.Lidarr/Models/AlbumByForeignId.cs
Normal file
|
@ -0,0 +1,31 @@
|
|||
using System;
|
||||
using System.Net.Mime;
|
||||
|
||||
namespace Ombi.Api.Lidarr.Models
|
||||
{
|
||||
public class AlbumByForeignId
|
||||
{
|
||||
public string title { get; set; }
|
||||
public string disambiguation { get; set; }
|
||||
public string overview { get; set; }
|
||||
public int artistId { get; set; }
|
||||
public string foreignAlbumId { get; set; }
|
||||
public bool monitored { get; set; }
|
||||
public bool anyReleaseOk { get; set; }
|
||||
public int profileId { get; set; }
|
||||
public int duration { get; set; }
|
||||
public string albumType { get; set; }
|
||||
public object[] secondaryTypes { get; set; }
|
||||
public int mediumCount { get; set; }
|
||||
public Ratings ratings { get; set; }
|
||||
public DateTime releaseDate { get; set; }
|
||||
public Release[] releases { get; set; }
|
||||
public object[] genres { get; set; }
|
||||
public Medium[] media { get; set; }
|
||||
public Artist artist { get; set; }
|
||||
public Image[] images { get; set; }
|
||||
public Link[] links { get; set; }
|
||||
public Statistics statistics { get; set; }
|
||||
public int id { get; set; }
|
||||
}
|
||||
}
|
|
@ -157,7 +157,7 @@ namespace Ombi.Core.Engine
|
|||
|
||||
|
||||
// TODO
|
||||
private async Task<SearchAlbumViewModel> MapIntoAlbumVm(AlbumResponse a, LidarrSettings settings)
|
||||
private async Task<SearchAlbumViewModel> MapIntoAlbumVm(AlbumByForeignId a, LidarrSettings settings)
|
||||
{
|
||||
var vm = new SearchAlbumViewModel
|
||||
{
|
||||
|
@ -167,7 +167,10 @@ namespace Ombi.Core.Engine
|
|||
ReleaseDate = a.releaseDate,
|
||||
Title = a.title,
|
||||
Disk = a.images?.FirstOrDefault(x => x.coverType.Equals("disc"))?.url?.Replace("http", "https"),
|
||||
Genres = a.genres
|
||||
Genres = a.genres,
|
||||
AlbumType = a.albumType,
|
||||
ArtistName = a.artist.artistName,
|
||||
ForeignArtistId = a.artist.foreignArtistId,
|
||||
};
|
||||
if (a.artistId > 0)
|
||||
{
|
||||
|
@ -185,10 +188,6 @@ namespace Ombi.Core.Engine
|
|||
}
|
||||
|
||||
vm.Cover = a.images?.FirstOrDefault(x => x.coverType.Equals("cover"))?.url?.Replace("http", "https");
|
||||
if (vm.Cover.IsNullOrEmpty())
|
||||
{
|
||||
//vm.Cover = a.remoteCover;
|
||||
}
|
||||
|
||||
await Rules.StartSpecificRules(vm, SpecificRules.LidarrAlbum);
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
using System.Security.Claims;
|
||||
using Ombi.Store.Entities;
|
||||
using System.IO;
|
||||
using System.Security.Claims;
|
||||
using System.Security.Principal;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
@ -37,16 +39,24 @@ namespace Ombi.Core.Rule.Rules.Request
|
|||
if (obj.RequestType == RequestType.TvShow)
|
||||
{
|
||||
if (await _manager.IsInRoleAsync(user, OmbiRoles.RequestTv) || await _manager.IsInRoleAsync(user, OmbiRoles.AutoApproveTv))
|
||||
{
|
||||
return Success();
|
||||
}
|
||||
|
||||
return Fail("You do not have permissions to Request a TV Show");
|
||||
}
|
||||
|
||||
if (obj.RequestType == RequestType.Album)
|
||||
{
|
||||
if (await _manager.IsInRoleAsync(user, OmbiRoles.RequestMusic) || await _manager.IsInRoleAsync(user, OmbiRoles.AutoApproveMusic))
|
||||
{
|
||||
return Success();
|
||||
}
|
||||
|
||||
return Fail("You do not have permissions to Request an Album");
|
||||
}
|
||||
|
||||
return Fail("You do not have permissions to Request a TV Show");
|
||||
throw new InvalidDataException("Permission check failed: unknown RequestType");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
9
src/Ombi/Startup.cs
Normal file → Executable file
9
src/Ombi/Startup.cs
Normal file → Executable file
|
@ -216,7 +216,14 @@ namespace Ombi
|
|||
app.UseSwagger();
|
||||
app.UseSwaggerUI(c =>
|
||||
{
|
||||
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
|
||||
if (settings.BaseUrl.HasValue())
|
||||
{
|
||||
c.SwaggerEndpoint($"{settings.BaseUrl}/swagger/v1/swagger.json", "My API V1");
|
||||
}
|
||||
else
|
||||
{
|
||||
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
|
||||
}
|
||||
});
|
||||
|
||||
app.UseMvc(routes =>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue