When we send emails to users, should we download the body of the email and send it in the email body? Or should we tell them to visit the portal?
Name | DBO | Migration | DTO |
---|---|---|---|
(Immutable after creation) |
| Backup via ID Note: Etag is required because MessageStatus is mutable. | Interface
|
(Immutable after creation) |
| Secondary to MessageContent | Implements MessageContent
|
(Immutable after creation) |
| Secondary to MessageContent | |
|
| Secondary to MessageContent |
|
(Immutable after creation) |
| Secondary to MessageContent | Implements MessageContent
|
| Part of UserProfile Use existing services to support this | Secondary to UserGroup |
|
|
| TBD |
|
| Bundles the MessageToUser and Message Status | ||
|
|
'* per Marcel, Comments may have a more complex set of references/relationships than Messages to Users have. Rather than just 'inReplyTo', it might be that one Comment is an 'answer' to another comment which is a question. Further, the multiple answers to a question may have 'previous' references which order them.
Configure Amazon SES
Method | URI | Body | Parameters | Return | Description | Permission |
---|---|---|---|---|---|---|
| /message | MessageToUser | MessageToUser | Sends a message. Note, message delivery permission is on a recipient-by-recipient basis, asynchronous to the message creation. Unauthorized delivery may result in silent failure or a bounce message (TBD). | Authenticated User
Must be admin to send to AUTH_USERS Must have SEND_MESSAGE permission on team to send to team | |
| /message/inbox | Sorting + pagination | Paginated results<MessageBundle> | Gets all messages the authenticated user has received | Authenticated User | |
| /message/outbox | Sorting + pagination | Paginated results<MessageToUser> | Gets all messages the authenticated user has sent | Authenticated User | |
| /message/{id} | MessageToUser | Gets a specific message | Sender or Receiver | ||
| /message/{id}/forward | MessageRecipientSet | MessageToUser | Forwards a message to other recipients. This is equivalent to getting a (visible) message and POST-ing it to /message with a different set of recipients | Sender or Receiver | |
| /message/{id}/conversation | Sorting + pagination | Paginated results<MessageToUser> | Gets messages belonging in the same thread as the message ID. The list is filtered according to the user's ID. | Sender or Receiver | |
| /message/{id}/conversation/forward | MessageRecipientSet | Adds the set of recipients to the conversation by marking each recipient as a receiver of each message within the conversation. Should each recipient be sent the messages (i.e. via email)? Or should a notification be sent instead? | Sender or Receiver | ||
| /message/status | MessageStatus | Marks a message as:
| Receiver | ||
| /message/{id}/file | (Redirect) | Checks to see if the user can read the message and then redirects to the actual URL of the file associated with the message | Sender or Receiver | ||
| /entity/{id}/message | MessageToUser | MessageToUser | Sends a message to the creator or administrator of the given entity. This allows users to ask for permission to see restricted entities. Added per | Authenticated user | |
| /entity/{id}/comment | Comment | Comment | Method for commenting on an entity. | Authenticated user with SEND_MESSAGE permission on entity | |
| /entity/{id}/comment | Sorting + pagination | Paginated results<Comment> | Gets messages belonging to the thread tied to the entity. | Authenticated user with READ permission on entity |