// 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; }
}
}