Prevent nesting workaround for level activity from messing with global activity

This commit is contained in:
Slendy 2023-07-28 17:59:06 -05:00
commit 29e3f8661d
No known key found for this signature in database
GPG key ID: 7288D68361B91428
2 changed files with 4 additions and 4 deletions

View file

@ -295,7 +295,7 @@ public class ActivityController : ControllerBase
[HttpGet("slot/{slotType}/{slotId:int}")]
[HttpGet("user2/{username}")]
public async Task<IActionResult> SlotActivity(string? slotType, int slotId, string? username, long? timestamp)
public async Task<IActionResult> LocalActivity(string? slotType, int slotId, string? username, long? timestamp)
{
GameTokenEntity token = this.GetToken();
@ -344,6 +344,6 @@ public class ActivityController : ControllerBase
return this.Ok(GameStream.CreateFromGroups(token,
outerGroups,
times.Start.ToUnixTimeMilliseconds(),
oldestTimestamp));
oldestTimestamp, isLevelActivity));
}
}

View file

@ -99,7 +99,7 @@ public class GameStream : ILbpSerializable, INeedsPreparationForSerialization
}
public static GameStream CreateFromGroups
(GameTokenEntity token, List<OuterActivityGroup> groups, long startTimestamp, long endTimestamp)
(GameTokenEntity token, List<OuterActivityGroup> groups, long startTimestamp, long endTimestamp, bool dontNest = false)
{
GameStream gameStream = new()
{
@ -117,7 +117,7 @@ public class GameStream : ILbpSerializable, INeedsPreparationForSerialization
gameStream.Groups = groups.Select(GameStreamGroup.CreateFromGroup).ToList();
// Workaround for level activity because it shouldn't contain nested activity groups
if (gameStream.Groups.Count == 1 && groups.First().Key.GroupType == ActivityGroupType.Level)
if (gameStream.Groups.Count == 1 && groups.First().Key.GroupType == ActivityGroupType.Level && !dontNest)
{
gameStream.Groups = gameStream.Groups.First().Groups;
}