From 10afbb155a0208cbbdfd8baf2a3fe589b2bbc726 Mon Sep 17 00:00:00 2001 From: RogueException Date: Sat, 12 Aug 2017 02:32:33 -0300 Subject: [PATCH] Moved StringEnum attribute to enum def --- src/Discord.Net.Core/Entities/Guilds/PermissionTarget.cs | 3 ++- src/Discord.Net.Core/Entities/Permissions/Overwrite.cs | 1 - src/Discord.Net.Core/Entities/Users/UserStatus.cs | 1 + src/Discord.Net.Rest/API/Common/Presence.cs | 1 - src/Discord.Net.Serialization/Attributes/ModelStringEnumAttribute.cs | 2 +- src/Discord.Net.Serialization/Json/DefaultJsonSerializer.cs | 2 +- 6 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Discord.Net.Core/Entities/Guilds/PermissionTarget.cs b/src/Discord.Net.Core/Entities/Guilds/PermissionTarget.cs index f0faaefb8..3b3e496ef 100644 --- a/src/Discord.Net.Core/Entities/Guilds/PermissionTarget.cs +++ b/src/Discord.Net.Core/Entities/Guilds/PermissionTarget.cs @@ -2,11 +2,12 @@ namespace Discord { + [ModelStringEnum] public enum PermissionTarget { [ModelEnumValue("role")] Role, - [ModelEnumValue("user")] + [ModelEnumValue("member")] User } } diff --git a/src/Discord.Net.Core/Entities/Permissions/Overwrite.cs b/src/Discord.Net.Core/Entities/Permissions/Overwrite.cs index 3531d6147..b43302e52 100644 --- a/src/Discord.Net.Core/Entities/Permissions/Overwrite.cs +++ b/src/Discord.Net.Core/Entities/Permissions/Overwrite.cs @@ -7,7 +7,6 @@ namespace Discord /// Gets the unique identifier for the object this overwrite is targeting. public ulong TargetId { get; } /// Gets the type of object this overwrite is targeting. - [ModelStringEnum] public PermissionTarget TargetType { get; } /// Gets the permissions associated with this overwrite entry. public OverwritePermissions Permissions { get; } diff --git a/src/Discord.Net.Core/Entities/Users/UserStatus.cs b/src/Discord.Net.Core/Entities/Users/UserStatus.cs index 5f9ce9df5..318ec478d 100644 --- a/src/Discord.Net.Core/Entities/Users/UserStatus.cs +++ b/src/Discord.Net.Core/Entities/Users/UserStatus.cs @@ -2,6 +2,7 @@ namespace Discord { + [ModelStringEnum] public enum UserStatus { Offline, diff --git a/src/Discord.Net.Rest/API/Common/Presence.cs b/src/Discord.Net.Rest/API/Common/Presence.cs index c6c7d3436..68dae302a 100644 --- a/src/Discord.Net.Rest/API/Common/Presence.cs +++ b/src/Discord.Net.Rest/API/Common/Presence.cs @@ -10,7 +10,6 @@ namespace Discord.API [ModelProperty("guild_id")] public Optional GuildId { get; set; } [ModelProperty("status")] - [ModelStringEnum] public UserStatus Status { get; set; } [ModelProperty("game")] public Game Game { get; set; } diff --git a/src/Discord.Net.Serialization/Attributes/ModelStringEnumAttribute.cs b/src/Discord.Net.Serialization/Attributes/ModelStringEnumAttribute.cs index 9c88a23ae..e5a141ff1 100644 --- a/src/Discord.Net.Serialization/Attributes/ModelStringEnumAttribute.cs +++ b/src/Discord.Net.Serialization/Attributes/ModelStringEnumAttribute.cs @@ -2,7 +2,7 @@ namespace Discord.Serialization { - [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)] + [AttributeUsage(AttributeTargets.Enum, AllowMultiple = false)] public class ModelStringEnumAttribute : Attribute { } diff --git a/src/Discord.Net.Serialization/Json/DefaultJsonSerializer.cs b/src/Discord.Net.Serialization/Json/DefaultJsonSerializer.cs index f31c7cb04..3e6606d27 100644 --- a/src/Discord.Net.Serialization/Json/DefaultJsonSerializer.cs +++ b/src/Discord.Net.Serialization/Json/DefaultJsonSerializer.cs @@ -52,7 +52,7 @@ namespace Discord.Serialization.Json AddGenericConverter(typeof(Converters.ArrayPropertyConverter<>), //Arrays (type, prop) => type.IsArray, innerType => innerType.GetElementType()); AddGenericConverter(typeof(Converters.StringEnumPropertyConverter<>), //Enums : string - (type, prop) => type.IsEnum && prop.GetCustomAttribute() != null); + (type, prop) => type.IsEnum && type.GetCustomAttribute() != null); AddGenericConverter(typeof(Converters.Int64EnumPropertyConverter<>), //Enums : sbyte/short/int/long (type, prop) => type.IsEnum && IsSignedEnum(Enum.GetUnderlyingType(type.AsType()))); AddGenericConverter(typeof(Converters.UInt64EnumPropertyConverter<>), //Enums: byte/ushort/uint/ulong