Merge pull request #121 from greysdawn/patch-2
Edit API to include member display names
This commit is contained in:
commit
6db4106519
@ -41,6 +41,8 @@ namespace PluralKit.API.Controllers
|
|||||||
// Explicit bounds checks
|
// Explicit bounds checks
|
||||||
if (newMember.Name != null && newMember.Name.Length > Limits.MaxMemberNameLength)
|
if (newMember.Name != null && newMember.Name.Length > Limits.MaxMemberNameLength)
|
||||||
return BadRequest($"Member name too long ({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)
|
if (newMember.Pronouns != null && newMember.Pronouns.Length > Limits.MaxPronounsLength)
|
||||||
return BadRequest($"Member pronouns too long ({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)
|
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);
|
var member = await _members.Create(system, newMember.Name);
|
||||||
|
|
||||||
member.Name = newMember.Name;
|
member.Name = newMember.Name;
|
||||||
|
member.DisplayName = newMember.DisplayName;
|
||||||
member.Color = newMember.Color;
|
member.Color = newMember.Color;
|
||||||
member.AvatarUrl = newMember.AvatarUrl;
|
member.AvatarUrl = newMember.AvatarUrl;
|
||||||
member.Birthday = newMember.Birthday;
|
member.Birthday = newMember.Birthday;
|
||||||
@ -84,6 +87,8 @@ namespace PluralKit.API.Controllers
|
|||||||
// Explicit bounds checks
|
// Explicit bounds checks
|
||||||
if (newMember.Name != null && newMember.Name.Length > Limits.MaxMemberNameLength)
|
if (newMember.Name != null && newMember.Name.Length > Limits.MaxMemberNameLength)
|
||||||
return BadRequest($"Member name too long ({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)
|
if (newMember.Pronouns != null && newMember.Pronouns.Length > Limits.MaxPronounsLength)
|
||||||
return BadRequest($"Member pronouns too long ({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)
|
if (newMember.Description != null && newMember.Description.Length > Limits.MaxDescriptionLength)
|
||||||
@ -98,6 +103,7 @@ namespace PluralKit.API.Controllers
|
|||||||
return BadRequest();
|
return BadRequest();
|
||||||
|
|
||||||
member.Name = newMember.Name;
|
member.Name = newMember.Name;
|
||||||
|
member.DisplayName = newMember.DisplayName;
|
||||||
member.Color = newMember.Color;
|
member.Color = newMember.Color;
|
||||||
member.AvatarUrl = newMember.AvatarUrl;
|
member.AvatarUrl = newMember.AvatarUrl;
|
||||||
member.Birthday = newMember.Birthday;
|
member.Birthday = newMember.Birthday;
|
||||||
|
@ -145,7 +145,7 @@ namespace PluralKit.Bot.Commands
|
|||||||
var members = await _members.GetBySystem(system);
|
var members = await _members.GetBySystem(system);
|
||||||
var embedTitle = system.Name != null ? $"Members of {system.Name.SanitizeMentions()} (`{system.Hid}`)" : $"Members of `{system.Hid}`";
|
var embedTitle = system.Name != null ? $"Members of {system.Name.SanitizeMentions()} (`{system.Hid}`)" : $"Members of `{system.Hid}`";
|
||||||
await ctx.Paginate<PKMember>(
|
await ctx.Paginate<PKMember>(
|
||||||
members.OrderBy(m => m.Name).ToList(),
|
members.OrderBy(m => m.Name.ToLower()).ToList(),
|
||||||
25,
|
25,
|
||||||
embedTitle,
|
embedTitle,
|
||||||
(eb, ms) => eb.Description = string.Join("\n", ms.Select((m) => {
|
(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 members = await _members.GetBySystem(system);
|
||||||
var embedTitle = system.Name != null ? $"Members of {system.Name} (`{system.Hid}`)" : $"Members of `{system.Hid}`";
|
var embedTitle = system.Name != null ? $"Members of {system.Name} (`{system.Hid}`)" : $"Members of `{system.Hid}`";
|
||||||
await ctx.Paginate<PKMember>(
|
await ctx.Paginate<PKMember>(
|
||||||
members.OrderBy(m => m.Name).ToList(),
|
members.OrderBy(m => m.Name.ToLower()).ToList(),
|
||||||
5,
|
5,
|
||||||
embedTitle,
|
embedTitle,
|
||||||
(eb, ms) => {
|
(eb, ms) => {
|
||||||
|
@ -39,6 +39,7 @@ The following three models (usually represented in JSON format) represent the va
|
|||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
|id|string|No||
|
|id|string|No||
|
||||||
|name|string?|Yes|50-character limit.|
|
|name|string?|Yes|50-character limit.|
|
||||||
|
|display name|string?|Yes|50-character limit.|
|
||||||
|description|string?|Yes|1000-character limit.|
|
|description|string?|Yes|1000-character limit.|
|
||||||
|color|color?|Yes|6-char hex (eg. `ff7000`), sans `#`.|
|
|color|color?|Yes|6-char hex (eg. `ff7000`), sans `#`.|
|
||||||
|avatar_url|url?|Yes|Not validated server-side.|
|
|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
|
```json
|
||||||
{
|
{
|
||||||
"name": "Craig Peterson",
|
"name": "Craig Peterson",
|
||||||
|
"display_name": "Craig Peterson [he/they]",
|
||||||
"color": null,
|
"color": null,
|
||||||
"avatar_url": "https://path/to/new/image.png",
|
"avatar_url": "https://path/to/new/image.png",
|
||||||
"birthday": "1997-07-14",
|
"birthday": "1997-07-14",
|
||||||
@ -279,6 +281,7 @@ Creates a new member with the information given. Missing fields (except for name
|
|||||||
{
|
{
|
||||||
"id": "qwert",
|
"id": "qwert",
|
||||||
"name": "Craig Peterson",
|
"name": "Craig Peterson",
|
||||||
|
"display_name": "Craig Peterson [he/they]",
|
||||||
"color": null,
|
"color": null,
|
||||||
"avatar_url": "https://path/to/new/image.png",
|
"avatar_url": "https://path/to/new/image.png",
|
||||||
"birthday": "1997-07-14",
|
"birthday": "1997-07-14",
|
||||||
@ -301,6 +304,7 @@ Edits a member's information. Missing fields will be set to `null`. Will return
|
|||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"name": "Craig Peterson",
|
"name": "Craig Peterson",
|
||||||
|
"display_name": "Craig Peterson [he/they]",
|
||||||
"color": null,
|
"color": null,
|
||||||
"avatar_url": "https://path/to/new/image.png",
|
"avatar_url": "https://path/to/new/image.png",
|
||||||
"birthday": "1997-07-14",
|
"birthday": "1997-07-14",
|
||||||
@ -316,6 +320,7 @@ Edits a member's information. Missing fields will be set to `null`. Will return
|
|||||||
{
|
{
|
||||||
"id": "qwert",
|
"id": "qwert",
|
||||||
"name": "Craig Peterson",
|
"name": "Craig Peterson",
|
||||||
|
"display_name": "Craig Peterson [he/they]",
|
||||||
"color": null,
|
"color": null,
|
||||||
"avatar_url": "https://path/to/new/image.png",
|
"avatar_url": "https://path/to/new/image.png",
|
||||||
"birthday": "1997-07-14",
|
"birthday": "1997-07-14",
|
||||||
|
Loading…
Reference in New Issue
Block a user