Commit Graph

112 Commits

Author SHA1 Message Date
Frank Ye 50319c04bb change metadata field to be processor only and update docs
Signed-off-by: Frank Ye <franky@spotify.com>
2025-08-14 16:23:44 -04:00
Frank Ye b345e53dd3 rename to metadata
Signed-off-by: Frank Ye <franky@spotify.com>
2025-08-14 16:23:44 -04:00
Frank Ye 9152ba8f36 add generic attribute field to NotificationPayload
Signed-off-by: Frank Ye <franky@spotify.com>
2025-08-14 16:23:44 -04:00
Ben Lambert a4256e19f6 Merge branch 'master' into default_notification_settings
Signed-off-by: Ben Lambert <blam@spotify.com>
2025-07-15 10:52:30 +02:00
Adam Kunicki 9a5a73ff02 Fix addTopic migration in notifications-backend plugin
The migration code fails when user_settings is non-empty
because it adds a non-nullable constraint before DML is applied.

This fixes that issue and adds a test case for that particular migration.

Signed-off-by: Adam Kunicki <kunickiaj@gmail.com>
2025-06-21 19:13:34 -07:00
Hellgren Heikki 41d4d6e7af feat: clean up old notifications
a new scheduled task that will delete old notifications. the default is
that over 1 year old notifications will be deleted. the scheduled task
is run every 24 hours. this can be disabled by setting the
retention period to false in the notifications config.

Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2025-06-16 15:34:25 +03:00
Hellgren Heikki 4401dfbf80 feat: allow defining default notification settings via config
Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2025-06-11 15:03:19 +03:00
Hellgren Heikki ef9ab8267e fix: force broadcast notification user field to be null always
Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2025-06-11 12:22:06 +03:00
Fredrik Adelöw eb1ee0331e remove some usages of the old alpha catalog service
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2025-06-05 11:37:23 +02:00
Billy Stalnaker 7cf0f1382a Move database function to backend
Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-05-20 12:37:45 -04:00
Billy Stalnaker 7b7d1479e9 fix merge issue
Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-04-01 10:22:05 -04:00
billyatroadie 053f7e4f77 Merge branch 'master' into add-topics-to-notification-settings
Signed-off-by: billyatroadie <bstalnaker@roadie.com>
2025-04-01 10:17:31 -04:00
Billy Stalnaker d9e99214fb reduces component bloat; adds logic to ensure topics are always disabled if the origin is
Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-03-26 09:43:40 -04:00
Billy Stalnaker a7d0a0b2f5 tests pass locally, so trying reorder
Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-03-25 14:58:24 -04:00
Billy Stalnaker 7ca0f08d58 update tests
Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-03-25 13:56:40 -04:00
Billy Stalnaker 08972ee879 adds unique has column because of mysql unique character limitation
Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-03-25 13:14:22 -04:00
Billy Stalnaker 26d1796c4e fixes tests
Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-03-25 08:12:11 -04:00
Billy Stalnaker 1fb5f06029 wip; need to fix a test; and write more
Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-03-25 08:12:11 -04:00
Billy Stalnaker 8637567d53 rm NODE_OPTIONS;
Adds topicNames prop
Adds collapsible row for topics
Refactor getNotificationSettings for readability

Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-03-25 08:12:11 -04:00
Billy Stalnaker 5676296812 wip; DRAFT for visibility into changes
Signed-off-by: Billy Stalnaker <bstalnaker@roadie.com>
2025-03-25 08:12:10 -04:00
Hellgren Heikki 9a6080e677 feat(notifications): support notification send throttling
Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2025-03-18 13:10:03 +02:00
Hellgren Heikki d4c22b731c fix(notifications): post process broadcast notification even without signals
Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2025-03-18 12:19:50 +02:00
Fredrik Adelöw 4a47dd3752 Merge pull request #28050 from drodil/notification_tests
test(notifications): improve router tests
2025-02-21 13:10:50 +01:00
Hellgren Heikki 20e8d12655 fix(notifications): filter null topics
fixes the frontend topic filter when there are notifications without any
topic in the database

closes #28902

