Versions Compared

Key

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

Introduction

...

Existing Model (modified)
Team

id

name

description

icon

canPublicJoin

etag

createdOn

modifiedOn

createdBy

modifiedBy

canRequestMembership (boolean)

Related

...

APIs

URIMethod

Description

Modification

Access Check Performed
MethodTeam
Request ParametersRequest BodyResponse BodyNotes
/teamPUT

Updates the Team metadata for the specified team. 


UPDATE

--

TeamTeam

No modification would be needed to update canRequestMembership boolean.

Performing an UPDATE access check is acceptable.

Need to throw an exception when canPublicJoin is true and canRequestMembership is set to false.

UPDATEPUT

--

Team
/membershipRequestPOST

Create a membership request and send an email notification to the administrators of the team. The Team must be specified. Optionally, the creator may include a message and/or expiration date for the request. If no expiration date is specified then the request never expires.


-

acceptInvitationEndpoint

notificationUnsubscribeEndpoint

MembershipRequestMembershipRequest

Must check canRequestMembership. If false, a 400 bad request status code will be returned stating the team is closed for membership requests. 

/membershipInvitationPOST

Create a membership invitation and send an email notification to the invitee. The team must be specified. Also, either an inviteeId or an inviteeEmail must be specified. Optionally, the creator may include an invitation message and/or expiration date for the invitation. If no expiration date is specified then the invitation never expires.


CREATE

acceptInvitationEndpoint

notificationUnsubscribeEndpoint

MembershipInvitationMembershipInvitationNo change required. Team managers will always be able to invite users to the team. 
/team/{id}/member/{principalId}PUTAdd a member to the Team. If the one making the request is the user to be added, then the user must have an open invitation from the Team. If the one making the request is an administrator on the Team, then there must be a pending request from the user to the Team, asking to be added.TEAM_MEMBERSHIP_UPDATE---No change required. This service checks that a pending invite/request exists already before adding the user. This allows the user to join the team regardless of the status of canRequestMembership. 
TEAM_MEMBERSHIP_UPDATE
/teamMemberPUT
----
/teamMember
Add a member to the Team. Note: The request is authenticated by a hash message authentication code in the request body, generated by Synapse. The intended use of this service is by the portal, completing a round trip with a 'one-click join-team' link provided to the user by Synapse via email. TEAM_MEMBERSHIP_UPDATEportalEndpointNewUser-No change required. This service checks that a pending invite/request exists already before adding the user. This allows the user to join the team regardless of the status of canRequestMembership.
TEAM_MEMBERSHIP_UPDATEPUT

portalEndpoint

NewUser--/membershipInvitation

Create a membership invitation and send an email notification to the invitee. The team must be specified. Also, either an inviteeId or an inviteeEmail must be specified. Optionally, the creator may include an invitation message and/or expiration date for the invitation. If no expiration date is specified then the invitation never expires.

No change required. Team managers will always be able to invite users to the team. CREATEPOST

acceptInvitationEndpoint

notificationUnsubscribeEndpoint

MembershipInvitationMembershipInvitation/membershipRequest

Create a membership request and send an email notification to the administrators of the team. The Team must be specified. Optionally, the creator may include a message and/or expiration date for the request. If no expiration date is specified then the request never expires.

Must check canRequestMembership. If false, a 403 Forbidden status code will be returned stating the team is closed for membership requests. 

--POST

acceptInvitationEndpoint

notificationUnsubscribeEndpoint

MembershipRequestMembershipRequest

Behavior with canPublicJoin






canRequestMembership
TrueFalse
canPublicJoin

TrueUser can join team without membership request.User can join team without membership request.
FalseUser must submit membership request to join team.No user can request membership.

Related JIRA issues


Jira Legacy
serverSystem JIRA
serverIdba6fb084-9827-3160-8067-8ac7470f78b2
keyPLFM-7425

...