Merge pull request #121 from greysdawn/patch-2

Edit API to include member display names
This commit is contained in:
Astrid 2019-10-18 13:37:16 +02:00 committed by GitHub
commit 6db4106519
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 3 deletions

View File

@ -41,6 +41,8 @@ namespace PluralKit.API.Controllers
// Explicit bounds checks
if (newMember.Name != null && newMember.Name.Length > Limits.MaxMemberNameLength)
return BadRequest($"Member name too long ({newMember.Name.Length} > {Limits.MaxMemberNameLength}.");
if (newMember.DisplayName != null && newMember.DisplayName.Length > Limits.MaxMemberNameLength)
return BadRequest($"Member display name too long ({newMember.DisplayName.Length} > {Limits.MaxMemberNameLength}.");
if (newMember.Pronouns != null && newMember.Pronouns.Length > Limits.MaxPronounsLength)
return BadRequest($"Member pronouns too long ({newMember.Pronouns.Length} > {Limits.MaxPronounsLength}.");
if (newMember.Description != null && newMember.Description.Length > Limits.MaxDescriptionLength)
@ -57,6 +59,7 @@ namespace PluralKit.API.Controllers
var member = await _members.Create(system, newMember.Name);
member.Name = newMember.Name;
member.DisplayName = newMember.DisplayName;
member.Color = newMember.Color;
member.AvatarUrl = newMember.AvatarUrl;
member.Birthday = newMember.Birthday;
@ -84,6 +87,8 @@ namespace PluralKit.API.Controllers
// Explicit bounds checks
if (newMember.Name != null && newMember.Name.Length > Limits.MaxMemberNameLength)
return BadRequest($"Member name too long ({newMember.Name.Length} > {Limits.MaxMemberNameLength}.");
if (newMember.DisplayName != null && newMember.DisplayName.Length > Limits.MaxMemberNameLength)
return BadRequest($"Member display name too long ({newMember.DisplayName.Length} > {Limits.MaxMemberNameLength}.");
if (newMember.Pronouns != null && newMember.Pronouns.Length > Limits.MaxPronounsLength)
return BadRequest($"Member pronouns too long ({newMember.Pronouns.Length} > {Limits.MaxPronounsLength}.");
if (newMember.Description != null && newMember.Description.Length > Limits.MaxDescriptionLength)
@ -98,6 +103,7 @@ namespace PluralKit.API.Controllers
return BadRequest();
member.Name = newMember.Name;
member.DisplayName = newMember.DisplayName;
member.Color = newMember.Color;
member.AvatarUrl = newMember.AvatarUrl;
member.Birthday = newMember.Birthday;

View File

@ -145,7 +145,7 @@ namespace PluralKit.Bot.Commands
var members = await _members.GetBySystem(system);
var embedTitle = system.Name != null ? $"Members of {system.Name.SanitizeMentions()} (`{system.Hid}`)" : $"Members of `{system.Hid}`";
await ctx.Paginate<PKMember>(
members.OrderBy(m => m.Name).ToList(),
members.OrderBy(m => m.Name.ToLower()).ToList(),
25,
embedTitle,
(eb, ms) => eb.Description = string.Join("\n", ms.Select((m) => {
@ -161,7 +161,7 @@ namespace PluralKit.Bot.Commands
var members = await _members.GetBySystem(system);
var embedTitle = system.Name != null ? $"Members of {system.Name} (`{system.Hid}`)" : $"Members of `{system.Hid}`";
await ctx.Paginate<PKMember>(
members.OrderBy(m => m.Name).ToList(),
members.OrderBy(m => m.Name.ToLower()).ToList(),
5,
embedTitle,
(eb, ms) => {
@ -297,4 +297,4 @@ namespace PluralKit.Bot.Commands
});
}
}
}
}

View File

@ -39,6 +39,7 @@ The following three models (usually represented in JSON format) represent the va
|---|---|---|---|
|id|string|No||
|name|string?|Yes|50-character limit.|
|display name|string?|Yes|50-character limit.|
|description|string?|Yes|1000-character limit.|
|color|color?|Yes|6-char hex (eg. `ff7000`), sans `#`.|
|avatar_url|url?|Yes|Not validated server-side.|
@ -264,6 +265,7 @@ Creates a new member with the information given. Missing fields (except for name
```json
{
"name": "Craig Peterson",
"display_name": "Craig Peterson [he/they]",
"color": null,
"avatar_url": "https://path/to/new/image.png",
"birthday": "1997-07-14",
@ -279,6 +281,7 @@ Creates a new member with the information given. Missing fields (except for name
{
"id": "qwert",
"name": "Craig Peterson",
"display_name": "Craig Peterson [he/they]",
"color": null,
"avatar_url": "https://path/to/new/image.png",
"birthday": "1997-07-14",
@ -301,6 +304,7 @@ Edits a member's information. Missing fields will be set to `null`. Will return
```json
{
"name": "Craig Peterson",
"display_name": "Craig Peterson [he/they]",
"color": null,
"avatar_url": "https://path/to/new/image.png",
"birthday": "1997-07-14",
@ -316,6 +320,7 @@ Edits a member's information. Missing fields will be set to `null`. Will return
{
"id": "qwert",
"name": "Craig Peterson",
"display_name": "Craig Peterson [he/they]",
"color": null,
"avatar_url": "https://path/to/new/image.png",
"birthday": "1997-07-14",