fix CharaDataGetShared
This commit is contained in:
@@ -129,7 +129,6 @@ public partial class MareHub
|
|||||||
{
|
{
|
||||||
_logger.LogCallInfo();
|
_logger.LogCallInfo();
|
||||||
|
|
||||||
var allPairs = await GetAllPairInfo(UserUID).ConfigureAwait(false);
|
|
||||||
List<CharaData> sharedCharaData = [];
|
List<CharaData> sharedCharaData = [];
|
||||||
var groups = await DbContext.GroupPairs
|
var groups = await DbContext.GroupPairs
|
||||||
.Where(u => u.GroupUserUID == UserUID)
|
.Where(u => u.GroupUserUID == UserUID)
|
||||||
@@ -138,7 +137,9 @@ public partial class MareHub
|
|||||||
.ToListAsync()
|
.ToListAsync()
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
|
|
||||||
var validPairs = await GetAllPairedUnpausedUsers().ConfigureAwait(false);
|
var pairs = (await GetAllPairInfo(UserUID).ConfigureAwait(false));
|
||||||
|
var individualPairs = pairs.Where(p => p.Value.IndividuallyPaired && (!p.Value.OwnPermissions?.IsPaused ?? false) && (!p.Value.OtherPermissions?.IsPaused ?? false)).Select(k => k.Key).ToList();
|
||||||
|
var allPairs = pairs.Where(p => (!p.Value.OwnPermissions?.IsPaused ?? false) && (!p.Value.OtherPermissions?.IsPaused ?? false)).Select(k => k.Key).ToList();
|
||||||
|
|
||||||
var allSharedDataByPair = await DbContext.CharaData
|
var allSharedDataByPair = await DbContext.CharaData
|
||||||
.Include(u => u.Files)
|
.Include(u => u.Files)
|
||||||
@@ -147,8 +148,10 @@ public partial class MareHub
|
|||||||
.Include(u => u.Poses)
|
.Include(u => u.Poses)
|
||||||
.Include(u => u.Uploader)
|
.Include(u => u.Uploader)
|
||||||
.Where(p => p.UploaderUID != UserUID && p.ShareType == CharaDataShare.Shared)
|
.Where(p => p.UploaderUID != UserUID && p.ShareType == CharaDataShare.Shared)
|
||||||
.Where(p => (validPairs.Contains(p.UploaderUID)
|
.Where(p =>
|
||||||
|| (p.AllowedIndividiuals.Any(u => u.AllowedUserUID == UserUID || (u.AllowedGroupGID != null && groups.Contains(u.AllowedGroupGID))))))
|
(individualPairs.Contains(p.UploaderUID) && p.AccessType == CharaDataAccess.Individuals
|
||||||
|
|| (allPairs.Contains(p.UploaderUID) && p.AccessType == CharaDataAccess.AllPairs)
|
||||||
|
|| (p.AllowedIndividiuals.Any(u => u.AllowedUserUID == UserUID || (u.AllowedGroupGID != null && groups.Contains(u.AllowedGroupGID))))))
|
||||||
.AsSplitQuery()
|
.AsSplitQuery()
|
||||||
.AsNoTracking()
|
.AsNoTracking()
|
||||||
.ToListAsync()
|
.ToListAsync()
|
||||||
|
|||||||
Reference in New Issue
Block a user