89 lines
2.7 KiB
C#
89 lines
2.7 KiB
C#
namespace RelayShared.Services;
|
|
|
|
//TODO: review name of file, potentially rename for Encryption services rather than sockets
|
|
|
|
public sealed class SocketRtcSignalMessage
|
|
{
|
|
public SignalType Type { get; set; }
|
|
public string SenderUsername { get; set; } = string.Empty;
|
|
public string ChannelId { get; set; } = string.Empty;
|
|
public string CipherText { get; set; } = string.Empty;
|
|
public string Nonce { get; set; } = string.Empty;
|
|
public string Tag { get; set; } = string.Empty;
|
|
public string EncryptedKey { get; set; } = string.Empty;
|
|
}
|
|
|
|
public sealed class SocketEncryptedMessage
|
|
{
|
|
public SignalType Type { get; set; } = SignalType.EncryptedChat;
|
|
public string MessageId { get; set; } = string.Empty;
|
|
|
|
public string SenderUsername { get; set; } = string.Empty;
|
|
public string RecipientUsername { get; set; } = string.Empty;
|
|
public string ChannelId { get; set; } = string.Empty;
|
|
public string CipherText { get; set; } = string.Empty;
|
|
public string Nonce { get; set; } = string.Empty;
|
|
public string Tag { get; set; } = string.Empty;
|
|
public string EncryptedKey { get; set; } = string.Empty;
|
|
public bool IsEdited { get; set; }
|
|
public bool IsDeleted { get; set; }
|
|
}
|
|
|
|
public sealed class SocketMessageDeletedEvent
|
|
{
|
|
public SignalType Type { get; set; } = SignalType.MessageDeleted;
|
|
public string MessageId { get; set; } = string.Empty;
|
|
public string ChannelId { get; set; } = string.Empty;
|
|
}
|
|
|
|
public sealed class SocketTypingEvent
|
|
{
|
|
public SignalType Type { get; set; } = SignalType.TypingIndicator;
|
|
public string Username { get; set; } = string.Empty;
|
|
public string ChannelId { get; set; } = string.Empty;
|
|
}
|
|
|
|
public sealed class SocketEditHistoryEntry
|
|
{
|
|
public string CipherText { get; set; } = string.Empty;
|
|
public string Nonce { get; set; } = string.Empty;
|
|
public string Tag { get; set; } = string.Empty;
|
|
public string EncryptedKey { get; set; } = string.Empty;
|
|
public DateTime EditedAt { get; set; }
|
|
}
|
|
|
|
public sealed class SocketEditHistoryResponse
|
|
{
|
|
public SignalType Type { get; set; } = SignalType.EditHistory;
|
|
public string MessageId { get; set; } = string.Empty;
|
|
public List<SocketEditHistoryEntry> Entries { get; set; } = [];
|
|
}
|
|
|
|
public sealed class ServerPublicKeyMessage
|
|
{
|
|
public SignalType Type { get; set; } = SignalType.ServerPublicKey;
|
|
public string PublicKey { get; set; } = string.Empty;
|
|
}
|
|
|
|
public enum SignalType
|
|
{
|
|
Offer,
|
|
Answer,
|
|
Candidate,
|
|
OfferUpdated,
|
|
AnswerUpdated,
|
|
CandidateAdded,
|
|
CallLeft,
|
|
ChannelList,
|
|
ServerPublicKey,
|
|
EncryptedSignal,
|
|
EncryptedChat,
|
|
ClientEncryptedChat,
|
|
ClientEditMessage,
|
|
ClientDeleteMessage,
|
|
MessageEdited,
|
|
MessageDeleted,
|
|
TypingIndicator,
|
|
EditHistory
|
|
}
|