1
0
mirror of https://github.com/CyberL1/MyMcRealms.git synced 2024-09-16 15:02:53 -04:00

feat: send dummy world's slots list

This commit is contained in:
CyberL1 2024-06-12 11:32:00 +02:00
parent 5ca12b1530
commit 87a5fce41d
3 changed files with 32 additions and 3 deletions

View File

@ -2,7 +2,9 @@
using MyMcRealms.Attributes;
using MyMcRealms.MyMcAPI.Responses;
using MyMcRealms.Responses;
using Newtonsoft.Json;
using Semver;
using System.Text.Json;
namespace MyMcRealms.Controllers
{
@ -72,7 +74,7 @@ namespace MyMcRealms.Controllers
}
}
ServersResponse servers = new()
ServersResponse servers = new()
{
Servers = allWorlds
};
@ -113,6 +115,12 @@ namespace MyMcRealms.Controllers
whitelistedPlayers.Add(whitelistedPlayer);
}
string cookie = Request.Headers.Cookie;
string gameVerision = cookie.Split(";")[2].Split("=")[1];
int versionsCompared = SemVersion.Parse(gameVerision, SemVersionStyles.OptionalPatch).ComparePrecedenceTo(SemVersion.Parse(world.GameVersion, SemVersionStyles.OptionalPatch));
string isCompatible = versionsCompared == 0 ? "COMPATIBLE" : versionsCompared < 0 ? "NEEDS_DOWNGRADE" : "NEEDS_UPGRADE";
WorldResponse response = new()
{
Id = wId,
@ -132,7 +140,20 @@ namespace MyMcRealms.Controllers
DaysLeft = 7,
Expired = false,
ExpiredTrial = false,
ActiveVersion = world.GameVersion
ActiveVersion = world.GameVersion,
Slots =
[
new()
{
SlotId = 1,
Options = JsonConvert.SerializeObject(new
{
slotName = "my-mc.link",
version = world.GameVersion,
compatibility = isCompatible,
})
}
]
};
return Ok(response);

View File

@ -0,0 +1,8 @@
namespace MyMcRealms.Responses
{
public class SlotResponse
{
public int SlotId { get; set; }
public string Options { get; set; } = null!;
}
}

View File

@ -18,7 +18,7 @@ namespace MyMcRealms.Responses
public int? MinigameId { get; set; }
public string? MinigameImage { get; set; }
public int ActiveSlot { get; set; } = 1;
public JsonDocument[] Slots { get; set; } = [];
public List<SlotResponse> Slots { get; set; } = [];
public bool Member { get; set; } = false;
public string RemoteSubscriptionId { get; set; } = Guid.NewGuid().ToString();
public int DaysLeft { get; set; } = 30;