transfer sharing status
This commit is contained in:
Submodule LightlessAPI updated: f1817c5974...852e2a005f
@@ -1276,9 +1276,16 @@ public partial class LightlessHub
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Authorize(Policy = "Identified")]
|
[Authorize(Policy = "Identified")]
|
||||||
public async Task<List<LocationWithTimeDto>> RequestAllLocationInfo()
|
public async Task<(List<LocationWithTimeDto>, List<SharingStatusDto>)> RequestAllLocationInfo()
|
||||||
{
|
{
|
||||||
_logger.LogCallInfo();
|
_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()
|
var dictionary = await DbContext.Permissions.AsNoTracking()
|
||||||
.Where(x => x.OtherUserUID == UserUID && x.ShareLocationUntil > DateTimeOffset.UtcNow)
|
.Where(x => x.OtherUserUID == UserUID && x.ShareLocationUntil > DateTimeOffset.UtcNow)
|
||||||
.ToDictionaryAsync(x => x.UserUID, x => x.ShareLocationUntil, cancellationToken: RequestAbortedToken)
|
.ToDictionaryAsync(x => x.UserUID, x => x.ShareLocationUntil, cancellationToken: RequestAbortedToken)
|
||||||
@@ -1304,6 +1311,14 @@ public partial class LightlessHub
|
|||||||
return result;
|
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")]
|
[Authorize(Policy = "Identified")]
|
||||||
|
|||||||
@@ -151,7 +151,6 @@ public static class Extensions
|
|||||||
perm.SetDisableVFX(permissions.DisableVFX);
|
perm.SetDisableVFX(permissions.DisableVFX);
|
||||||
if (setSticky)
|
if (setSticky)
|
||||||
perm.SetSticky(permissions.Sticky);
|
perm.SetSticky(permissions.Sticky);
|
||||||
perm.SetShareLocation(permissions.ShareLocationUntil > DateTimeOffset.UtcNow);
|
|
||||||
return perm;
|
return perm;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user