Luski.Net/Luski.net/API.cs

35 lines
1.0 KiB
C#
Raw Normal View History

using System.Collections.Generic;
using System.Linq;
using Luski.net.Enums;
using Luski.net.Structures.Main;
using Luski.net.Structures.Public;
namespace Luski.net;
public class API
{
public MainServer MainServer { get; internal set; }
internal List<PublicServer> InternalServers { get; } = new();
public IReadOnlyList<PublicServer> LoadedServers => InternalServers.AsReadOnly();
public PublicServer GetPublicServer(string Domain, string Version = "v1")
{
IEnumerable<PublicServer> isl = InternalServers.Where(a => (a.Domain == Domain && a.ApiVersion == Version));
if (isl.Any()) return isl.First();
PublicServer s = new(Domain, Version)
{
ServerType = ServerType.Public
};
InternalServers.Add(s);
return s;
}
public MainServer GetMainServer(string Domain, string Version = "v1")
{
MainServer = new(Domain, Version)
{
ServerType = ServerType.Main
};
return MainServer;
}
}