mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-22 10:22:39 +01:00
Remove parent for childs on category deletion
This commit is contained in:
parent
b3ad525e00
commit
aa412e0e60
@ -90,6 +90,24 @@ router.delete(
|
||||
} else if (channel.type === ChannelType.GROUP_DM) {
|
||||
await Channel.removeRecipientFromChannel(channel, req.user_id);
|
||||
} else {
|
||||
if (channel.type == ChannelType.GUILD_CATEGORY) {
|
||||
const channels = await Channel.find({
|
||||
where: { parent_id: channel_id },
|
||||
});
|
||||
for await (const c of channels) {
|
||||
c.parent_id = null;
|
||||
|
||||
await Promise.all([
|
||||
c.save(),
|
||||
emitEvent({
|
||||
event: "CHANNEL_UPDATE",
|
||||
data: c,
|
||||
channel_id: c.id,
|
||||
} as ChannelUpdateEvent),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
await Promise.all([
|
||||
Channel.delete({ id: channel_id }),
|
||||
emitEvent({
|
||||
|
@ -105,7 +105,7 @@ export class Channel extends BaseClass {
|
||||
|
||||
@Column({ nullable: true })
|
||||
@RelationId((channel: Channel) => channel.parent)
|
||||
parent_id: string;
|
||||
parent_id: string | null;
|
||||
|
||||
@JoinColumn({ name: "parent_id" })
|
||||
@ManyToOne(() => Channel)
|
||||
|
Loading…
Reference in New Issue
Block a user