diff --git a/models/notification/src/index.ts b/models/notification/src/index.ts index 433c6ad154..a47049869d 100644 --- a/models/notification/src/index.ts +++ b/models/notification/src/index.ts @@ -71,6 +71,7 @@ export class TNotificationType extends TDoc implements NotificationType { @Model(notification.class.NotificationProvider, core.class.Doc, DOMAIN_MODEL) export class TNotificationProvider extends TDoc implements NotificationProvider { label!: IntlString + default!: boolean } @Model(notification.class.NotificationSetting, core.class.Doc, DOMAIN_NOTIFICATION) @@ -88,11 +89,13 @@ export function createModel (builder: Builder): void { }, notification.ids.MentionNotification) builder.createDoc(notification.class.NotificationProvider, core.space.Model, { - label: notification.string.PlatformNotification + label: notification.string.PlatformNotification, + default: true }, notification.ids.PlatformNotification) builder.createDoc(notification.class.NotificationProvider, core.space.Model, { - label: notification.string.EmailNotification + label: notification.string.EmailNotification, + default: false }, notification.ids.EmailNotification) builder.createDoc(setting.class.SettingsCategory, core.space.Model, { diff --git a/plugins/notification-resources/src/components/NotificationSettings.svelte b/plugins/notification-resources/src/components/NotificationSettings.svelte index be97da4c7d..579d9bc4af 100644 --- a/plugins/notification-resources/src/components/NotificationSettings.svelte +++ b/plugins/notification-resources/src/components/NotificationSettings.svelte @@ -95,6 +95,14 @@ } $: column = providers.length + 1 + + function getStatus (map: Map, Map, NotificationSetting>>, type: Ref, provider: Ref): boolean { + const setting = getSetting(map, type, provider) + if (setting !== undefined) return setting.enabled + const prov = providers.find((p) => p._id === provider) + if (prov === undefined) return false + return prov.default + }
@@ -109,7 +117,7 @@ {#each types as type (type._id)}