From 210020ece561d6f74e7af5482e680731881805a3 Mon Sep 17 00:00:00 2001 From: "t.ruspekhofer" Date: Sun, 27 Feb 2022 00:45:14 +0100 Subject: [PATCH] limited string lengths --- Lieb/Models/GuildWars2/GuildWars2Account.cs | 3 +++ Lieb/Models/GuildWars2/GuildWars2Build.cs | 7 ++++++- Lieb/Models/GuildWars2/Raid/PlannedRaidRole.cs | 12 ++++++++++-- Lieb/Models/GuildWars2/Raid/Raid.cs | 5 +++++ Lieb/Models/GuildWars2/Raid/RaidReminder.cs | 6 +++++- Lieb/Models/LiebRole.cs | 6 +++++- Lieb/Models/LiebUser.cs | 8 ++++++++ 7 files changed, 42 insertions(+), 5 deletions(-) diff --git a/Lieb/Models/GuildWars2/GuildWars2Account.cs b/Lieb/Models/GuildWars2/GuildWars2Account.cs index 7db88e4..2e75667 100644 --- a/Lieb/Models/GuildWars2/GuildWars2Account.cs +++ b/Lieb/Models/GuildWars2/GuildWars2Account.cs @@ -5,10 +5,13 @@ namespace Lieb.Models.GuildWars2 public class GuildWars2Account { public int GuildWars2AccountId { get; set; } + public string ApiKey { get; set; } = string.Empty; + [Required] [RegularExpression("^[a-zA-z ]{3,27}\\.[0-9]{4}$", ErrorMessage = "Invalid Account Name")] public string AccountName { get; set; } = string.Empty; + public ICollection EquippedBuilds { get; set; } = new List(); } diff --git a/Lieb/Models/GuildWars2/GuildWars2Build.cs b/Lieb/Models/GuildWars2/GuildWars2Build.cs index a7baf73..d5383d5 100644 --- a/Lieb/Models/GuildWars2/GuildWars2Build.cs +++ b/Lieb/Models/GuildWars2/GuildWars2Build.cs @@ -1,4 +1,6 @@ -namespace Lieb.Models.GuildWars2 +using System.ComponentModel.DataAnnotations; + +namespace Lieb.Models.GuildWars2 { public enum Role { @@ -67,6 +69,9 @@ public class GuildWars2Build { public int GuildWars2BuildId { get; set; } + + [Required] + [StringLength(60, ErrorMessage = "BuildName too long (60 character limit).")] public string BuildName { get; set; } = String.Empty; public short Might { get; set; } diff --git a/Lieb/Models/GuildWars2/Raid/PlannedRaidRole.cs b/Lieb/Models/GuildWars2/Raid/PlannedRaidRole.cs index ece5e44..a148ef2 100644 --- a/Lieb/Models/GuildWars2/Raid/PlannedRaidRole.cs +++ b/Lieb/Models/GuildWars2/Raid/PlannedRaidRole.cs @@ -1,10 +1,18 @@ -namespace Lieb.Models.GuildWars2.Raid +using System.ComponentModel.DataAnnotations; + +namespace Lieb.Models.GuildWars2.Raid { public class PlannedRaidRole { public int PlannedRaidRoleId { get; set; } - public string Name { get; set; } = String.Empty; public int Spots { get; set; } + + [Required] + [StringLength(40, ErrorMessage = "Name too long (40 character limit).")] + public string Name { get; set; } = String.Empty; + + [Required] + [StringLength(200, ErrorMessage = "Description too long (200 character limit).")] public string Description { get; set; } = String.Empty; } } diff --git a/Lieb/Models/GuildWars2/Raid/Raid.cs b/Lieb/Models/GuildWars2/Raid/Raid.cs index e68d848..585be25 100644 --- a/Lieb/Models/GuildWars2/Raid/Raid.cs +++ b/Lieb/Models/GuildWars2/Raid/Raid.cs @@ -15,9 +15,11 @@ namespace Lieb.Models.GuildWars2.Raid public int RaidId { get; private set; } [Required] + [StringLength(100, ErrorMessage = "Title too long (100 character limit).")] public string Title { get; set; } = String.Empty; [Required] + [StringLength(1000, ErrorMessage = "Description too long (1000 character limit).")] public string Description { get; set; } = String.Empty; [Required] @@ -30,12 +32,15 @@ namespace Lieb.Models.GuildWars2.Raid public DateTimeOffset EndTime { get; set; } [Required] + [StringLength(50, ErrorMessage = "Organizer too long (50 character limit).")] public string Organizer { get; set; } = String.Empty; [Required] + [StringLength(50, ErrorMessage = "Guild too long (50 character limit).")] public string Guild { get; set; } = String.Empty; [Required] + [StringLength(50, ErrorMessage = "VoiceChat too long (50 character limit).")] public string VoiceChat { get; set; } = String.Empty; [Required] diff --git a/Lieb/Models/GuildWars2/Raid/RaidReminder.cs b/Lieb/Models/GuildWars2/Raid/RaidReminder.cs index d4b9599..f3fd2ff 100644 --- a/Lieb/Models/GuildWars2/Raid/RaidReminder.cs +++ b/Lieb/Models/GuildWars2/Raid/RaidReminder.cs @@ -1,4 +1,6 @@ -namespace Lieb.Models.GuildWars2.Raid +using System.ComponentModel.DataAnnotations; + +namespace Lieb.Models.GuildWars2.Raid { public class RaidReminder { @@ -20,6 +22,8 @@ public ReminderType Type { get; set; } + [Required] + [StringLength(1000, ErrorMessage = "Message too long (1000 character limit).")] public string Message { get; set; } public double HoursBeforeRaid { get; set; } diff --git a/Lieb/Models/LiebRole.cs b/Lieb/Models/LiebRole.cs index aafdda2..da76fac 100644 --- a/Lieb/Models/LiebRole.cs +++ b/Lieb/Models/LiebRole.cs @@ -1,9 +1,13 @@ -namespace Lieb.Models +using System.ComponentModel.DataAnnotations; + +namespace Lieb.Models { public class LiebRole { public int LiebRoleId { get; set; } + [Required] + [StringLength(40, ErrorMessage = "RoleName too long (40 character limit).")] public string RoleName { get; set; } = string.Empty; public ICollection RoleAssignments { get; set; } = new List(); diff --git a/Lieb/Models/LiebUser.cs b/Lieb/Models/LiebUser.cs index 4ae1358..76fb765 100644 --- a/Lieb/Models/LiebUser.cs +++ b/Lieb/Models/LiebUser.cs @@ -1,4 +1,5 @@ using Lieb.Models.GuildWars2; +using System.ComponentModel.DataAnnotations; namespace Lieb.Models { @@ -6,8 +7,15 @@ namespace Lieb.Models { public int LiebUserId { get; set; } public ulong DiscordUserId { get; set; } + + [Required] + [StringLength(40, ErrorMessage = "Name too long (40 character limit).")] public string Name { get; set; } = string.Empty; + + [Required] + [StringLength(60, ErrorMessage = "Pronouns too long (60 character limit).")] public string Pronouns { get; set; } = string.Empty; + public DateTime? Birthday { get; set; } public DateTime? BannedUntil { get; set; } public ICollection GuildWars2Accounts { get; set; } = new List();