@@ -6,25 +6,19 @@ namespace Discord.Rest
/// <summary> Represents additional information regarding the REST-based invite object. </summary>
/// <summary> Represents additional information regarding the REST-based invite object. </summary>
public class RestInviteMetadata : RestInvite, IInviteMetadata
public class RestInviteMetadata : RestInvite, IInviteMetadata
{
{
private long? _createdAtTicks;
private long _createdAtTicks;
/// <inheritdoc />
public bool IsRevoked { get; private set; }
/// <inheritdoc />
/// <inheritdoc />
public bool IsTemporary { get; private set; }
public bool IsTemporary { get; private set; }
/// <inheritdoc />
/// <inheritdoc />
public int? MaxAge { get; private set; }
public int MaxAge { get; private set; }
/// <inheritdoc />
/// <inheritdoc />
public int? MaxUses { get; private set; }
public int MaxUses { get; private set; }
/// <inheritdoc />
/// <inheritdoc />
public int? Uses { get; private set; }
/// <summary>
/// Gets the user that created this invite.
/// </summary>
public RestUser Inviter { get; private set; }
public int Uses { get; private set; }
/// <inheritdoc />
/// <inheritdoc />
public DateTimeOffset? CreatedAt => DateTimeUtils.FromTicks(_createdAtTicks);
public DateTimeOffset CreatedAt => DateTimeUtils.FromTicks(_createdAtTicks);
internal RestInviteMetadata(BaseDiscordClient discord, IGuild guild, IChannel channel, string id)
internal RestInviteMetadata(BaseDiscordClient discord, IGuild guild, IChannel channel, string id)
: base(discord, guild, channel, id)
: base(discord, guild, channel, id)
@@ -39,16 +33,11 @@ namespace Discord.Rest
internal void Update(Model model)
internal void Update(Model model)
{
{
base.Update(model);
base.Update(model);
Inviter = model.Inviter != null ? RestUser.Create(Discord, model.Inviter) : null;
IsRevoked = model.Revoked;
IsTemporary = model.Temporary;
IsTemporary = model.Temporary;
MaxAge = model.MaxAge.IsSpecified ? model.MaxAge.Value : (int?)null ;
MaxUses = model.MaxUses.IsSpecified ? model.MaxUses.Value : (int?)null ;
Uses = model.Uses.IsSpecified ? model.Uses.Value : (int?)null ;
_createdAtTicks = model.CreatedAt.IsSpecified ? model.CreatedAt.Value. UtcTicks : (long?)null ;
MaxAge = model.MaxAge;
MaxUses = model.MaxUses;
Uses = model.Uses;
_createdAtTicks = model.CreatedAt.UtcTicks;
}
}
/// <inheritdoc />
IUser IInviteMetadata.Inviter => Inviter;
}
}
}
}