Add optional export notifications (#3935)
* Add `emails.export_completed` notification to settings menu Signed-off-by: AKP <tom@tdpain.net> * Don't send email when export_completed notifications are disabled Signed-off-by: AKP <tom@tdpain.net> * Automatically subscribe new users to `export_completed` notifications Signed-off-by: AKP <tom@tdpain.net> * Alter secondary text on export page to mention optional notifications Signed-off-by: AKP <tom@tdpain.net> * Alter toast text on collection export for optional notifications Signed-off-by: AKP <tom@tdpain.net> * Only subscribe new admins to export notifs Signed-off-by: AKP <tom@tdpain.net> * Move `export_completed` notification decision into `beforeSend` Signed-off-by: AKP <tom@tdpain.net> * Update server/emails/templates/ExportFailureEmail.tsx Co-authored-by: Tom Moor <tom.moor@gmail.com> * Update server/emails/templates/ExportSuccessEmail.tsx Co-authored-by: Tom Moor <tom.moor@gmail.com> Signed-off-by: AKP <tom@tdpain.net> Co-authored-by: Tom Moor <tom.moor@gmail.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import * as React from "react";
|
||||
import { NotificationSetting } from "@server/models";
|
||||
import BaseEmail from "./BaseEmail";
|
||||
import Body from "./components/Body";
|
||||
import Button from "./components/Button";
|
||||
@@ -10,13 +11,27 @@ import Heading from "./components/Heading";
|
||||
|
||||
type Props = {
|
||||
to: string;
|
||||
userId: string;
|
||||
teamUrl: string;
|
||||
teamId: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Email sent to a user when their data export has failed for some reason.
|
||||
*/
|
||||
export default class ExportFailureEmail extends BaseEmail<Props> {
|
||||
protected async beforeSend({ userId, teamId }: Props) {
|
||||
const notificationSetting = await NotificationSetting.findOne({
|
||||
where: {
|
||||
userId,
|
||||
teamId,
|
||||
event: "emails.export_completed",
|
||||
},
|
||||
});
|
||||
|
||||
return notificationSetting !== null;
|
||||
}
|
||||
|
||||
protected subject() {
|
||||
return "Your requested export";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user