Class SupportMessage
One entry in a support case's transcript.
public record SupportMessage : IEquatable<SupportMessage>
- Inheritance
-
SupportMessage
- Implements
- Inherited Members
Remarks
The author is recorded twice, and both are needed. AuthorIdentity is the stable
subject that survives everything and can be matched exactly; AuthorName is a snapshot taken
when the message was written, so the transcript stays readable after the author is deleted or leaves the
team. The audit trail carries the same pair, for the same reason — see AuditEntry.CallerUserIdentity
and AuditEntry.CallerIdentity.
Properties
AuthorIdentity
The author's stable authentication subject, or null for a System
entry.
public string AuthorIdentity { get; init; }
Property Value
AuthorName
The author's display name as it was when the message was written.
public string AuthorName { get; init; }
Property Value
Body
public required string Body { get; init; }
Property Value
Delivery
Whether this entry reached the case's external channel.
public SupportMessageDelivery Delivery { get; init; }
Property Value
Remarks
A message that arrived from a channel is Sent by definition — it is already there, and posting it back would echo it.
Kind
public required SupportMessageKind Kind { get; init; }
Property Value
SentAt
public required DateTime SentAt { get; init; }
Property Value
Sequence
Position in the case's transcript, from 1. Also the paging cursor.
public required int Sequence { get; init; }
Property Value
Source
The channel this entry arrived from, or null when it was written through the application
itself.
public SupportChannelType? Source { get; init; }
Property Value
Remarks
Where a message came from is not the same question as who wrote it. Kind says whether a person or the toolkit produced the entry; this says which door it came through, and the two vary independently.
It carries how much the attribution can be trusted, which is why it is worth surfacing rather
than logging. An entry written through the application was authored by an authenticated caller. One
from Email was not: mail is accepted on a sender match, because
nothing about a From: header authenticates anybody. A reader deciding how much weight to put on
a name needs to be able to tell those apart.