45 lines
1.5 KiB
C#
45 lines
1.5 KiB
C#
namespace PlotLine.Models;
|
|
|
|
public static class WordCompanionPresenceStatuses
|
|
{
|
|
public const string Connecting = "Connecting";
|
|
public const string Connected = "Connected";
|
|
public const string Offline = "Offline";
|
|
}
|
|
|
|
public sealed class WordCompanionPresenceRegistration
|
|
{
|
|
public int? UserID { get; init; }
|
|
public string? CompanionVersion { get; init; }
|
|
public string? MachineName { get; init; }
|
|
public bool DocumentOpen { get; init; }
|
|
public string? CurrentDocumentName { get; init; }
|
|
public int? LinkedProjectID { get; init; }
|
|
public int? LinkedBookID { get; init; }
|
|
}
|
|
|
|
public sealed class WordCompanionPresenceHeartbeat
|
|
{
|
|
public string? CompanionVersion { get; init; }
|
|
public string? MachineName { get; init; }
|
|
public bool DocumentOpen { get; init; }
|
|
public string? CurrentDocumentName { get; init; }
|
|
public int? LinkedProjectID { get; init; }
|
|
public int? LinkedBookID { get; init; }
|
|
}
|
|
|
|
public sealed class WordCompanionPresenceStatus
|
|
{
|
|
public int UserID { get; init; }
|
|
public bool IsConnected { get; init; }
|
|
public string Status { get; init; } = WordCompanionPresenceStatuses.Offline;
|
|
public string? CompanionVersion { get; init; }
|
|
public string? MachineName { get; init; }
|
|
public bool DocumentOpen { get; init; }
|
|
public string? CurrentDocumentName { get; init; }
|
|
public int? LinkedProjectID { get; init; }
|
|
public int? LinkedBookID { get; init; }
|
|
public DateTime? ConnectedUtc { get; init; }
|
|
public DateTime? LastHeartbeatUtc { get; init; }
|
|
}
|