transfer sharing status

This commit is contained in:
Tsubasahane
2025-12-28 19:54:26 +08:00
parent 717d8e46f1
commit a533fca195
3 changed files with 17 additions and 3 deletions

View File

@@ -1276,9 +1276,16 @@ public partial class LightlessHub
}
[Authorize(Policy = "Identified")]
public async Task<List<LocationWithTimeDto>> RequestAllLocationInfo()
public async Task<(List<LocationWithTimeDto>, List<SharingStatusDto>)> RequestAllLocationInfo()
{
_logger.LogCallInfo();
var locationWithTime = await GetLocationWithTime().ConfigureAwait(false);
var sharingStatus = await GetSharingStatus().ConfigureAwait(false);
return (locationWithTime, sharingStatus);
}
private async Task<List<LocationWithTimeDto>> GetLocationWithTime()
{
var dictionary = await DbContext.Permissions.AsNoTracking()
.Where(x => x.OtherUserUID == UserUID && x.ShareLocationUntil > DateTimeOffset.UtcNow)
.ToDictionaryAsync(x => x.UserUID, x => x.ShareLocationUntil, cancellationToken: RequestAbortedToken)
@@ -1304,6 +1311,14 @@ public partial class LightlessHub
return result;
}
private async Task<List<SharingStatusDto>> GetSharingStatus()
{
return await DbContext.Permissions.AsNoTracking()
.Where(x => x.UserUID == UserUID && x.ShareLocationUntil > DateTimeOffset.UtcNow)
.Select(x => new SharingStatusDto(new UserData(x.OtherUserUID), x.ShareLocationUntil))
.ToListAsync(cancellationToken: RequestAbortedToken).ConfigureAwait(false);
}
[Authorize(Policy = "Identified")]

View File

@@ -151,7 +151,6 @@ public static class Extensions
perm.SetDisableVFX(permissions.DisableVFX);
if (setSticky)
perm.SetSticky(permissions.Sticky);
perm.SetShareLocation(permissions.ShareLocationUntil > DateTimeOffset.UtcNow);
return perm;
}
}