transfer sharing status
This commit is contained in:
Submodule LightlessAPI updated: f1817c5974...852e2a005f
@@ -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")]
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user