Skip to content

Commit 6b77773

Browse files
Added team membership
1 parent 771737d commit 6b77773

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

tempoapiclient/client.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@ def _list(self, url, **params):
6161
if "next" not in metadata or metadata.get("count", 0) < metadata.get("limit", 0):
6262
break
6363

64+
def _single(self, url, **params):
65+
# Resolve parameters
66+
url = self.BASE_URL + url
67+
headers = { "Authorization": "Bearer {}".format(self._token) }
68+
69+
# Return a single result
70+
response = requests.get(url, params=params, headers=headers)
71+
response.raise_for_status()
72+
data = response.json()
73+
yield data
74+
6475
def get_accounts(self):
6576
"""
6677
Retrieve existing accounts as a dictionary.
@@ -150,6 +161,30 @@ def get_team_worklogs(self, date_from, date_to, teamid):
150161
params = { "from": date_from, "to": date_to, "limit": self.MAX_RESULTS }
151162
return self._list(url, **params)
152163

164+
def get_team_members(self, teamid):
165+
"""
166+
Returns members for particular ```team```.
167+
"""
168+
169+
url = f"/teams/{teamid}/members"
170+
return self._list(url)
171+
172+
def get_team_memberships(self, membershipid):
173+
"""
174+
Returns members for particular ```team membership id```.
175+
"""
176+
177+
url = f"/team-memberships/{membershipid}"
178+
return self._single(url)
179+
180+
def get_account_team_membership(self, teamid, accountid):
181+
"""
182+
Returns the active team membership of a specific ```accountid``` in a specific ```teamid```.
183+
"""
184+
185+
url = f"/teams/{teamid}/members/{accountid}"
186+
return self._single(url)
187+
153188
def get_user_schedule(self, date_from, date_to, user=None):
154189
"""
155190
Returns user schedule inside ```date_from``` and ```date_to```,

0 commit comments

Comments
 (0)