0.2.1 onlyoffice修复

This commit is contained in:
liaibo
2026-01-17 10:12:53 +08:00
parent 94957dc361
commit 19907bccdc
102 changed files with 7188 additions and 186 deletions
+49
View File
@@ -0,0 +1,49 @@
import { mutation, query } from "./_generated/server";
import { v } from "convex/values";
export const listByWorkspace = query({
args: { userId: v.string(), workspaceId: v.string(), limit: v.optional(v.number()) },
handler: async (ctx, args) => {
const rows = await ctx.db
.query("user_recent_pages")
.withIndex("by_user_workspace", (q) => q.eq("user_id", args.userId).eq("workspace_id", args.workspaceId))
.collect();
const sorted = rows.sort((a, b) => (b.last_accessed_at ?? "").localeCompare(a.last_accessed_at ?? ""));
const limit = Math.max(0, Math.min(args.limit ?? 10, 50));
return sorted.slice(0, limit).map((r) => ({
user_id: r.user_id,
workspace_id: r.workspace_id,
document_id: r.document_id,
last_accessed_at: r.last_accessed_at,
}));
},
});
export const upsert = mutation({
args: { userId: v.string(), workspaceId: v.string(), documentId: v.string(), lastAccessedAt: v.string() },
handler: async (ctx, args) => {
const existing = await ctx.db
.query("user_recent_pages")
.withIndex("by_user_document", (q) => q.eq("user_id", args.userId).eq("document_id", args.documentId))
.first();
if (existing) {
await ctx.db.patch(existing._id, {
workspace_id: args.workspaceId,
last_accessed_at: args.lastAccessedAt,
});
return { ok: true, updated: true };
}
await ctx.db.insert("user_recent_pages", {
user_id: args.userId,
workspace_id: args.workspaceId,
document_id: args.documentId,
last_accessed_at: args.lastAccessedAt,
});
return { ok: true, updated: false };
},
});