mirror of
https://github.com/NoiTheCat/BirthdayBot.git
synced 2024-11-21 21:54:36 +00:00
Noi
e265cafd25
The public instance will be updated with this fix immediately. This fixes cases in which those with moderator roles are unable to use mod-only commands as intended. It also fixes a dangerous bug in which users with the birthday role assigned to them have unrestricted access to moderator commands.
44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace BirthdayBot.Data;
|
|
[Table("settings")]
|
|
public class GuildConfig {
|
|
public GuildConfig() {
|
|
BlockedUsers = new HashSet<BlocklistEntry>();
|
|
UserEntries = new HashSet<UserEntry>();
|
|
}
|
|
|
|
[Key]
|
|
[Column("guild_id")]
|
|
public long GuildId { get; set; }
|
|
[Column("role_id")]
|
|
public long? BirthdayRole { get; set; }
|
|
[Column("channel_announce_id")]
|
|
public long? AnnouncementChannel { get; set; }
|
|
[Column("time_zone")]
|
|
public string? GuildTimeZone { get; set; }
|
|
[Column("moderated")]
|
|
public bool Moderated { get; set; }
|
|
[Column("moderator_role")]
|
|
public long? ModeratorRole { get; set; }
|
|
[Column("announce_message")]
|
|
public string? AnnounceMessage { get; set; }
|
|
[Column("announce_message_pl")]
|
|
public string? AnnounceMessagePl { get; set; }
|
|
[Column("announce_ping")]
|
|
public bool AnnouncePing { get; set; }
|
|
[Column("last_seen")]
|
|
public DateTimeOffset LastSeen { get; set; }
|
|
|
|
[InverseProperty(nameof(BlocklistEntry.Guild))]
|
|
public ICollection<BlocklistEntry> BlockedUsers { get; set; }
|
|
[InverseProperty(nameof(UserEntry.Guild))]
|
|
public ICollection<UserEntry> UserEntries { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets if this instance is new and does not (yet) exist in the database.
|
|
/// </summary>
|
|
[NotMapped]
|
|
public bool IsNew { get; set; }
|
|
}
|