From 879f24b08b1324d664cde639dfc16d25fa2fc254 Mon Sep 17 00:00:00 2001 From: Kurt Hutten Date: Wed, 29 Sep 2021 19:04:35 +1000 Subject: [PATCH] Delete project properly as it's not causing problems with forking logic (#539) --- app/api/src/services/projects/projects.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/app/api/src/services/projects/projects.ts b/app/api/src/services/projects/projects.ts index bb83798..da68ecb 100644 --- a/app/api/src/services/projects/projects.ts +++ b/app/api/src/services/projects/projects.ts @@ -129,7 +129,6 @@ export const updateProject = async ({ id, input }: UpdateProjectArgs) => { } requireAuth() const originalProject = await requireProjectOwnership({ projectId: id }) - console.log('yooooo', originalProject) if (input.title) { input.title = enforceAlphaNumeric(input.title) } @@ -257,12 +256,19 @@ export const updateProjectImages = async ({ export const deleteProject = async ({ id }: Prisma.ProjectWhereUniqueInput) => { requireAuth() await requireOwnership({ projectId: id }) - return db.project.update({ - data: { - deleted: true, - }, + const project = await db.project.findUnique({ where: { id }, }) + const childrenDeletePromises = [ + db.comment.deleteMany({ where: { projectId: project.id } }), + db.projectReaction.deleteMany({ where: { projectId: project.id } }), + db.socialCard.deleteMany({ where: { projectId: project.id } }), + ] + await Promise.all(childrenDeletePromises) + await db.project.delete({ + where: { id }, + }) + return project } export const Project = { @@ -272,7 +278,7 @@ export const Project = { childForks: (_obj, { root }) => db.project.findMany({ where: { forkedFromId: root.id } }), user: (_obj, { root }: ResolverArgs>) => - db.project.findUnique({ where: { id: root.id } }).user(), + db.user.findUnique({ where: { id: root.userId } }), socialCard: (_obj, { root }: ResolverArgs>) => db.project.findUnique({ where: { id: root.id } }).socialCard(), Comment: (_obj, { root }: ResolverArgs>) =>