Show member groups on member card

This commit is contained in:
Ske
2020-07-18 13:26:36 +02:00
parent ec9ee5c794
commit f47d366c8d
2 changed files with 15 additions and 3 deletions

View File

@@ -43,13 +43,18 @@ namespace PluralKit.Core
{
var query = new StringBuilder("select count(*) from group_members");
if (privacyFilter != null)
query.Append(" left join members on group_members.member_id = members.id");
query.Append(" inner join members on group_members.member_id = members.id");
query.Append(" where group_members.group_id = @Id");
if (privacyFilter != null)
query.Append(" and members.member_visibility = @PrivacyFilter");
return conn.QuerySingleOrDefaultAsync<int>(query.ToString(), new {Id = id, PrivacyFilter = privacyFilter});
}
public static Task<IEnumerable<PKGroup>> QueryMemberGroups(this IPKConnection conn, MemberId id) =>
conn.QueryAsync<PKGroup>(
"select groups.* from group_members inner join groups on group_members.group_id = groups.id where group_members.member_id = @Id",
new {Id = id});
public static Task<GuildConfig> QueryOrInsertGuildConfig(this IPKConnection conn, ulong guild) =>
conn.QueryFirstAsync<GuildConfig>("insert into servers (id) values (@guild) on conflict (id) do update set id = @guild returning *", new {guild});