Files
massive-cloud/server/analysisResultDeletion.ts

19 lines
675 B
TypeScript

import * as db from "./db";
import { cancelAlgorithmJob } from "./algorithmJob";
import { cancelLegacyAnalysisJob } from "./analysisJobControl";
import { cleanupAnalysisArtifacts } from "./analysisArtifacts";
export async function deleteAnalysisResult(id: number): Promise<{ success: true }> {
const row = await db.getTaskAnalysisResultById(id);
if (!row) return { success: true };
cancelAlgorithmJob(id);
cancelLegacyAnalysisJob(id);
// 文件删除失败时不触碰数据库,保留记录以便用户重试。
await cleanupAnalysisArtifacts(row.taskId, row.id);
await db.deleteTaskAnalysisResultWithDerivedPointclouds(id);
return { success: true };
}