chaosbot/ChaosBot/Database/Entity/ServerConfigurationFlag.cs
Daniel-I-Am 1d9d9a8f3c
Remove unique requirement from guild id
Yes, you could only have one config flag per server...
2020-06-06 14:38:00 +02:00

42 lines
1.0 KiB
C#

using System;
using System.IO;
using System.Text;
using System.Text.Json;
using System.Xml.Serialization;
using ChaosBot.Attribute;
namespace ChaosBot.Database.Entity
{
[DBEntity("ServerConfigurationFlags")]
public class ServerConfigurationFlag<T>
{
[DBUnique]
public string key { get; }
public string serializedValue { get; }
public long guildId { get; }
public ServerConfigurationFlag(string key, T value, ulong guildId)
{
this.serializedValue = Serialize(value);
this.key = key;
this.guildId = Convert.ToInt64(guildId);
}
public T GetValue()
{
return Deserialize(serializedValue);
}
public static string Serialize(T value)
{
return JsonSerializer.Serialize(value);
}
public static T Deserialize(string serializedValue)
{
return JsonSerializer.Deserialize<T>(serializedValue);
}
}
}