add relations from abuse_user_report->user_profile to speed up admin/abuse-user-reports endpoint

This commit is contained in:
Hazelnoot 2025-05-28 02:03:05 -04:00
parent 23302fe7d8
commit b05ccbc3ac
2 changed files with 31 additions and 1 deletions

View file

@ -5,6 +5,7 @@
import { PrimaryColumn, Entity, Index, JoinColumn, Column, ManyToOne } from 'typeorm';
import { MiInstance } from '@/models/Instance.js';
import { MiUserProfile } from '@/models/UserProfile.js';
import { id } from './util/id.js';
import { MiUser } from './User.js';
@ -25,6 +26,13 @@ export class MiAbuseUserReport {
@JoinColumn()
public targetUser: MiUser | null;
@ManyToOne(() => MiUserProfile, {
onDelete: 'CASCADE',
createForeignKeyConstraints: false,
})
@JoinColumn({ name: 'targetUserId', referencedColumnName: 'userId' })
public targetUserProfile: MiUserProfile | null;
@Index()
@Column(id())
public reporterId: MiUser['id'];
@ -35,6 +43,13 @@ export class MiAbuseUserReport {
@JoinColumn()
public reporter: MiUser | null;
@ManyToOne(() => MiUserProfile, {
onDelete: 'CASCADE',
createForeignKeyConstraints: false,
})
@JoinColumn({ name: 'reporterId', referencedColumnName: 'userId' })
public reporterProfile: MiUserProfile | null;
@Column({
...id(),
nullable: true,
@ -47,6 +62,13 @@ export class MiAbuseUserReport {
@JoinColumn()
public assignee: MiUser | null;
@ManyToOne(() => MiUserProfile, {
onDelete: 'CASCADE',
createForeignKeyConstraints: false,
})
@JoinColumn({ name: 'assigneeId', referencedColumnName: 'userId' })
public assigneeProfile: MiUserProfile | null;
@Index()
@Column('boolean', {
default: false,