33 lines
1.8 KiB
C#
33 lines
1.8 KiB
C#
using MongoDB.Entities;
|
|||
|
|
|
||
|
|
namespace PrivaPub.Models.Statistics
|
||
|
|
{
|
||
|
|
public class InteractionEvent : Entity
|
||
|
|
{
|
||
|
|
public static readonly TimeSpan Retention = TimeSpan.FromDays(90);
|
||
|
|
|
||
|
|
public DateTime At { get; set; } = DateTime.UtcNow;
|
||
|
|
public string Host { get; set; }//the remote server, lowercase; "-" when unverified and unknown
|
||
|
|
public string Channel { get; set; }//recv | in | out | http | preview | crawl
|
||
|
|
public string Activity { get; set; }//Create, Follow, ...; "other" when it is no plain type name
|
||
|
|
public string Object { get; set; }//Note, Article, Person, ...
|
||
|
|
public string Purpose { get; set; }//http and crawl: actor, key, object, context, webfinger, nodeinfo, ...
|
||
|
|
public string Trigger { get; set; }//http: what caused the request (inbox, deliver, describe, request, ...)
|
||
|
|
public string Outcome { get; set; }//queued, refused, accepted, dropped, ok, failed, deferred, retry, dead
|
||
|
|
public string Reason { get; set; }
|
||
|
|
public int? Status { get; set; }
|
||
|
|
public int? LatencyMs { get; set; }
|
||
|
|
public int? WaitMs { get; set; }//in: since it reached the inbox; out: since it was queued
|
||
|
|
public long? Bytes { get; set; }
|
||
|
|
public int? Attempt { get; set; }
|
||
|
|
public int? Redirects { get; set; }
|
||
|
|
public string Audience { get; set; }//public | unlisted | private | none
|
||
|
|
public string LocalKind { get; set; }//person | group | application, only on public and unlisted traffic
|
||
|
|
public string Inbox { get; set; }//shared | personal
|
||
|
|
public string Signature { get; set; }//"cavage:rsa-sha256", "none"
|
||
|
|
public string ActorHash { get; set; }//keyed with that day's salt, never reversible, never linkable across days
|
||
|
|
public List<string> Features { get; set; }
|
||
|
|
public long? AgeSeconds { get; set; }//Update and Delete: how old the object was
|
||
|
|
public bool Crawl { get; set; }
|
||
|
|
}
|
||
|
|
}
|