feat(documents): delete document from context menu
This commit is contained in:
@@ -1425,6 +1425,41 @@ async function createWorkspaceDocument(auth: AuthContext | null, input: {
|
||||
};
|
||||
}
|
||||
|
||||
async function deleteWorkspaceDocument(auth: AuthContext | null, documentIdInput: string) {
|
||||
const ctx = requireAuth(auth);
|
||||
const documentId = String(documentIdInput ?? "").trim();
|
||||
if (!documentId) throw new Error("id is required");
|
||||
|
||||
const existing = await prisma.workspaceDocument.findFirst({
|
||||
where: {
|
||||
id: documentId,
|
||||
teamId: ctx.teamId,
|
||||
},
|
||||
select: { id: true },
|
||||
});
|
||||
if (!existing) throw new Error("document not found");
|
||||
|
||||
await prisma.$transaction([
|
||||
prisma.workspaceDocument.delete({
|
||||
where: { id: existing.id },
|
||||
}),
|
||||
prisma.clientTimelineEntry.deleteMany({
|
||||
where: {
|
||||
teamId: ctx.teamId,
|
||||
contentType: "DOCUMENT",
|
||||
contentId: existing.id,
|
||||
},
|
||||
}),
|
||||
]);
|
||||
|
||||
await fs.rm(datasetRoot({ teamId: ctx.teamId, userId: ctx.userId }), {
|
||||
recursive: true,
|
||||
force: true,
|
||||
}).catch(() => undefined);
|
||||
|
||||
return { ok: true, id: existing.id };
|
||||
}
|
||||
|
||||
async function setContactInboxHidden(
|
||||
auth: AuthContext | null,
|
||||
input: { inboxId: string; hidden: boolean },
|
||||
@@ -1829,6 +1864,7 @@ export const crmGraphqlSchema = buildSchema(`
|
||||
archiveCalendarEvent(input: ArchiveCalendarEventInput!): CalendarEvent!
|
||||
createCommunication(input: CreateCommunicationInput!): MutationWithIdResult!
|
||||
createWorkspaceDocument(input: CreateWorkspaceDocumentInput!): WorkspaceDocument!
|
||||
deleteWorkspaceDocument(id: ID!): MutationWithIdResult!
|
||||
updateCommunicationTranscript(id: ID!, transcript: [String!]!): MutationWithIdResult!
|
||||
updateFeedDecision(id: ID!, decision: String!, decisionNote: String): MutationWithIdResult!
|
||||
setContactInboxHidden(inboxId: ID!, hidden: Boolean!): MutationResult!
|
||||
@@ -2161,6 +2197,11 @@ export const crmGraphqlRoot = {
|
||||
context: GraphQLContext,
|
||||
) => createWorkspaceDocument(context.auth, args.input),
|
||||
|
||||
deleteWorkspaceDocument: async (
|
||||
args: { id: string },
|
||||
context: GraphQLContext,
|
||||
) => deleteWorkspaceDocument(context.auth, args.id),
|
||||
|
||||
updateCommunicationTranscript: async (
|
||||
args: { id: string; transcript: string[] },
|
||||
context: GraphQLContext,
|
||||
|
||||
Reference in New Issue
Block a user