jetherald/JetHerald/Contracts/IDb.cs

87 lines
2.2 KiB
C#

namespace JetHerald.Contracts;
public class Topic
{
public uint TopicId { get; set; }
public uint CreatorId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string ReadToken { get; set; }
public string WriteToken { get; set; }
public NamespacedId? Sub { get; set; }
public override string ToString()
=> Name == Description ? Name : $"{Name}: {Description}";
}
public class Heart
{
public uint HeartId { get; set; }
public uint TopicId { get; set; }
public string Name { get; set; }
public string Status { get; set; }
public DateTime LastBeatTs { get; set; }
public DateTime ExpiryTs { get; set; }
public DateTime CreateTs { get; set; }
}
public class HeartEvent
{
public ulong HeartEventId { get; set; }
public uint TopicId { get; set; }
public string Heart { get; set; }
public DateTime CreateTs { get; set; }
public string Description { get; set; }
}
public class User
{
public uint UserId { get; set; }
public string Login { get; set; }
public string Name { get; set; }
public byte[] PasswordHash { get; set; }
public byte[] PasswordSalt { get; set; }
public int HashType { get; set; }
public uint PlanId { get; set; }
public uint RoleId { get; set; }
public string Allow { get; set; }
public int? MaxTopics { get; set; }
public int? TimeoutMultiplier { get; set; }
public DateTime CreateTs { get; set; }
}
public class UserInvite
{
public uint UserInviteId { get; set; }
public string InviteCode { get; set; }
public uint PlanId { get; set; }
public uint RoleId { get; set; }
public uint RedeemedBy { get; set; }
}
public class UserSession
{
public string SessionId { get; set; }
public byte[] SessionData { get; set; }
public DateTime ExpiryTs { get; set; }
}
public class Plan
{
public uint PlanId { get; set; }
public string Name { get; set; }
public int MaxTopics { get; set; }
public double TimeoutMultiplier { get; set; }
}
public class Role
{
public uint RoleId { get; set; }
public string Name { get; set; }
public string Allow { get; set; }
}