forked from xiongyuxing/tiku-backend.net
27 lines
686 B
C#
27 lines
686 B
C#
using System.Text.Json;
|
|
using Tiku.Domain.Operations;
|
|
|
|
namespace Tiku.Application.Notifications;
|
|
|
|
public sealed record InAppNotificationRequest(
|
|
Guid TenantId,
|
|
Guid UserId,
|
|
string NotificationType,
|
|
NotificationSeverity Severity,
|
|
string Title,
|
|
string Message,
|
|
Guid? CreatedBy = null,
|
|
string? ActionLabel = null,
|
|
string? ActionPath = null,
|
|
string? SourceType = null,
|
|
Guid? SourceId = null,
|
|
string? DedupeKey = null,
|
|
JsonElement Metadata = default);
|
|
|
|
public interface INotificationProvider
|
|
{
|
|
Task<UserNotification> UpsertInAppAsync(
|
|
InAppNotificationRequest request,
|
|
CancellationToken cancellationToken = default);
|
|
}
|