diff --git a/util/src/entities/Guild.ts b/util/src/entities/Guild.ts
index 14bf1637..029a1b0b 100644
--- a/util/src/entities/Guild.ts
+++ b/util/src/entities/Guild.ts
@@ -53,7 +53,15 @@ import { Webhook } from "./Webhook";
// "Gacha"
// ],
-export const PublicGuildRelations = ["channels", "emojis", "members", "roles", "stickers", "voice_states"];
+export const PublicGuildRelations = [
+ "channels",
+ "emojis",
+ "members",
+ "roles",
+ "stickers",
+ "voice_states",
+ "members.user",
+];
@Entity("guilds")
export class Guild extends BaseClass {
diff --git a/util/src/entities/Invite.ts b/util/src/entities/Invite.ts
index 01e22294..afad9c02 100644
--- a/util/src/entities/Invite.ts
+++ b/util/src/entities/Invite.ts
@@ -4,6 +4,8 @@ import { Channel } from "./Channel";
import { Guild } from "./Guild";
import { User } from "./User";
+export const PublicInviteRelation = ["inviter", "guild", "channel"];
+
@Entity("invites")
export class Invite extends BaseClass {
@PrimaryColumn()
diff --git a/util/src/entities/Member.ts b/util/src/entities/Member.ts
index 8f391af3..66f5d9a1 100644
--- a/util/src/entities/Member.ts
+++ b/util/src/entities/Member.ts
@@ -24,7 +24,6 @@ import {
} from "../interfaces";
import { HTTPError } from "lambert-server";
import { Role } from "./Role";
-import { Snowflake } from "../util/Snowflake";
import { BaseClassWithoutId } from "./BaseClass";
import { Ban, PublicGuildRelations } from ".";
import { DiscordApiErrors } from "../util/Constants";
diff --git a/util/src/util/Permissions.ts b/util/src/util/Permissions.ts
index 94fb3b51..ab8dd9b1 100644
--- a/util/src/util/Permissions.ts
+++ b/util/src/util/Permissions.ts
@@ -254,7 +254,7 @@ export async function getPermission(
if (guild.owner_id === user_id) return new Permissions(Permissions.FLAGS.ADMINISTRATOR);
member = await Member.findOneOrFail({
- where: { guild_id, user_id },
+ where: { guild_id, id: user_id },
relations: ["roles", ...(opts.member_relations || [])],
select: [
"id",
@@ -265,6 +265,9 @@ export async function getPermission(
});
}
+ let recipient_ids: any = channel?.recipients?.map((x) => x.id);
+ if (!recipient_ids?.length) recipient_ids = null;
+
// TODO: remove guild.roles and convert recipient_ids to recipients
var permission = Permissions.finalPermission({
user: {
@@ -277,7 +280,7 @@ export async function getPermission(
channel: {
overwrites: channel?.permission_overwrites,
owner_id: channel?.owner_id,
- recipient_ids: channel?.recipients?.map((x) => x.id),
+ recipient_ids,
},
});
|