Files
raven/server/AyaNova/models/NotifyDeliveryLog.cs
2021-08-02 22:28:30 +00:00

59 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using AyaNova.Biz;
using System.ComponentModel.DataAnnotations;
using Newtonsoft.Json;
namespace AyaNova.Models
{
//This model holds the deliveries that have been attempted in the past 90 days (cleaned out by corenotifysweeper)
//it is used for verification / troubleshooting purposes from the OPS log
//and also used as a circuit breaker by the corejobnotify to ensure users are not spammed with identical messages
public class NotifyDeliveryLog
{
public long Id { get; set; }
public uint Concurrency { get; set; }
[Required]
public DateTime Processed { get; set; }
//public AyaType AyaType { get; set; }
public long ObjectId { get; set; }
// [Required]
//public NotifyEventType EventType { get; set; }
[Required]
public long NotifySubscriptionId { get; set; }
// [Required]
// public long IdValue { get; set; }
//[Required]
// public decimal DecValue { get; set; }
// [Required]
// public long UserId { get; set; }
// [Required]
// public NotifyDeliveryMethod DeliveryMethod { get; set; }
[Required]
public bool Fail { get; set; }
public string Error { get; set; }
public NotifyDeliveryLog()
{
Processed = DateTime.UtcNow;
Fail = false;
// IdValue = 0;
// DecValue = 0;
// AyaType = AyaType.NoType;
ObjectId = 0;
}
//linked entity
public NotifySubscription NotifySubscription { get; set; }
}//eoc
}//eons