1
1
mirror of https://github.com/CyberL1/MyMcRealms.git synced 2025-04-02 14:08:36 -04:00

Compare commits

...

2 Commits

4 changed files with 33 additions and 10 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

@ -9,15 +9,9 @@
<ItemGroup>
<PackageReference Include="DotNetEnv" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.2" />
<PackageReference Include="Semver" Version="2.3.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
</ItemGroup>
</Project>

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;