Skip to content

Teams

synapseclient.team

Functions that interact with Synapse Teams

Classes

UserProfile

Bases: DictObject

Information about a Synapse user. In practice the constructor is not called directly by the client.

ATTRIBUTE DESCRIPTION
ownerId

A foreign key to the ID of the 'principal' object for the user.

uri

The Uniform Resource Identifier (URI) for this entity.

etag

Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates.

firstName

This person's given name (forename)

lastName

This person's family name (surname)

emails

The list of user email addresses registered to this user.

userName

A name chosen by the user that uniquely identifies them.

summary

A summary description about this person

position

This person's current position title

location

This person's location

industry

The industry/discipline that this person is associated with

company

This person's current affiliation

profilePicureFileHandleId

The File Handle ID of the user's profile picture.

url

A link to more information about this person

notificationSettings

Source code in synapseclient/team.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class UserProfile(DictObject):
    """
    Information about a Synapse user.  In practice the constructor is not called directly by the client.

    Attributes:
        ownerId: A foreign key to the ID of the 'principal' object for the user.
        uri: The Uniform Resource Identifier (URI) for this entity.
        etag: Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates.
        Since the E-Tag changes every time an entity is updated it is
        used to detect when a client's current representation
        of an entity is out-of-date.
        firstName: This person's given name (forename)
        lastName: This person's family name (surname)
        emails: The list of user email addresses registered to this user.
        userName: A name chosen by the user that uniquely identifies them.
        summary: A summary description about this person
        position: This person's current position title
        location: This person's location
        industry: The industry/discipline that this person is associated with
        company: This person's current affiliation
        profilePicureFileHandleId: The File Handle ID of the user's profile picture.
        url: A link to more information about this person
        notificationSettings: An object of type [org.sagebionetworks.repo.model.message.Settings](https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/message/Settings.html)
        containing the user's preferences regarding when email notifications should be sent
    """

    def __init__(self, **kwargs):
        super(UserProfile, self).__init__(kwargs)

UserGroupHeader

Bases: DictObject

Select metadata about a Synapse principal. In practice the constructor is not called directly by the client.

ATTRIBUTE DESCRIPTION
firstName

First Name

lastName

Last Name

userName

A name chosen by the user that uniquely identifies them.

email

User's current email address

isIndividual

True if this is a user, false if it is a group

Source code in synapseclient/team.py
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
class UserGroupHeader(DictObject):
    """
    Select metadata about a Synapse principal.
    In practice the constructor is not called directly by the client.

    Attributes:
        ownerId A foreign key to the ID of the 'principal' object for the user.
        firstName: First Name
        lastName: Last Name
        userName: A name chosen by the user that uniquely identifies them.
        email: User's current email address
        isIndividual: True if this is a user, false if it is a group
    """

    def __init__(self, **kwargs):
        super(UserGroupHeader, self).__init__(kwargs)

Team

Bases: DictObject

Represents a Synapse Team. User definable fields are:

ATTRIBUTE DESCRIPTION
icon

The fileHandleId for icon image of the Team

description

A short description of this Team.

name

The name of the Team.

canPublicJoin

true for teams which members can join without an invitation or approval

Source code in synapseclient/team.py
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
class Team(DictObject):
    """
    Represents a [Synapse Team](https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/Team.html).
    User definable fields are:

    Attributes:
        icon: The fileHandleId for icon image of the Team
        description: A short description of this Team.
        name: The name of the Team.
        canPublicJoin: true for teams which members can join without an invitation or approval
    """

    def __init__(self, **kwargs):
        super(Team, self).__init__(kwargs)

    @classmethod
    def getURI(cls, id):
        return "/team/%s" % id

    def postURI(self):
        return "/team"

    def putURI(self):
        return "/team"

    def deleteURI(self):
        return "/team/%s" % self.id

    def getACLURI(self):
        return "/team/%s/acl" % self.id

    def putACLURI(self):
        return "/team/acl"

TeamMember

Bases: DictObject

Contains information about a user's membership in a Team. In practice the constructor is not called directly by the client.

ATTRIBUTE DESCRIPTION
teamId

The ID of the team

member

An object of type org.sagebionetworks.repo.model.UserGroupHeader describing the member

isAdmin

Whether the given member is an administrator of the team

Source code in synapseclient/team.py
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
class TeamMember(DictObject):
    """
    Contains information about a user's membership in a Team.
    In practice the constructor is not called directly by the client.

    Attributes:
        teamId: The ID of the team
        member: An object of type [org.sagebionetworks.repo.model.UserGroupHeader](https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/UserGroupHeader.html)
                describing the member
        isAdmin: Whether the given member is an administrator of the team

    """

    def __init__(self, **kwargs):
        if "member" in kwargs:
            kwargs["member"] = UserGroupHeader(**kwargs["member"])
        super(TeamMember, self).__init__(kwargs)