feat: enums

This commit is contained in:
CyberL1 2024-05-23 12:58:02 +02:00
parent e05a82d4bc
commit 62864d58e1
12 changed files with 91 additions and 28 deletions

View File

@ -1,9 +0,0 @@
namespace Minecraft_Realms_Emulator
{
public enum Compatility
{
COMPATIBLE,
OTHER,
OUTDATED
}
}

View File

@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Minecraft_Realms_Emulator.Attributes; using Minecraft_Realms_Emulator.Attributes;
using Minecraft_Realms_Emulator.Data; using Minecraft_Realms_Emulator.Data;
using Minecraft_Realms_Emulator.Enums;
using Minecraft_Realms_Emulator.Helpers; using Minecraft_Realms_Emulator.Helpers;
using Minecraft_Realms_Emulator.Responses; using Minecraft_Realms_Emulator.Responses;
@ -27,14 +28,14 @@ namespace Minecraft_Realms_Emulator.Controllers
[HttpGet("client/compatible")] [HttpGet("client/compatible")]
public ActionResult<string> GetCompatible() public ActionResult<string> GetCompatible()
{ {
return Ok("COMPATIBLE"); return Ok(nameof(VersionCompatibilityEnum.COMPATIBLE));
} }
[HttpGet("v1/news")] [HttpGet("v1/news")]
public ActionResult<NewsResponse> GetNews() public ActionResult<NewsResponse> GetNews()
{ {
var config = new ConfigHelper(_context); var config = new ConfigHelper(_context);
var newsLink = config.GetSetting("newsLink"); var newsLink = config.GetSetting(nameof(SettingsEnum.newsLink));
var news = new NewsResponse var news = new NewsResponse
{ {

View File

@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Minecraft_Realms_Emulator.Attributes; using Minecraft_Realms_Emulator.Attributes;
using Minecraft_Realms_Emulator.Data; using Minecraft_Realms_Emulator.Data;
using Minecraft_Realms_Emulator.Enums;
using Minecraft_Realms_Emulator.Helpers; using Minecraft_Realms_Emulator.Helpers;
namespace Minecraft_Realms_Emulator.Controllers namespace Minecraft_Realms_Emulator.Controllers
@ -21,7 +22,7 @@ namespace Minecraft_Realms_Emulator.Controllers
public ActionResult<bool> GetTrial() public ActionResult<bool> GetTrial()
{ {
var config = new ConfigHelper(_context); var config = new ConfigHelper(_context);
var trialMode = config.GetSetting("trialMode"); var trialMode = config.GetSetting(nameof(SettingsEnum.trialMode));
return Ok(trialMode.Value); return Ok(trialMode.Value);
} }

View File

@ -3,6 +3,7 @@ using Microsoft.EntityFrameworkCore;
using Minecraft_Realms_Emulator.Attributes; using Minecraft_Realms_Emulator.Attributes;
using Minecraft_Realms_Emulator.Data; using Minecraft_Realms_Emulator.Data;
using Minecraft_Realms_Emulator.Entities; using Minecraft_Realms_Emulator.Entities;
using Minecraft_Realms_Emulator.Enums;
using Minecraft_Realms_Emulator.Helpers; using Minecraft_Realms_Emulator.Helpers;
using Minecraft_Realms_Emulator.Requests; using Minecraft_Realms_Emulator.Requests;
using Minecraft_Realms_Emulator.Responses; using Minecraft_Realms_Emulator.Responses;
@ -45,8 +46,8 @@ namespace Minecraft_Realms_Emulator.Controllers
OwnerUUID = playerUUID, OwnerUUID = playerUUID,
Name = null, Name = null,
Motd = null, Motd = null,
State = "UNINITIALIZED", State = nameof(StateEnum.UNINITIALIZED),
WorldType = "NORMAL", WorldType = nameof(WorldTypeEnum.NORMAL),
MaxPlayers = 10, MaxPlayers = 10,
MinigameId = null, MinigameId = null,
MinigameName = null, MinigameName = null,
@ -66,7 +67,7 @@ namespace Minecraft_Realms_Emulator.Controllers
Slot activeSlot = world.Slots.Find(s => s.SlotId == world.ActiveSlot); Slot activeSlot = world.Slots.Find(s => s.SlotId == world.ActiveSlot);
int versionsCompared = SemVersion.Parse(gameVersion, SemVersionStyles.Strict).ComparePrecedenceTo(SemVersion.Parse(activeSlot?.Version ?? gameVersion, SemVersionStyles.Strict)); int versionsCompared = SemVersion.Parse(gameVersion, SemVersionStyles.Strict).ComparePrecedenceTo(SemVersion.Parse(activeSlot?.Version ?? gameVersion, SemVersionStyles.Strict));
string isCompatible = versionsCompared == 0 ? "COMPATIBLE" : versionsCompared < 0 ? "NEEDS_DOWNGRADE" : "NEEDS_UPGRADE"; string isCompatible = versionsCompared == 0 ? nameof(CompatibilityEnum.COMPATIBLE) : versionsCompared < 0 ? nameof(CompatibilityEnum.NEEDS_DOWNGRADE) : nameof(CompatibilityEnum.NEEDS_UPGRADE);
WorldResponse response = new() WorldResponse response = new()
{ {
@ -103,7 +104,7 @@ namespace Minecraft_Realms_Emulator.Controllers
Slot activeSlot = world.Slots.Find(s => s.SlotId == world.ActiveSlot); Slot activeSlot = world.Slots.Find(s => s.SlotId == world.ActiveSlot);
int versionsCompared = SemVersion.Parse(gameVersion, SemVersionStyles.OptionalPatch).ComparePrecedenceTo(SemVersion.Parse(activeSlot.Version, SemVersionStyles.OptionalPatch)); int versionsCompared = SemVersion.Parse(gameVersion, SemVersionStyles.OptionalPatch).ComparePrecedenceTo(SemVersion.Parse(activeSlot.Version, SemVersionStyles.OptionalPatch));
string isCompatible = versionsCompared == 0 ? "COMPATIBLE" : versionsCompared < 0 ? "NEEDS_DOWNGRADE" : "NEEDS_UPGRADE"; string isCompatible = versionsCompared == 0 ? nameof(CompatibilityEnum.COMPATIBLE) : versionsCompared < 0 ? nameof(CompatibilityEnum.NEEDS_DOWNGRADE) : nameof(CompatibilityEnum.NEEDS_UPGRADE);
WorldResponse response = new() WorldResponse response = new()
{ {
@ -157,7 +158,7 @@ namespace Minecraft_Realms_Emulator.Controllers
foreach (var slot in world.Slots) foreach (var slot in world.Slots)
{ {
int versionsCompared = SemVersion.Parse(gameVersion, SemVersionStyles.OptionalPatch).ComparePrecedenceTo(SemVersion.Parse(slot.Version, SemVersionStyles.OptionalPatch)); int versionsCompared = SemVersion.Parse(gameVersion, SemVersionStyles.OptionalPatch).ComparePrecedenceTo(SemVersion.Parse(slot.Version, SemVersionStyles.OptionalPatch));
string compatibility = versionsCompared == 0 ? "COMPATIBLE" : versionsCompared < 0 ? "NEEDS_DOWNGRADE" : "NEEDS_UPGRADE"; string compatibility = versionsCompared == 0 ? nameof(CompatibilityEnum.COMPATIBLE) : versionsCompared < 0 ? nameof(CompatibilityEnum.NEEDS_DOWNGRADE) : nameof(CompatibilityEnum.NEEDS_UPGRADE);
slots.Add(new SlotResponse() slots.Add(new SlotResponse()
{ {
@ -221,17 +222,17 @@ namespace Minecraft_Realms_Emulator.Controllers
var world = worlds.Find(w => w.Id == wId); var world = worlds.Find(w => w.Id == wId);
if (world == null) return NotFound("World not found"); if (world == null) return NotFound("World not found");
if (world.State != "UNINITIALIZED") return NotFound("World already initialized"); if (world.State != nameof(StateEnum.UNINITIALIZED)) return NotFound("World already initialized");
var subscription = new Subscription var subscription = new Subscription
{ {
StartDate = DateTime.UtcNow, StartDate = DateTime.UtcNow,
SubscriptionType = "NORMAL" SubscriptionType = nameof(SubscriptionTypeEnum.NORMAL)
}; };
world.Name = body.Name; world.Name = body.Name;
world.Motd = body.Description; world.Motd = body.Description;
world.State = "OPEN"; world.State = nameof(StateEnum.OPEN);
world.Subscription = subscription; world.Subscription = subscription;
var config = new ConfigHelper(_context); var config = new ConfigHelper(_context);
@ -289,7 +290,7 @@ namespace Minecraft_Realms_Emulator.Controllers
if (world == null) return NotFound("World not found"); if (world == null) return NotFound("World not found");
world.State = "OPEN"; world.State = nameof(StateEnum.OPEN);
_context.SaveChanges(); _context.SaveChanges();
@ -306,7 +307,7 @@ namespace Minecraft_Realms_Emulator.Controllers
if (world == null) return NotFound("World not found"); if (world == null) return NotFound("World not found");
world.State = "CLOSED"; world.State = nameof(StateEnum.CLOSED);
_context.SaveChanges(); _context.SaveChanges();

View File

@ -0,0 +1,11 @@
namespace Minecraft_Realms_Emulator.Enums
{
public enum CompatibilityEnum
{
UNVERIFIABLE,
INCOMPATIBLE,
NEEDS_DOWNGRADE,
NEEDS_UPGRADE,
COMPATIBLE
}
}

View File

@ -0,0 +1,9 @@
namespace Minecraft_Realms_Emulator.Enums
{
public enum SettingsEnum
{
newsLink,
defaultServerAddress,
trialMode
}
}

View File

@ -0,0 +1,9 @@
namespace Minecraft_Realms_Emulator.Enums
{
public enum StateEnum
{
CLOSED,
OPEN,
UNINITIALIZED
}
}

View File

@ -0,0 +1,8 @@
namespace Minecraft_Realms_Emulator.Enums
{
public enum SubscriptionTypeEnum
{
NORMAL,
RECURRING
}
}

View File

@ -0,0 +1,9 @@
namespace Minecraft_Realms_Emulator.Enums
{
public enum VersionCompatibilityEnum
{
COMPATIBLE,
OUTDATED,
OTHER
}
}

View File

@ -0,0 +1,11 @@
namespace Minecraft_Realms_Emulator.Enums
{
public enum WorldTemplateTypeEnum
{
WORLD_TEMPLATE,
MINIGAME,
ADVENTUREMAP,
EXPERIENCE,
INSPIRATION
}
}

View File

@ -0,0 +1,11 @@
namespace Minecraft_Realms_Emulator.Enums
{
public enum WorldTypeEnum
{
NORMAL,
MINIGAME,
ADVENTUREMAP,
EXPERIENCE,
INSPIRATION
}
}

View File

@ -1,6 +1,7 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Minecraft_Realms_Emulator.Data; using Minecraft_Realms_Emulator.Data;
using Minecraft_Realms_Emulator.Entities; using Minecraft_Realms_Emulator.Entities;
using Minecraft_Realms_Emulator.Enums;
using Minecraft_Realms_Emulator.Helpers.Config; using Minecraft_Realms_Emulator.Helpers.Config;
using Newtonsoft.Json; using Newtonsoft.Json;
@ -18,29 +19,29 @@ namespace Minecraft_Realms_Emulator.Helpers
var config = new ConfigHelper(db); var config = new ConfigHelper(db);
var settings = new Settings(); var settings = new Settings();
if (config.GetSetting("newsLink") == null) if (config.GetSetting(nameof(SettingsEnum.newsLink)) == null)
{ {
db.Configuration.Add(new Configuration db.Configuration.Add(new Configuration
{ {
Key = "newsLink", Key = nameof(SettingsEnum.newsLink),
Value = JsonConvert.SerializeObject(settings.NewsLink) Value = JsonConvert.SerializeObject(settings.NewsLink)
}); });
} }
if (config.GetSetting("defaultServerAddress") == null) if (config.GetSetting(nameof(SettingsEnum.defaultServerAddress)) == null)
{ {
db.Configuration.Add(new Configuration db.Configuration.Add(new Configuration
{ {
Key = "defaultServerAddress", Key = nameof(SettingsEnum.defaultServerAddress),
Value = JsonConvert.SerializeObject(settings.DefaultServerAddress) Value = JsonConvert.SerializeObject(settings.DefaultServerAddress)
}); });
} }
if (config.GetSetting("trialMode") == null) if (config.GetSetting(nameof(SettingsEnum.trialMode)) == null)
{ {
db.Configuration.Add(new Configuration db.Configuration.Add(new Configuration
{ {
Key = "trialMode", Key = nameof(SettingsEnum.trialMode),
Value = JsonConvert.SerializeObject(settings.TrialMode) Value = JsonConvert.SerializeObject(settings.TrialMode)
}); });
} }