// Copyright Epic Games, Inc. All Rights Reserved. using HordeServer.Api; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using System.Collections.Generic; namespace HordeServer.Models { /// /// An individual subscription /// public interface INotificationSubscription { /// /// Name of the user /// public ObjectId UserId { get; } /// /// Whether to receive email notifications /// public bool Email { get; } /// /// Whether to receive Slack notifications /// public bool Slack { get; } } /// /// Trigger for notifications to be sent /// public interface INotificationTrigger { /// /// Unique id for this subscription list /// ObjectId Id { get; } /// /// Whether this trigger has been fired /// bool Fired { get; } /// /// List of subscriptions to this event /// public IReadOnlyList Subscriptions { get; } } }