add limits to switch members and proxy tag length
This commit is contained in:
parent
52efb3c70a
commit
603123777d
@ -78,6 +78,8 @@ namespace PluralKit.Bot
|
|||||||
if (tagToAdd.IsEmpty) throw Errors.EmptyProxyTags(target);
|
if (tagToAdd.IsEmpty) throw Errors.EmptyProxyTags(target);
|
||||||
if (target.ProxyTags.Contains(tagToAdd))
|
if (target.ProxyTags.Contains(tagToAdd))
|
||||||
throw Errors.ProxyTagAlreadyExists(tagToAdd, target);
|
throw Errors.ProxyTagAlreadyExists(tagToAdd, target);
|
||||||
|
if (tagToAdd.ProxyString.Length > Limits.MaxProxyTagLength)
|
||||||
|
throw new PKError($"Proxy tag too long ({tagToAdd.ProxyString.Length} > {Limits.MaxProxyTagLength} characters).");
|
||||||
|
|
||||||
if (!await WarnOnConflict(tagToAdd))
|
if (!await WarnOnConflict(tagToAdd))
|
||||||
throw Errors.GenericCancelled();
|
throw Errors.GenericCancelled();
|
||||||
|
@ -40,6 +40,8 @@ namespace PluralKit.Bot
|
|||||||
// Make sure there are no dupes in the list
|
// Make sure there are no dupes in the list
|
||||||
// We do this by checking if removing duplicate member IDs results in a list of different length
|
// We do this by checking if removing duplicate member IDs results in a list of different length
|
||||||
if (members.Select(m => m.Id).Distinct().Count() != members.Count) throw Errors.DuplicateSwitchMembers;
|
if (members.Select(m => m.Id).Distinct().Count() != members.Count) throw Errors.DuplicateSwitchMembers;
|
||||||
|
if (members.Count > Limits.MaxSwitchMemberCount)
|
||||||
|
throw new PKError($"Switch contains too many members ({members.Count} > {Limits.MaxSwitchMemberCount} members).");
|
||||||
|
|
||||||
// Find the last switch and its members if applicable
|
// Find the last switch and its members if applicable
|
||||||
await using var conn = await _db.Obtain();
|
await using var conn = await _db.Obtain();
|
||||||
|
@ -9,6 +9,8 @@ namespace PluralKit.Core {
|
|||||||
public static int MaxMembersWarnThreshold (int memberLimit) => memberLimit - 50;
|
public static int MaxMembersWarnThreshold (int memberLimit) => memberLimit - 50;
|
||||||
public static readonly int MaxGroupCount = 250;
|
public static readonly int MaxGroupCount = 250;
|
||||||
public static readonly int MaxDescriptionLength = 1000;
|
public static readonly int MaxDescriptionLength = 1000;
|
||||||
|
public static readonly int MaxProxyTagLength = 100;
|
||||||
|
public static readonly int MaxSwitchMemberCount = 150;
|
||||||
public static readonly int MaxMemberNameLength = 100; // Fair bit larger than MaxProxyNameLength for bookkeeping
|
public static readonly int MaxMemberNameLength = 100; // Fair bit larger than MaxProxyNameLength for bookkeeping
|
||||||
public static readonly int MaxGroupNameLength = 100;
|
public static readonly int MaxGroupNameLength = 100;
|
||||||
public static readonly int MaxPronounsLength = 100;
|
public static readonly int MaxPronounsLength = 100;
|
||||||
|
Loading…
Reference in New Issue
Block a user