0.3.5 共享功能修复

This commit is contained in:
liaibo
2026-01-24 12:32:51 +08:00
parent 25923f308c
commit 3c3f407f4b
44 changed files with 3754 additions and 420 deletions
+1 -41
View File
@@ -90,46 +90,7 @@ export const listByGroup = query({
export const inviteByUsername = mutation({
args: { groupId: v.string(), username: v.string() },
handler: async (ctx, args) => {
const userId = await requireUserId(ctx);
const group = await requireGroup(ctx, args.groupId);
await requireWorkspaceMember(ctx, group.workspace_id, userId);
await requireGroupOwner(ctx, args.groupId, userId);
const targetUserId = await lookupUserIdByUsername(ctx, args.username);
if (targetUserId === userId) throw new Error("不能邀请自己");
// 确保对方为 workspace member
const existingWorkspaceMember = await ctx.db
.query("workspace_members")
.withIndex("by_workspace_user", (q: any) => q.eq("workspace_id", group.workspace_id).eq("user_id", targetUserId))
.first();
if (!existingWorkspaceMember) {
await ctx.db.insert("workspace_members", {
workspace_id: group.workspace_id,
user_id: targetUserId,
role: "member",
is_default: false,
created_at: nowIso(),
});
}
const existing = await ctx.db
.query("group_members")
.withIndex("by_group_user", (q: any) => q.eq("group_id", args.groupId).eq("user_id", targetUserId))
.first();
if (existing) {
return { ok: true };
}
await ctx.db.insert("group_members", {
workspace_id: group.workspace_id,
group_id: args.groupId,
user_id: targetUserId,
role: "member",
created_at: nowIso(),
});
return { ok: true };
throw new Error("接口已废弃:请改用 groupInvitations.inviteByUsername(支持对方接受/拒绝)。");
},
});
@@ -152,4 +113,3 @@ export const removeMember = mutation({
return { ok: true };
},
});