Skip to content

Commit 2f95d98

Browse files
committed
Create delete-partners.ts
1 parent 191b389 commit 2f95d98

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

apps/web/scripts/delete-partners.ts

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import { prisma } from "@dub/prisma";
2+
import "dotenv-flow/config";
3+
import { bulkDeleteLinks } from "../lib/api/links/bulk-delete-links";
4+
5+
async function main() {
6+
const partners = await prisma.partner.findMany({
7+
where: {
8+
programs: {
9+
some: {
10+
programId: "prog_xxx",
11+
},
12+
},
13+
},
14+
include: {
15+
programs: {
16+
select: {
17+
links: true,
18+
},
19+
},
20+
},
21+
take: 1,
22+
});
23+
24+
for (const partner of partners) {
25+
const programEnrollment = partner.programs[0];
26+
const links = programEnrollment.links;
27+
28+
const deleteLinkCaches = await bulkDeleteLinks(links);
29+
console.log("Deleted link caches", deleteLinkCaches);
30+
31+
const deleteLinks = await prisma.link.deleteMany({
32+
where: {
33+
id: {
34+
in: links.map((link) => link.id),
35+
},
36+
},
37+
});
38+
console.log("Deleted links", deleteLinks);
39+
40+
const deleteSales = await prisma.sale.deleteMany({
41+
where: {
42+
partnerId: partner.id,
43+
},
44+
});
45+
console.log("Deleted sales", deleteSales);
46+
47+
const deletePayouts = await prisma.payout.deleteMany({
48+
where: {
49+
partnerId: partner.id,
50+
},
51+
});
52+
console.log("Deleted payouts", deletePayouts);
53+
54+
const deletePartner = await prisma.partner.delete({
55+
where: {
56+
id: partner.id,
57+
},
58+
});
59+
console.log("Deleted partner", deletePartner);
60+
}
61+
}
62+
63+
main();

0 commit comments

Comments
 (0)