Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The client must ensure Synapse is logged out before the sequence begins.

 

Services

 

URIRequest MethodRequest Param'sRequest BodyResponse BodyDescriptionAuthority
/userPrecursorPOST email, fname, lname, invitation messageID, token

Create a user precursor for the given email address.

Sends email to invited user.

400 response if email has been used before.
authenticated users
/userPrecursorGETlimit, offset PaginatedResults of precursor

Returns all precursors created by the user.

(Ordered by creation time stamp?)

Precursor creator.
/userPrecursor/{id}GET----ID, token, principalID (or null), email, fname, lname Precursor creator.
/userPrecursor/{id}DELETE------

Delete user precursor.

403 status if precursor is already bound to an entity.

Precursor creator.

/userPrecursor/{id}/principal

Q: Is this the best URI?

POSTtoken----Bind a precursor to the principal of the currently authenticated user.  Any entity access records for the precursor become ACL records.Authenticated users.
/userPrecursor/{id}/access/entityPOST--entity ID, access type?

Adds the given access type to the given entity to the given precursor.

403 status if precursor is already bound to an entity.

CHANGE_PERMISSION access to the entity.
/userPrecursor/{id}/access/entity/{entityId}DELETE------

Remove all access to the given entity for the given precursor.

403 status if precursor is already bound to an entity.

CHANGE_PERMISSION access to the entity.
/userPrecursor/{id}/openInvitationGETteamId, limit, offset--PaginatedResults<MembershipInvitation>Get a paginated list of all the open membership invitations extended to a user, optionally filtering by teamId.PUBLIC

Note:  The MembershipInvtnSubmission object is extended to accept either a principal ID or a precursor ID.  So all the CRUD operations on this object now support user precursors.

 TODO:

Database

...

  table columns: ID, token, first, last, email, principalId (initially null)

...

Tables:

USER_PRECURSOR

  • ID
  • TOKEN
  • PRINCIPAL_ID (can be null)
  • USER_PROFILE

 

ACL_PRECURSOR

  • ID
  • ACL_ID
  • USER_PRECURSOR_ID

 

ACL_PRECURSOR_ACCESS_TYPE

  • ID
  • ACL_PRECURSOR_ID
  • ACCESS_TYPE