From 1360bbd819a160c45d694b31a467f5f8e4f4e213 Mon Sep 17 00:00:00 2001 From: Evorp <3vorpgaming@gmail.com> Date: Tue, 16 Jan 2024 20:10:33 -0800 Subject: [PATCH] remove contributions with pack --- src/v2/repository/firestorm/packs.repository.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/v2/repository/firestorm/packs.repository.ts b/src/v2/repository/firestorm/packs.repository.ts index 4e0faf0..421f75f 100644 --- a/src/v2/repository/firestorm/packs.repository.ts +++ b/src/v2/repository/firestorm/packs.repository.ts @@ -13,7 +13,7 @@ import { PackSearch, FirestormPack, } from "~/v2/interfaces"; -import { packs } from "../../firestorm"; +import { contributions, packs } from "../../firestorm"; import SubmissionFirestormRepository from "./submissions.repository"; export default class PackFirestormRepository implements PackRepository { @@ -130,6 +130,18 @@ export default class PackFirestormRepository implements PackRepository { delete(packId: AnyPack): Promise { // try removing submission data if exists too this.submissionRepo.delete(packId as FaithfulPack).catch(() => {}); - return packs.remove(packId).then(() => {}); + + // remove associated contributions + return contributions + .search([ + { + field: "pack", + criteria: "==", + value: packId, + }, + ]) + .then((contribs) => contributions.removeBulk(contribs.map((c) => c.id))) + .then(() => packs.remove(packId)) + .then(() => {}); } }