feat(server): delay subscription after invitation accepted or approved (#11992)

This commit is contained in:
liuyi
2025-04-30 14:27:47 +08:00
committed by GitHub
parent 9a721c65b5
commit 2e1bed061e
49 changed files with 1990 additions and 2694 deletions
@@ -63,8 +63,7 @@ export class InvitationService extends Service {
}
return await this.acceptInviteStore.acceptInvite(
this.inviteInfo$.value.workspace.id,
inviteId,
true
inviteId
);
}
@@ -11,7 +11,6 @@ export class AcceptInviteStore extends Store {
async acceptInvite(
workspaceId: string,
inviteId: string,
sendAcceptMail?: boolean,
signal?: AbortSignal
) {
const data = await this.gqlService.gql({
@@ -20,7 +19,6 @@ export class AcceptInviteStore extends Store {
variables: {
workspaceId,
inviteId,
sendAcceptMail,
},
context: { signal },
});
@@ -18,19 +18,10 @@ export class WorkspaceMembersService extends Service {
members = this.framework.createEntity(WorkspaceMembers);
async inviteMember(email: string, sendInviteMail?: boolean) {
return await this.store.inviteMember(
this.workspaceService.workspace.id,
email,
sendInviteMail
);
}
async inviteMembers(emails: string[], sendInviteMail?: boolean) {
async inviteMembers(emails: string[]) {
return await this.store.inviteBatch(
this.workspaceService.workspace.id,
emails,
sendInviteMail
emails
);
}
@@ -3,7 +3,6 @@ import {
createInviteLinkMutation,
getMembersByWorkspaceIdQuery,
grantWorkspaceTeamMemberMutation,
inviteByEmailMutation,
inviteByEmailsMutation,
type Permission,
revokeInviteLinkMutation,
@@ -43,30 +42,7 @@ export class WorkspaceMembersStore extends Store {
return data.workspace;
}
async inviteMember(
workspaceId: string,
email: string,
sendInviteMail = false
) {
if (!this.workspaceServerService.server) {
throw new Error('No Server');
}
const invite = await this.workspaceServerService.server.gql({
query: inviteByEmailMutation,
variables: {
workspaceId,
email,
sendInviteMail,
},
});
return invite.invite;
}
async inviteBatch(
workspaceId: string,
emails: string[],
sendInviteMail = false
) {
async inviteBatch(workspaceId: string, emails: string[]) {
if (!this.workspaceServerService.server) {
throw new Error('No Server');
}
@@ -75,10 +51,9 @@ export class WorkspaceMembersStore extends Store {
variables: {
workspaceId,
emails,
sendInviteMail,
},
});
return inviteBatch.inviteBatch;
return inviteBatch.inviteMembers;
}
async generateInviteLink(
@@ -128,7 +103,7 @@ export class WorkspaceMembersStore extends Store {
},
context: { signal },
});
return revoke.revoke;
return revoke.revokeMember;
}
async approveMember(workspaceId: string, userId: string) {