diff --git a/Application/Alerts/AlertExtensions.cs b/Application/Alerts/AlertExtensions.cs
index b90db826..933f4e8b 100644
--- a/Application/Alerts/AlertExtensions.cs
+++ b/Application/Alerts/AlertExtensions.cs
@@ -5,8 +5,17 @@ using SharedLibraryCore.Database.Models;
namespace IW4MAdmin.Application.Alerts;
+///
+/// extension method helper class to allow building of alerts
+///
public static class AlertExtensions
{
+ ///
+ /// builds basic alert for user with provided category
+ ///
+ /// client to build the alert for
+ /// alert category
+ ///
public static Alert.AlertState BuildAlert(this EFClient client, Alert.AlertCategory? type = null)
{
return new Alert.AlertState
@@ -16,36 +25,72 @@ public static class AlertExtensions
};
}
+ ///
+ /// sets the category for an existing alert
+ ///
+ /// existing alert
+ /// new category
+ ///
public static Alert.AlertState WithCategory(this Alert.AlertState state, Alert.AlertCategory category)
{
state.Category = category;
return state;
}
+ ///
+ /// sets the alert type for an existing alert
+ ///
+ /// existing alert
+ /// new type
+ ///
public static Alert.AlertState OfType(this Alert.AlertState state, string type)
{
state.Type = type;
return state;
}
+ ///
+ /// sets the message for an existing alert
+ ///
+ /// existing alert
+ /// new message
+ ///
public static Alert.AlertState WithMessage(this Alert.AlertState state, string message)
{
state.Message = message;
return state;
}
+ ///
+ /// sets the expiration duration for an existing alert
+ ///
+ /// existing alert
+ /// duration before expiration
+ ///
public static Alert.AlertState ExpiresIn(this Alert.AlertState state, TimeSpan expiration)
{
state.ExpiresAt = DateTime.Now.Add(expiration);
return state;
}
-
+
+ ///
+ /// sets the source for an existing alert
+ ///
+ /// existing alert
+ /// new source
+ ///
public static Alert.AlertState FromSource(this Alert.AlertState state, string source)
{
state.Source = source;
return state;
}
+ ///
+ /// sets the alert source to the provided client
+ ///
+ /// existing alert
+ /// new client
+ ///
public static Alert.AlertState FromClient(this Alert.AlertState state, EFClient client)
{
state.Source = client.Name.StripColors();