Source code for helpscout.apis.teams

# -*- coding: utf-8 -*-
# Copyright 2017-TODAY LasLabs Inc.
# License MIT (https://opensource.org/licenses/MIT).

from .. import BaseApi

from ..models.person import Person
from ..models.user import User


[docs]class Teams(BaseApi): """This represents the ``Teams`` Endpoint. The following aspects are implemented: * `List Teams <http://developer.helpscout.net/help-desk-api/teams/list/>`_ (:func:`helpscout.apis.teams.Teams.list`) * `Get Teams <http://developer.helpscout.net/help-desk-api/teams/get/>`_ (:func:`helpscout.apis.teams.Teams.get`) * `Get Team Members <http://developer.helpscout.net/help-desk-api/teams/team-members/>`_ (:func:`helpscout.apis.teams.Teams.get_members`) """ __object__ = Person __implements__ = ['get', 'list']
[docs] @classmethod def get(cls, session, team_id): """Return a specific team. Args: session (requests.sessions.Session): Authenticated session. team_id (int): The ID of the team to get. Returns: helpscout.models.Person: A person singleton representing the team, if existing. Otherwise ``None``. """ return cls( '/teams/%d.json' % team_id, singleton=True, session=session, )
[docs] @classmethod def list(cls, session): """List the teams. Args: session (requests.sessions.Session): Authenticated session. Returns: RequestPaginator(output_type=helpscout.models.Person): Person iterator representing the teams. """ return cls('/teams.json', session=session)
[docs] @classmethod def get_members(cls, session, team_or_id): """List the members for the team. Args: team_or_id (helpscout.models.Person or int): Team or the ID of the team to get the folders for. Returns: RequestPaginator(output_type=helpscout.models.Users): Users iterator. """ if isinstance(team_or_id, Person): team_or_id = team_or_id.id return cls( '/teams/%d/members.json' % team_or_id, session=session, out_type=User, )