0.3.5 共享功能修复
This commit is contained in:
@@ -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 };
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user