Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Task marked incomplete

...

MethodURIunderlying query (if any)BodyParametersReturnDescriptionPermission
  •  GET
/message/inboxselect * from messagecontent c, messagetouser m, messagestatus s where c.ID=m.messageContentID and s.messageContentID=c.ID and s.recipientID=<pid> 

Sorting + pagination

Paginated results<MessageBundle>Gets all messages the authenticated user has receivedAuthenticated User
  •  GET
/message/outbox

select * from messagecontent c, messagetouser m where c.ID=m.messageContentID and c.createdBy=<pid>

TODO:  what is the best way to populate the recipients?

 

Sorting + pagination

Paginated results<Message>Gets all messages the authenticated user has sentAuthenticated User
  •  POST
/messagen/aMessageinReplyTo=null (i.e. another Message)MessageSends 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

  •  POST
/message/checkuse existing userGroupDAO query to check recipients.MessageinReplyTo=null (i.e. another Message)

Boolean

ErrorResponse (question)

Checks to see if the message is correctly formatted and that the sender has permission to send to the indicated recipientsAuthenticated User
  •  POST
/message/{id}/forwardn/aRecipientBundle  Forwards a message to other recipients. This is equivalent to getting a (visible) message and POST-ing it to /messageSender or Receiver
  •  POST
/entity/{id}/commentsn/aMessage MessageConvenience method for commenting on an entity. The service fills out fields like message ID, thread ID, and recipients, leaving just subject and body for the user.

Authenticated user with SEND_MESSAGE permission on entity

  •  GET
/message/{id}select * from messagecontent c, messagetouser m where c.ID=m.messageContentID and c.ID=<id>  MessageGets a specific messageSender or Receiver
  •  GET
/message/{id}/conversationTODO 

Sorting + pagination

Paginated results<Message>Gets messages belonging in the same thread as the message ID.  The list is filtered according to the user's ID.Sender or Receiver
  •  GET
/entity/{id}/comments

select * from messagecontent mc, comment c, inreploytoroot r

where

mc.ID=c.messageContentID and c.TargetType='ENTITY" and c.TargetID=<id>

 

Sorting + pagination

Paginated results<Message>Gets message belonging to the thread tied to the entity.Authenticated user with READ permission on entity
  •  GET
/message/{id}/statusselect * from messagestatus where messagstatus.messageContentID=<id>  Message StatusGets the status of a messageReceiver
  •  PUT
/message/statusn/aMessageStatus  

Marks a message as:

  • READ
  • UNREAD
  • ARCHIVED
Receiver
  •  GET
/message/settingsTODO  MessageSettingsGets the notification settings of the userAuthenticated User
  •  PUT
/message/settingsTODOMessageSettings  Changes notification settingsAuthenticated User

...