fix(notifications): correctly send notifications for users that do not have any user settings yet

fixes #1324
This commit is contained in:
sct
2021-03-30 21:02:33 +09:00
parent a908c07670
commit d3a25b935a
3 changed files with 13 additions and 13 deletions

View File

@@ -218,7 +218,7 @@ class DiscordAgent
if ( if (
payload.notifyUser && payload.notifyUser &&
payload.notifyUser.settings?.enableNotifications && (payload.notifyUser.settings?.enableNotifications ?? true) &&
payload.notifyUser.settings?.discordId payload.notifyUser.settings?.discordId
) { ) {
mentionedUsers.push(payload.notifyUser.settings.discordId); mentionedUsers.push(payload.notifyUser.settings.discordId);

View File

@@ -1,13 +1,13 @@
import { BaseAgent, NotificationAgent, NotificationPayload } from './agent';
import { hasNotificationType, Notification } from '..';
import path from 'path'; import path from 'path';
import { getSettings, NotificationAgentEmail } from '../../settings';
import logger from '../../../logger';
import { getRepository } from 'typeorm'; import { getRepository } from 'typeorm';
import { User } from '../../../entity/User'; import { hasNotificationType, Notification } from '..';
import { Permission } from '../../permissions';
import PreparedEmail from '../../email';
import { MediaType } from '../../../constants/media'; import { MediaType } from '../../../constants/media';
import { User } from '../../../entity/User';
import logger from '../../../logger';
import PreparedEmail from '../../email';
import { Permission } from '../../permissions';
import { getSettings, NotificationAgentEmail } from '../../settings';
import { BaseAgent, NotificationAgent, NotificationPayload } from './agent';
class EmailAgent class EmailAgent
extends BaseAgent<NotificationAgentEmail> extends BaseAgent<NotificationAgentEmail>
@@ -154,7 +154,7 @@ class EmailAgent
try { try {
if ( if (
payload.notifyUser && payload.notifyUser &&
payload.notifyUser.settings?.enableNotifications (payload.notifyUser.settings?.enableNotifications ?? true)
) { ) {
const email = new PreparedEmail(payload.notifyUser.settings?.pgpKey); const email = new PreparedEmail(payload.notifyUser.settings?.pgpKey);
@@ -258,7 +258,7 @@ class EmailAgent
try { try {
if ( if (
payload.notifyUser && payload.notifyUser &&
payload.notifyUser.settings?.enableNotifications (payload.notifyUser.settings?.enableNotifications ?? true)
) { ) {
const email = new PreparedEmail(payload.notifyUser.settings?.pgpKey); const email = new PreparedEmail(payload.notifyUser.settings?.pgpKey);
@@ -307,7 +307,7 @@ class EmailAgent
try { try {
if ( if (
payload.notifyUser && payload.notifyUser &&
payload.notifyUser.settings?.enableNotifications (payload.notifyUser.settings?.enableNotifications ?? true)
) { ) {
const email = new PreparedEmail(payload.notifyUser.settings?.pgpKey); const email = new PreparedEmail(payload.notifyUser.settings?.pgpKey);

View File

@@ -1,8 +1,8 @@
import axios from 'axios'; import axios from 'axios';
import { hasNotificationType, Notification } from '..'; import { hasNotificationType, Notification } from '..';
import { MediaType } from '../../../constants/media';
import logger from '../../../logger'; import logger from '../../../logger';
import { getSettings, NotificationAgentTelegram } from '../../settings'; import { getSettings, NotificationAgentTelegram } from '../../settings';
import { MediaType } from '../../../constants/media';
import { BaseAgent, NotificationAgent, NotificationPayload } from './agent'; import { BaseAgent, NotificationAgent, NotificationPayload } from './agent';
interface TelegramMessagePayload { interface TelegramMessagePayload {
@@ -180,7 +180,7 @@ class TelegramAgent
// Send user notification // Send user notification
if ( if (
payload.notifyUser && payload.notifyUser &&
payload.notifyUser.settings?.enableNotifications && (payload.notifyUser.settings?.enableNotifications ?? true) &&
payload.notifyUser.settings?.telegramChatId && payload.notifyUser.settings?.telegramChatId &&
payload.notifyUser.settings?.telegramChatId !== payload.notifyUser.settings?.telegramChatId !==
this.getSettings().options.chatId this.getSettings().options.chatId