1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-22 02:12:40 +01:00

'Fix' distinct alias typeorm issue

This commit is contained in:
Madeline 2022-09-26 12:42:01 +10:00
parent f44f5d7ac2
commit c3591a8233
4 changed files with 26 additions and 10 deletions

19
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,19 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/src/bundle/start.ts",
"outFiles": [ "${workspaceFolder}/dist/**/*.js" ],
"preLaunchTask": "tsc: build - tsconfig.json"
}
]
}

View File

@ -245,11 +245,10 @@ export class Channel extends BaseClass {
static async createDMChannel(recipients: string[], creator_user_id: string, name?: string) {
recipients = recipients.unique().filter((x) => x !== creator_user_id);
//@ts-ignore some typeorm typescript issue
const otherRecipientsUsers = await User.find({ where: recipients.map((x) => ({ id: x })) });
// TODO: check config for max number of recipients
/** if you want to disallow note to self channels, uncomment the conditional below
const otherRecipientsUsers = await User.find({ where: recipients.map((x) => ({ id: x })) });
if (otherRecipientsUsers.length !== recipients.length) {
throw new HTTPError("Recipient/s not found");
}

View File

@ -165,7 +165,6 @@ export class Member extends BaseClassWithoutId {
static async addRole(user_id: string, guild_id: string, role_id: string) {
const [member, role] = await Promise.all([
// @ts-ignore
Member.findOneOrFail({
where: { id: user_id, guild_id },
relations: ["user", "roles"], // we don't want to load the role objects just the ids
@ -192,7 +191,6 @@ export class Member extends BaseClassWithoutId {
static async removeRole(user_id: string, guild_id: string, role_id: string) {
const [member] = await Promise.all([
// @ts-ignore
Member.findOneOrFail({
where: { id: user_id, guild_id },
relations: ["user", "roles"], // we don't want to load the role objects just the ids

View File

@ -244,12 +244,12 @@ export async function getPermission(
member = await Member.findOneOrFail({
where: { guild_id, id: user_id },
relations: ["roles", ...(opts.member_relations || [])],
select: [
"id",
"roles",
// select: [
// "id", // TODO: Bug in typeorm? adding these selects breaks the query.
// "roles",
// @ts-ignore
...(opts.member_select || []),
],
// ...(opts.member_select || []),
// ],
});
}