Files
sockeye/server/models/Notification.cs
2022-12-16 06:01:23 +00:00

48 lines
1.3 KiB
C#

using System;
using Sockeye.Biz;
using System.ComponentModel.DataAnnotations;
using Newtonsoft.Json;
namespace Sockeye.Models
{
public class InAppNotification
{
public long Id { get; set; }
public uint Concurrency { get; set; }
[Required]
public long UserId { get; set; }
[Required]
public DateTime Created { get; set; }
public SockType? SockType { get; set; }
public long? ObjectId { get; set; }
[Required]
public string Name { get; set; }//object name or closest equivalent for display
[Required]
public NotifyEventType EventType { get; set; }
[Required]
public long NotifySubscriptionId { get; set; }
public string Message { get; set; }
public TimeSpan AgeValue { get; set; }
public decimal DecValue { get; set; }
[Required]
public bool Fetched { get; set; }
public InAppNotification()
{
Created = DateTime.UtcNow;
Fetched = false;
Name = string.Empty;
AgeValue = TimeSpan.Zero;
DecValue = 0m;
}
//linked entity
[JsonIgnore]
public NotifySubscription NotifySubscription { get; set; }
}//eoc
}//eons