mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 12:55:00 +00:00
fix(server): send declined email (#9188)
This commit is contained in:
@@ -5,7 +5,10 @@ import { Flatten, Payload } from './types';
|
||||
export interface WorkspaceEvents {
|
||||
members: {
|
||||
reviewRequested: Payload<{ inviteId: string }>;
|
||||
requestDeclined: Payload<{ inviteId: string }>;
|
||||
requestDeclined: Payload<{
|
||||
userId: User['id'];
|
||||
workspaceId: Workspace['id'];
|
||||
}>;
|
||||
requestApproved: Payload<{ inviteId: string }>;
|
||||
updated: Payload<{ workspaceId: Workspace['id']; count: number }>;
|
||||
};
|
||||
|
||||
@@ -470,7 +470,8 @@ export class PermissionService {
|
||||
permission.status === 'NeedMoreSeatAndReview'
|
||||
) {
|
||||
this.event.emit('workspace.members.requestDeclined', {
|
||||
inviteId: permission.id,
|
||||
userId: user,
|
||||
workspaceId,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -159,14 +159,12 @@ export class WorkspaceService {
|
||||
await this.mailer.sendReviewApproveEmail(target.email, target.workspace);
|
||||
}
|
||||
|
||||
async sendReviewDeclinedEmail(inviteId: string) {
|
||||
const target = await this.getInviteeEmailTarget(inviteId);
|
||||
|
||||
if (!target) {
|
||||
return;
|
||||
}
|
||||
|
||||
await this.mailer.sendReviewDeclinedEmail(target.email, target.workspace);
|
||||
async sendReviewDeclinedEmail(
|
||||
email: string | undefined,
|
||||
workspaceName: string
|
||||
) {
|
||||
if (!email) return;
|
||||
await this.mailer.sendReviewDeclinedEmail(email, { name: workspaceName });
|
||||
}
|
||||
|
||||
private async getInviteeEmailTarget(inviteId: string) {
|
||||
|
||||
@@ -334,10 +334,16 @@ export class TeamWorkspaceResolver {
|
||||
|
||||
@OnEvent('workspace.members.requestDeclined')
|
||||
async onDeclineRequest({
|
||||
inviteId,
|
||||
userId,
|
||||
workspaceId,
|
||||
}: EventPayload<'workspace.members.requestDeclined'>) {
|
||||
const user = await this.users.findUserById(userId);
|
||||
const workspace = await this.workspaceService.getWorkspaceInfo(workspaceId);
|
||||
// send decline mail
|
||||
await this.workspaceService.sendReviewDeclinedEmail(inviteId);
|
||||
await this.workspaceService.sendReviewDeclinedEmail(
|
||||
user?.email,
|
||||
workspace.name
|
||||
);
|
||||
}
|
||||
|
||||
@OnEvent('workspace.members.requestApproved')
|
||||
|
||||
Reference in New Issue
Block a user