Name | DBO | DTO |
---|
| - Primary key: Message ID
- Foreign Key: Thread IDForeign key: CreatedBy (UserGroup)
- RecipientType (string)
- Recipients (gzip-blob)
- Subject
- S3 File Handle
- CreatedOn
- Foreign key: parent Message ID
| - ID (derived from ID generator)
- Thread ID (optional or derived from ID generator)
- Seems like this field can be hidden, instead users supply a replyTo parameter/field, which fills in this value
- To (RecipientBundle)
- Subject (string)
- Message Body (string, no attachments)
- CreatedOn
- CreatedBy (principal ID) (upon creation filled in for the authenticated user)
|
| - Primary key: Thread ID
- Foreign key: Message ID
| |
| - Primary key: Message ID
- Up votes
- Down votes
| TBD |
| - Foreign key: Message ID
- Foreign key: Recipient ID (UserGroup)
- States: UNREAD, READ, ARCHIVED
| |
| - Foreign key: Thread ID
- Unique key: Object ID, Object type
| |
| - Foreign key: User ID (UserGroup)
- Blob of settings
- Etag
| - ID
- Notification levels
- Update to an owned entity
- Update to some favorite entity
- Team
- Message from user
- Mail to everyone
- Etc...
- Message receipt email (if more than one)
- Auto-mark mail as read if forwarded to email
|
| | Bundles the User Message and Message Status |
| | - RecipientType
- May be a principal, entity, ...
- Array of IDs
- All IDs must be valid (404 otherwise)
|