Skip to content

Commit 4f22cc9

Browse files
committed
If an org already had any deleted projects it couldn’t be deleted…
1 parent a1979b3 commit 4f22cc9

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

apps/webapp/app/services/deleteOrganization.server.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
1+
import { DateFormatter } from "@internationalized/date";
12
import { PrismaClient } from "@trigger.dev/database";
23
import { prisma } from "~/db.server";
3-
import { DisableJobService } from "./jobs/disableJob.server";
4-
import { AuthenticatedEnvironment } from "./apiAuth.server";
5-
import { DeleteJobService } from "./jobs/deleteJob.server";
6-
import { DeleteEndpointService } from "./endpoints/deleteEndpointService";
7-
import { logger } from "./logger.server";
8-
import { DisableScheduleSourceService } from "./schedules/disableScheduleSource.server";
94
import { featuresForRequest } from "~/features.server";
10-
import { DeleteProjectService } from "./deleteProject.server";
115
import { BillingService } from "./billing.server";
12-
import { DateFormatter } from "@internationalized/date";
6+
import { DeleteProjectService } from "./deleteProject.server";
137

148
export class DeleteOrganizationService {
159
#prismaClient: PrismaClient;
@@ -76,7 +70,7 @@ export class DeleteOrganizationService {
7670
// loop through the projects and delete them
7771
const projectDeleteService = new DeleteProjectService();
7872
for (const project of organization.projects) {
79-
await projectDeleteService.call({ projectId: project.id, userId });
73+
await projectDeleteService.call({ projectId: project.id, userId, ignoreDeleted: true });
8074
}
8175

8276
//set all the integrations to disabled

apps/webapp/app/services/deleteProject.server.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { PrismaClient } from "@trigger.dev/database";
22
import { prisma } from "~/db.server";
3-
import { DisableJobService } from "./jobs/disableJob.server";
4-
import { AuthenticatedEnvironment } from "./apiAuth.server";
5-
import { DeleteJobService } from "./jobs/deleteJob.server";
63
import { DeleteEndpointService } from "./endpoints/deleteEndpointService";
74
import { logger } from "./logger.server";
85
import { DisableScheduleSourceService } from "./schedules/disableScheduleSource.server";
96

10-
type Options = { projectId: string; userId: string } | { projectSlug: string; userId: string };
7+
type Options = ({ projectId: string } | { projectSlug: string }) & {
8+
userId: string;
9+
ignoreDeleted: boolean;
10+
};
1111

1212
export class DeleteProjectService {
1313
#prismaClient: PrismaClient;
@@ -52,6 +52,9 @@ export class DeleteProjectService {
5252
}
5353

5454
if (project.deletedAt) {
55+
if (options.ignoreDeleted) {
56+
return;
57+
}
5558
throw new Error("Project already deleted");
5659
}
5760

0 commit comments

Comments
 (0)