0.6 rust重构01

This commit is contained in:
lix-2026
2026-04-14 13:22:29 +08:00
parent 71fb1aee7e
commit 84a8454fa9
401 changed files with 5841 additions and 1512 deletions
+10 -38
View File
@@ -2,6 +2,7 @@ import { mutation, query } from "./_generated/server";
import { v } from "convex/values";
import { getAuthUserId } from "@convex-dev/auth/server";
import { nowIso } from "./_utils/time";
import { getCanonicalDocumentByBusinessId, getCanonicalParentDocumentId } from "./_utils/documentRecord";
async function requireUserId(ctx: any): Promise<string> {
const userId = await getAuthUserId(ctx);
@@ -43,11 +44,7 @@ async function resolveSharePermission(ctx: any, doc: any, userId: string): Promi
return parentShare.permission as SharePermission;
}
const parent = await ctx.db
.query("documents")
.withIndex("by_document_id", (q: any) => q.eq("id", parentId))
.first();
parentId = parent?.parent_id ?? null;
parentId = await getCanonicalParentDocumentId(ctx, parentId);
}
return null;
@@ -83,11 +80,7 @@ async function resolveGroupSharePermission(ctx: any, doc: any, userId: string):
return "read";
}
}
const parent = await ctx.db
.query("documents")
.withIndex("by_document_id", (q: any) => q.eq("id", parentId))
.first();
parentId = parent?.parent_id ?? null;
parentId = await getCanonicalParentDocumentId(ctx, parentId);
}
return null;
@@ -132,10 +125,7 @@ export const listThreadsByDocument = query({
handler: async (ctx, args) => {
const userId = await requireUserId(ctx);
const doc = await ctx.db
.query("documents")
.withIndex("by_document_id", (q: any) => q.eq("id", args.documentId))
.first();
const doc = await getCanonicalDocumentByBusinessId<any>(ctx, args.documentId);
if (!doc) throw new Error("页面不存在");
if (doc.deleted_at != null) throw new Error("页面不存在");
await requireCanViewDocument(ctx, doc, userId);
@@ -190,10 +180,7 @@ export const listMessagesByThread = query({
.first();
if (!thread) throw new Error("评论线程不存在");
const doc = await ctx.db
.query("documents")
.withIndex("by_document_id", (q: any) => q.eq("id", thread.document_id))
.first();
const doc = await getCanonicalDocumentByBusinessId<any>(ctx, String(thread.document_id));
if (!doc) throw new Error("页面不存在");
if (doc.deleted_at != null) throw new Error("页面不存在");
await requireCanViewDocument(ctx, doc, userId);
@@ -241,10 +228,7 @@ export const createThread = mutation({
handler: async (ctx, args) => {
const userId = await requireUserId(ctx);
const doc = await ctx.db
.query("documents")
.withIndex("by_document_id", (q: any) => q.eq("id", args.documentId))
.first();
const doc = await getCanonicalDocumentByBusinessId<any>(ctx, args.documentId);
if (!doc) throw new Error("页面不存在");
if (doc.deleted_at != null) throw new Error("页面不存在");
await requireCanViewDocument(ctx, doc, userId);
@@ -305,10 +289,7 @@ export const reply = mutation({
.first();
if (!thread) throw new Error("评论线程不存在");
const doc = await ctx.db
.query("documents")
.withIndex("by_document_id", (q: any) => q.eq("id", thread.document_id))
.first();
const doc = await getCanonicalDocumentByBusinessId<any>(ctx, String(thread.document_id));
if (!doc) throw new Error("页面不存在");
if (doc.deleted_at != null) throw new Error("页面不存在");
await requireCanViewDocument(ctx, doc, userId);
@@ -354,10 +335,7 @@ export const setResolved = mutation({
.first();
if (!thread) throw new Error("评论线程不存在");
const doc = await ctx.db
.query("documents")
.withIndex("by_document_id", (q: any) => q.eq("id", thread.document_id))
.first();
const doc = await getCanonicalDocumentByBusinessId<any>(ctx, String(thread.document_id));
if (!doc) throw new Error("页面不存在");
if (doc.deleted_at != null) throw new Error("页面不存在");
@@ -393,10 +371,7 @@ export const editMessage = mutation({
.first();
if (!thread) throw new Error("评论线程不存在");
const doc = await ctx.db
.query("documents")
.withIndex("by_document_id", (q: any) => q.eq("id", message.document_id))
.first();
const doc = await getCanonicalDocumentByBusinessId<any>(ctx, String(message.document_id));
if (!doc) throw new Error("页面不存在");
if (doc.deleted_at != null) throw new Error("页面不存在");
await requireCanViewDocument(ctx, doc, userId);
@@ -444,10 +419,7 @@ export const deleteMessage = mutation({
.first();
if (!thread) throw new Error("评论线程不存在");
const doc = await ctx.db
.query("documents")
.withIndex("by_document_id", (q: any) => q.eq("id", message.document_id))
.first();
const doc = await getCanonicalDocumentByBusinessId<any>(ctx, String(message.document_id));
if (!doc) throw new Error("页面不存在");
if (doc.deleted_at != null) throw new Error("页面不存在");