修复删除项目api问题
This commit is contained in:
parent
e5841ff74d
commit
d3230d1506
@ -15,31 +15,43 @@ export default router.post(
|
|||||||
const { id } = req.body;
|
const { id } = req.body;
|
||||||
//删除项目
|
//删除项目
|
||||||
await u.db("o_project").where("id", id).delete();
|
await u.db("o_project").where("id", id).delete();
|
||||||
|
await u.db("o_agentWorkData").where("projectId", id).delete();
|
||||||
|
const novelData = await u.db("o_novel").where("projectId", id).select("id");
|
||||||
|
const novelId = novelData.map((item: any) => item.id);
|
||||||
|
if (novelId.length > 0) {
|
||||||
|
await u.db("o_outlineNovel").whereIn("novelId", novelId).delete();
|
||||||
|
}
|
||||||
//删除项目下的原文
|
//删除项目下的原文
|
||||||
await u.db("o_novel").where("projectId", id).delete();
|
await u.db("o_novel").where("projectId", id).delete();
|
||||||
// 删除项目下的剧本信息
|
// 删除项目下的剧本信息
|
||||||
|
const scriptData = await u.db("o_script").where("projectId", id).select("id");
|
||||||
|
const scriptIds = scriptData.map((item: any) => item.id);
|
||||||
|
if (scriptIds.length > 0) {
|
||||||
|
await u.db("o_scriptAssets").whereIn("scriptId", scriptIds).delete();
|
||||||
|
}
|
||||||
await u.db("o_script").where("projectId", id).delete();
|
await u.db("o_script").where("projectId", id).delete();
|
||||||
await u.db("o_outline").where("projectId", id).delete();
|
await u.db("o_outline").where("projectId", id).delete();
|
||||||
// 删除项目下的任务
|
// 删除项目下的任务
|
||||||
await u.db("o_tasks").where("projectId", id).delete();
|
await u.db("o_tasks").where("projectId", id).delete();
|
||||||
// 删除项目下的分镜
|
// 删除项目下的分镜
|
||||||
|
const storyboardData = await u.db("o_storyboard").where("projectId", id).select("id");
|
||||||
|
const storyboardIds = storyboardData.map((item: any) => item.id);
|
||||||
|
if (storyboardIds.length > 0) {
|
||||||
|
await u.db("o_assets2Storyboard").whereIn("storyboardId", storyboardIds).delete();
|
||||||
|
}
|
||||||
await u.db("o_storyboard").where("projectId", id).delete();
|
await u.db("o_storyboard").where("projectId", id).delete();
|
||||||
// 删除项目下的资产
|
|
||||||
await u.db("o_assets").where("projectId", id).delete();
|
|
||||||
//删除需要删除资产的归属图片
|
//删除需要删除资产的归属图片
|
||||||
const assetsData = await u.db("o_assets").where("projectId", id).select("id");
|
const assetsData = await u.db("o_assets").where("projectId", id).select("id");
|
||||||
const assetsIds = assetsData.map((item: any) => item.id);
|
const assetsIds = assetsData.map((item: any) => item.id);
|
||||||
if (assetsIds.length > 0) {
|
if (assetsIds.length > 0) {
|
||||||
await u.db("o_image").orWhereIn("assetsId", assetsIds).delete();
|
// 先将 o_assets.imageId 置空,解除对 o_image 的外键引用
|
||||||
}
|
await u.db("o_assets").whereIn("id", assetsIds).update({ imageId: null });
|
||||||
//删除项目下的视频
|
await u.db("o_image").whereIn("assetsId", assetsIds).delete();
|
||||||
const videoData = await u.db("o_video").where("projectId", id).select("id");
|
|
||||||
const videoIds = videoData.map((item: any) => item.id);
|
|
||||||
if (videoIds.length > 0) {
|
|
||||||
await u.db("o_videoTrack").whereIn("videoId", videoIds).update({
|
|
||||||
videoId: null,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
// 删除项目下的资产
|
||||||
|
await u.db("o_assets").where("projectId", id).delete();
|
||||||
|
//删除项目下的视频轨道和视频
|
||||||
|
await u.db("o_videoTrack").where("projectId", id).delete();
|
||||||
await u.db("o_video").where("projectId", id).delete();
|
await u.db("o_video").where("projectId", id).delete();
|
||||||
//删除项目下的资源
|
//删除项目下的资源
|
||||||
try {
|
try {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user