mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-10 07:22:35 -07:00
bug(#4854): 🐛 Fixed the Recently Requested showing requests when it should be hidden
This commit is contained in:
parent
46ce254f40
commit
854d1c0660
2 changed files with 26 additions and 9 deletions
|
@ -182,20 +182,25 @@ namespace Ombi.Core.Tests.Services
|
||||||
var releaseDate = new DateTime(2019, 01, 01);
|
var releaseDate = new DateTime(2019, 01, 01);
|
||||||
var requestDate = DateTime.Now;
|
var requestDate = DateTime.Now;
|
||||||
|
|
||||||
var movies = _fixture.CreateMany<MovieRequests>(10);
|
var movies = _fixture.CreateMany<MovieRequests>(10).ToList();
|
||||||
var albums = _fixture.CreateMany<AlbumRequest>(10);
|
var albums = _fixture.CreateMany<AlbumRequest>(10);
|
||||||
var chilRequests = _fixture.CreateMany<ChildRequests>(10);
|
var chilRequests = _fixture.CreateMany<ChildRequests>(10);
|
||||||
|
movies.Add(_fixture.Build<MovieRequests>().With(x => x.RequestedUserId, "a").With(x => x.Title, "unit").Create());
|
||||||
|
|
||||||
_mocker.Setup<IMovieRequestRepository, IQueryable<MovieRequests>>(x => x.GetAll()).Returns(movies.AsQueryable().BuildMock());
|
_mocker.Setup<IMovieRequestRepository, IQueryable<MovieRequests>>(x => x.GetAll()).Returns(movies.AsQueryable().BuildMock());
|
||||||
_mocker.Setup<IMusicRequestRepository, IQueryable<AlbumRequest>>(x => x.GetAll()).Returns(albums.AsQueryable().BuildMock());
|
_mocker.Setup<IMusicRequestRepository, IQueryable<AlbumRequest>>(x => x.GetAll()).Returns(albums.AsQueryable().BuildMock());
|
||||||
_mocker.Setup<ITvRequestRepository, IQueryable<ChildRequests>>(x => x.GetChild()).Returns(chilRequests.AsQueryable().BuildMock());
|
_mocker.Setup<ITvRequestRepository, IQueryable<ChildRequests>>(x => x.GetChild()).Returns(chilRequests.AsQueryable().BuildMock());
|
||||||
_mocker.Setup<ICurrentUser, Task<OmbiUser>>(x => x.GetUser()).ReturnsAsync(new OmbiUser { UserName = "test", Alias = "alias", UserType = UserType.LocalUser });
|
_mocker.Setup<ICurrentUser, Task<OmbiUser>>(x => x.GetUser()).ReturnsAsync(new OmbiUser { UserName = "test", Id = "a", Alias = "alias", UserType = UserType.LocalUser });
|
||||||
_mocker.Setup<ICurrentUser, string>(x => x.Username).Returns("test");
|
_mocker.Setup<ICurrentUser, string>(x => x.Username).Returns("test");
|
||||||
_mocker.Setup<OmbiUserManager, Task<bool>>(x => x.IsInRoleAsync(It.IsAny<OmbiUser>(), It.IsAny<string>())).ReturnsAsync(false);
|
_mocker.Setup<OmbiUserManager, Task<bool>>(x => x.IsInRoleAsync(It.IsAny<OmbiUser>(), It.IsAny<string>())).ReturnsAsync(false);
|
||||||
|
|
||||||
var result = await _subject.GetRecentlyRequested(CancellationToken.None);
|
var result = await _subject.GetRecentlyRequested(CancellationToken.None);
|
||||||
|
|
||||||
CollectionAssert.IsEmpty(result.Where(x => !string.IsNullOrEmpty(x.Username) && !string.IsNullOrEmpty(x.UserId)));
|
Assert.Multiple(() =>
|
||||||
|
{
|
||||||
|
Assert.That(result.Count, Is.EqualTo(1));
|
||||||
|
Assert.That(result.First().Title, Is.EqualTo("unit"));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,6 +73,10 @@ namespace Ombi.Core.Services
|
||||||
var lang = await DefaultLanguageCode();
|
var lang = await DefaultLanguageCode();
|
||||||
foreach (var item in await recentMovieRequests.ToListAsync(cancellationToken))
|
foreach (var item in await recentMovieRequests.ToListAsync(cancellationToken))
|
||||||
{
|
{
|
||||||
|
if (hideUsers.Hide && item.RequestedUserId != hideUsers.UserId)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
var images = await _cache.GetOrAddAsync($"{CacheKeys.TmdbImages}movie{item.TheMovieDbId}", () => _movieDbApi.GetMovieImages(item.TheMovieDbId.ToString(), cancellationToken), DateTimeOffset.Now.AddDays(1));
|
var images = await _cache.GetOrAddAsync($"{CacheKeys.TmdbImages}movie{item.TheMovieDbId}", () => _movieDbApi.GetMovieImages(item.TheMovieDbId.ToString(), cancellationToken), DateTimeOffset.Now.AddDays(1));
|
||||||
model.Add(new RecentlyRequestedModel
|
model.Add(new RecentlyRequestedModel
|
||||||
{
|
{
|
||||||
|
@ -84,8 +88,8 @@ namespace Ombi.Core.Services
|
||||||
Title = item.Title,
|
Title = item.Title,
|
||||||
Type = RequestType.Movie,
|
Type = RequestType.Movie,
|
||||||
Approved = item.Approved,
|
Approved = item.Approved,
|
||||||
UserId = hideUsers.Hide ? string.Empty : item.RequestedUserId,
|
UserId = item.RequestedUserId,
|
||||||
Username = hideUsers.Hide ? string.Empty : item.RequestedUser.UserAlias,
|
Username = item.RequestedUser.UserAlias,
|
||||||
MediaId = item.TheMovieDbId.ToString(),
|
MediaId = item.TheMovieDbId.ToString(),
|
||||||
PosterPath = images?.posters?.Where(x => lang.Equals(x?.iso_639_1, StringComparison.InvariantCultureIgnoreCase))?.OrderByDescending(x => x.vote_count)?.Select(x => x.file_path)?.FirstOrDefault(),
|
PosterPath = images?.posters?.Where(x => lang.Equals(x?.iso_639_1, StringComparison.InvariantCultureIgnoreCase))?.OrderByDescending(x => x.vote_count)?.Select(x => x.file_path)?.FirstOrDefault(),
|
||||||
Background = images?.backdrops?.Where(x => lang.Equals(x?.iso_639_1, StringComparison.InvariantCultureIgnoreCase))?.OrderByDescending(x => x.vote_count)?.Select(x => x.file_path)?.FirstOrDefault(),
|
Background = images?.backdrops?.Where(x => lang.Equals(x?.iso_639_1, StringComparison.InvariantCultureIgnoreCase))?.OrderByDescending(x => x.vote_count)?.Select(x => x.file_path)?.FirstOrDefault(),
|
||||||
|
@ -94,6 +98,10 @@ namespace Ombi.Core.Services
|
||||||
|
|
||||||
foreach (var item in await recentMusicRequests.ToListAsync(cancellationToken))
|
foreach (var item in await recentMusicRequests.ToListAsync(cancellationToken))
|
||||||
{
|
{
|
||||||
|
if (hideUsers.Hide && item.RequestedUserId != hideUsers.UserId)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
model.Add(new RecentlyRequestedModel
|
model.Add(new RecentlyRequestedModel
|
||||||
{
|
{
|
||||||
RequestId = item.Id,
|
RequestId = item.Id,
|
||||||
|
@ -104,14 +112,18 @@ namespace Ombi.Core.Services
|
||||||
RequestDate = item.RequestedDate,
|
RequestDate = item.RequestedDate,
|
||||||
Title = item.Title,
|
Title = item.Title,
|
||||||
Type = RequestType.Album,
|
Type = RequestType.Album,
|
||||||
UserId = hideUsers.Hide ? string.Empty : item.RequestedUserId,
|
UserId = item.RequestedUserId,
|
||||||
Username = hideUsers.Hide ? string.Empty : item.RequestedUser.UserAlias,
|
Username = item.RequestedUser.UserAlias,
|
||||||
MediaId = item.ForeignAlbumId,
|
MediaId = item.ForeignAlbumId,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var item in await recentTvRequests.ToListAsync(cancellationToken))
|
foreach (var item in await recentTvRequests.ToListAsync(cancellationToken))
|
||||||
{
|
{
|
||||||
|
if (hideUsers.Hide && item.RequestedUserId != hideUsers.UserId)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
var providerId = item.ParentRequest.ExternalProviderId.ToString();
|
var providerId = item.ParentRequest.ExternalProviderId.ToString();
|
||||||
var images = await _cache.GetOrAddAsync($"{CacheKeys.TmdbImages}tv{providerId}", () => _movieDbApi.GetTvImages(providerId.ToString(), cancellationToken), DateTimeOffset.Now.AddDays(1));
|
var images = await _cache.GetOrAddAsync($"{CacheKeys.TmdbImages}tv{providerId}", () => _movieDbApi.GetTvImages(providerId.ToString(), cancellationToken), DateTimeOffset.Now.AddDays(1));
|
||||||
|
|
||||||
|
@ -127,8 +139,8 @@ namespace Ombi.Core.Services
|
||||||
TvPartiallyAvailable = partialAvailability,
|
TvPartiallyAvailable = partialAvailability,
|
||||||
Title = item.ParentRequest.Title,
|
Title = item.ParentRequest.Title,
|
||||||
Type = RequestType.TvShow,
|
Type = RequestType.TvShow,
|
||||||
UserId = hideUsers.Hide ? string.Empty : item.RequestedUserId,
|
UserId = item.RequestedUserId,
|
||||||
Username = hideUsers.Hide ? string.Empty : item.RequestedUser.UserAlias,
|
Username = item.RequestedUser.UserAlias,
|
||||||
MediaId = providerId.ToString(),
|
MediaId = providerId.ToString(),
|
||||||
PosterPath = images?.posters?.Where(x => lang.Equals(x?.iso_639_1, StringComparison.InvariantCultureIgnoreCase))?.OrderByDescending(x => x.vote_count)?.Select(x => x.file_path)?.FirstOrDefault(),
|
PosterPath = images?.posters?.Where(x => lang.Equals(x?.iso_639_1, StringComparison.InvariantCultureIgnoreCase))?.OrderByDescending(x => x.vote_count)?.Select(x => x.file_path)?.FirstOrDefault(),
|
||||||
Background = images?.backdrops?.Where(x => lang.Equals(x?.iso_639_1, StringComparison.InvariantCultureIgnoreCase))?.OrderByDescending(x => x.vote_count)?.Select(x => x.file_path)?.FirstOrDefault(),
|
Background = images?.backdrops?.Where(x => lang.Equals(x?.iso_639_1, StringComparison.InvariantCultureIgnoreCase))?.OrderByDescending(x => x.vote_count)?.Select(x => x.file_path)?.FirstOrDefault(),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue