...
Name | DBO | Migration | DTO |
---|---|---|---|
MessageContent (Immutable after creation) | ID (PK) Etag MessageBody (S3 File Handle ID) CreatedOn CreatedBy (FK to JDOUSERGROUP) InReplyTo (FK to ID column) (nullable) | backUpID is ID Note: Etag is required because MessageStatus is mutable | interface (superclass represented as JSON schema)
|
MessageToUser (Immutable after creation) | MessageContentID (FK to MessageContent) Subject (nullable) | Secondary to MessageContent backUpID is MessageContentID | implements MessageContent Subject (string, optional) |
MessageRecipient (Immutable after creation) | FK to MessageContent FK to JDOUSERGOUP | Secondary to MessageContent backUpID is MessageContentID | n/a |
MessageStatus |
| Secondary to MessageContent backUpID is MessageContentID |
|
Comment (Immutable after creation) | MessageContentID (FK to MessageContent) TargetType (Enum ObjectType) TargetID | Secondary to MessageContent backUpID is MessageContentID | implements MessageContent |
MessageInReplyToRoot (Immutable after creation) |
| Secondary to MessageContent backUpID is MessageContentID | n/a |
|
|
| |
|
|
| |
| Bundles the Message and Message Status | ||
|
|
...