Signed-off-by: Hellgren Heikki <heikki.hellgren@op.fi>
2025-02-19 18:04:06 +02:00
Heikki Hellgren 425a61d311 test(notifications): improve router tests
improve the existing router tests for notifications to handle different
endpoints.

Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
2025-02-04 09:07:23 +02:00
Marek Libra 438c36c554 feat(notifications): added the topic filter for notifications
Signed-off-by: Marek Libra <marek.libra@gmail.com>
2025-01-16 07:21:18 +01:00
Fredrik Adelöw cbc0e63aec remove backend-common from notifications
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2024-12-18 14:33:17 +01:00
Patrik Oldsberg fc15b77b46 notifications: refactor backend routes to avoid using root route
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2024-12-10 00:43:57 +01:00
Fredrik Adelöw 50648277ef Made it possible to construct mockServices.database with a given knex instance
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2024-11-05 11:35:31 +01:00
Patrik Oldsberg 43889f31dc Merge pull request #25941 from drodil/user_notification_settings
feat: add user specific notification settings
2024-10-22 00:52:55 +02:00
Heikki Hellgren 97ba58fa17 feat: add user specific notification settings
The settings can be customized for each origin and each processor
individually. The default Web indicates notifications shown in the
Backstage UI. By default, if there are no settings saved in the
database, all notifications are enabled for all processors.

The origins will populate by time for each user as they receive the
first notification from that origin. Processors are shown as their own
columns.

Later, if it makes sense, allow users to also disable/enable
notifications based on notification topic.

Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
2024-10-18 10:38:36 +03:00
Fredrik Adelöw e836b774d5 support expect on mock catalog service methods
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2024-10-10 14:26:39 +02:00
Patrik Oldsberg 1c6f1424bd notifications-backend: avoid use of insecure express response patterns
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2024-09-16 13:00:19 +02:00
Fredrik Adelöw 0e77776b51 implement in some tests
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2024-09-11 13:12:00 +02:00
Johan Haals 53d44d5e10 Merge pull request #26419 from dweber019/fix/notification-icon
fix: implement icon in backend and show icon in table if available
2024-09-05 07:56:50 +02:00
David Weber 4a53dd0384 fix: implement icon in backend and show icon in table if available
Signed-off-by: David Weber <david.weber@w3tec.ch>
Signed-off-by: David Weber <david.weber.schenker@gmail.com>
2024-09-03 17:24:30 +02:00
Fredrik Adelöw 5edd344c98 inject catalog client where possible in the new backend system
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2024-09-02 17:13:58 +02:00
Marek Libra bed9655d99 Merge pull request #26019 from drodil/uri_validation
fix: validate notification link when posting
2024-08-29 12:29:46 +02:00
Heikki Hellgren f1959726fe fix: validate notification link when posting
fixes an issue that allows posting notifications containing links with
cross-site scripting attack

Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
2024-08-15 09:06:39 +03:00
Marek Libra d55b8e317d Avoid false check for broadcast emails
Signed-off-by: Marek Libra <marek.libra@gmail.com>
2024-08-14 15:13:51 +02:00
Patrik Oldsberg 9ad63932cf Merge pull request #25685 from JounQin/fix/notifications
fix: consider broadcast union with user
2024-08-14 12:20:02 +02:00
Heikki Hellgren 7a05f50908 fix: allow using notifications without users in catalog
additionally refactored and added tests for the notification receiver
logic

fixes #25768

Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
2024-07-25 13:45:40 +03:00
JounQin 0ce75e308d test: add related test cases
Signed-off-by: JounQin <admin@1stg.me>
2024-07-18 20:24:54 +08:00
JounQin 2322291216 fix: consider broadcast union with user
close #25682

Signed-off-by: JounQin <admin@1stg.me>
2024-07-18 19:32:43 +08:00
Vladimir Kobzev d7b8ca5aca Add topic field to NotificationGetOptions, add router query topic param, add topic filter to DatabaseNotificationsStore.ts, add unit test
Signed-off-by: Vladimir Kobzev <vkobzev@bol.com>
2024-06-03 10:58:42 +02:00
Marek Libra 484d11f469 Merge pull request #24731 from ydayagi/flpath1289
feat: add notifications filtering by processors
2024-05-22 12:50:53 +02:00
Yaron Dayagi 07a789b8c5 feat: add notifications filtering by processors
Signed-off-by: Yaron Dayagi <ydayagi@redhat.com>
2024-05-20 17:07:06 +03:00
Camila Belo eb34b87d5a refactor: stop using getVoidLogger in tests
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2024-05-16 09:21:54 +02:00
Camila Belo d229dc49ad refator(backend-common): extract path utilities to plugin api
Signed-off-by: Camila Belo <camilaibs@gmail.com>
2024-05-13 13:23:45 +02:00
Heikki Hellgren 295c05db69 feat: support to filter notification recipients after resolving
Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
2024-04-21 21:50:15 +03:00