mirror of
https://github.com/fallenbagel/jellyseerr.git
synced 2026-01-10 00:28:09 -05:00
feat(ntfy): add native ntfy notification support (#1599)
* feat(ntfy): add native ntfy notification fix #499 * feat(ntfy): update translation keys * feat(ntfy): append ntfy to cypress settings * feat(ntfy): adjust ntfy agent shouldSend * feat(ntfy): simplify ntfy post routes * feat(ntfy): refactor ntfy agent from fetch to axios * feat(ntfy): refactor ntfy frontend from fetch to axios
This commit is contained in:
@@ -5,6 +5,7 @@ import DiscordAgent from '@server/lib/notifications/agents/discord';
|
||||
import EmailAgent from '@server/lib/notifications/agents/email';
|
||||
import GotifyAgent from '@server/lib/notifications/agents/gotify';
|
||||
import LunaSeaAgent from '@server/lib/notifications/agents/lunasea';
|
||||
import NtfyAgent from '@server/lib/notifications/agents/ntfy';
|
||||
import PushbulletAgent from '@server/lib/notifications/agents/pushbullet';
|
||||
import PushoverAgent from '@server/lib/notifications/agents/pushover';
|
||||
import SlackAgent from '@server/lib/notifications/agents/slack';
|
||||
@@ -413,4 +414,38 @@ notificationRoutes.post('/gotify/test', async (req, res, next) => {
|
||||
}
|
||||
});
|
||||
|
||||
notificationRoutes.get('/ntfy', (_req, res) => {
|
||||
const settings = getSettings();
|
||||
|
||||
res.status(200).json(settings.notifications.agents.ntfy);
|
||||
});
|
||||
|
||||
notificationRoutes.post('/ntfy', async (req, res) => {
|
||||
const settings = getSettings();
|
||||
|
||||
settings.notifications.agents.ntfy = req.body;
|
||||
await settings.save();
|
||||
|
||||
res.status(200).json(settings.notifications.agents.ntfy);
|
||||
});
|
||||
|
||||
notificationRoutes.post('/ntfy/test', async (req, res, next) => {
|
||||
if (!req.user) {
|
||||
return next({
|
||||
status: 500,
|
||||
message: 'User information is missing from the request.',
|
||||
});
|
||||
}
|
||||
|
||||
const ntfyAgent = new NtfyAgent(req.body);
|
||||
if (await sendTestNotification(ntfyAgent, req.user)) {
|
||||
return res.status(204).send();
|
||||
} else {
|
||||
return next({
|
||||
status: 500,
|
||||
message: 'Failed to send ntfy notification.',
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
export default notificationRoutes;
|
||||
|
||||
Reference in New Issue
Block a user