Source code for mattermostautodriver.endpoints.teams

from .base import Base


[docs]class Teams(Base):
[docs] def create_team(self, options): """Create a team name: Unique handler for a team, will be present in the team URL display_name: Non-unique UI name for the team type: ``'O'`` for open, ``'I'`` for invite only `Read in Mattermost API docs (teams - CreateTeam) <https://api.mattermost.com/#tag/teams/operation/CreateTeam>`_ """ return self.client.post("""/api/v4/teams""", options=options)
[docs] def get_all_teams(self, params=None): """Get teams page: The page to select. per_page: The number of teams per page. include_total_count: Appends a total count of returned teams inside the response object - ex: ``{ "teams": [], "total_count" : 0 }``. exclude_policy_constrained: If set to true, teams which are part of a data retention policy will be excluded. The ``sysconsole_read_compliance`` permission is required to use this parameter. *Minimum server version*: 5.35 `Read in Mattermost API docs (teams - GetAllTeams) <https://api.mattermost.com/#tag/teams/operation/GetAllTeams>`_ """ return self.client.get("""/api/v4/teams""", params=params)
[docs] def get_team(self, team_id): """Get a team team_id: Team GUID `Read in Mattermost API docs (teams - GetTeam) <https://api.mattermost.com/#tag/teams/operation/GetTeam>`_ """ return self.client.get(f"/api/v4/teams/{team_id}")
[docs] def update_team(self, team_id, options): """Update a team team_id: Team GUID id: display_name: description: company_name: allowed_domains: invite_id: allow_open_invite: `Read in Mattermost API docs (teams - UpdateTeam) <https://api.mattermost.com/#tag/teams/operation/UpdateTeam>`_ """ return self.client.put(f"/api/v4/teams/{team_id}", options=options)
[docs] def soft_delete_team(self, team_id): """Delete a team team_id: Team GUID `Read in Mattermost API docs (teams - SoftDeleteTeam) <https://api.mattermost.com/#tag/teams/operation/SoftDeleteTeam>`_ """ return self.client.delete(f"/api/v4/teams/{team_id}")
[docs] def patch_team(self, team_id, options): """Patch a team team_id: Team GUID display_name: description: company_name: invite_id: allow_open_invite: `Read in Mattermost API docs (teams - PatchTeam) <https://api.mattermost.com/#tag/teams/operation/PatchTeam>`_ """ return self.client.put(f"/api/v4/teams/{team_id}/patch", options=options)
[docs] def update_team_privacy(self, team_id, options): """Update teams's privacy team_id: Team GUID privacy: Team privacy setting: 'O' for a public (open) team, 'I' for a private (invitation only) team `Read in Mattermost API docs (teams - UpdateTeamPrivacy) <https://api.mattermost.com/#tag/teams/operation/UpdateTeamPrivacy>`_ """ return self.client.put(f"/api/v4/teams/{team_id}/privacy", options=options)
[docs] def restore_team(self, team_id): """Restore a team team_id: Team GUID `Read in Mattermost API docs (teams - RestoreTeam) <https://api.mattermost.com/#tag/teams/operation/RestoreTeam>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/restore")
[docs] def get_team_by_name(self, name): """Get a team by name name: Team Name `Read in Mattermost API docs (teams - GetTeamByName) <https://api.mattermost.com/#tag/teams/operation/GetTeamByName>`_ """ return self.client.get(f"/api/v4/teams/name/{name}")
[docs] def search_teams(self, options): """Search teams term: The search term to match against the name or display name of teams page: The page number to return, if paginated. If this parameter is not present with the ``per_page`` parameter then the results will be returned un-paged. per_page: The number of entries to return per page, if paginated. If this parameter is not present with the ``page`` parameter then the results will be returned un-paged. allow_open_invite: Filters results to teams where ``allow_open_invite`` is set to true or false, excludes group constrained channels if this filter option is passed. If this filter option is not passed then the query will remain unchanged. *Minimum server version*: 5.28 group_constrained: Filters results to teams where ``group_constrained`` is set to true or false, returns the union of results when used with ``allow_open_invite`` If the filter option is not passed then the query will remain unchanged. *Minimum server version*: 5.28 exclude_policy_constrained: If set to true, only teams which do not have a granular retention policy assigned to them will be returned. The ``sysconsole_read_compliance_data_retention`` permission is required to use this parameter. *Minimum server version*: 5.35 `Read in Mattermost API docs (teams - SearchTeams) <https://api.mattermost.com/#tag/teams/operation/SearchTeams>`_ """ return self.client.post("""/api/v4/teams/search""", options=options)
[docs] def team_exists(self, name): """Check if team exists name: Team Name `Read in Mattermost API docs (teams - TeamExists) <https://api.mattermost.com/#tag/teams/operation/TeamExists>`_ """ return self.client.get(f"/api/v4/teams/name/{name}/exists")
[docs] def get_teams_for_user(self, user_id): """Get a user's teams user_id: User GUID `Read in Mattermost API docs (teams - GetTeamsForUser) <https://api.mattermost.com/#tag/teams/operation/GetTeamsForUser>`_ """ return self.client.get(f"/api/v4/users/{user_id}/teams")
[docs] def get_team_members(self, team_id, params=None): """Get team members team_id: Team GUID page: The page to select. per_page: The number of users per page. sort: To sort by Username, set to 'Username', otherwise sort is by 'UserID' exclude_deleted_users: Excludes deleted users from the results `Read in Mattermost API docs (teams - GetTeamMembers) <https://api.mattermost.com/#tag/teams/operation/GetTeamMembers>`_ """ return self.client.get(f"/api/v4/teams/{team_id}/members", params=params)
[docs] def add_team_member(self, team_id, options): """Add user to team team_id: Team GUID team_id: user_id: `Read in Mattermost API docs (teams - AddTeamMember) <https://api.mattermost.com/#tag/teams/operation/AddTeamMember>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/members", options=options)
[docs] def add_team_member_from_invite(self): """Add user to team from invite `Read in Mattermost API docs (teams - AddTeamMemberFromInvite) <https://api.mattermost.com/#tag/teams/operation/AddTeamMemberFromInvite>`_ """ return self.client.post("""/api/v4/teams/members/invite""")
[docs] def add_team_members(self, team_id, options): """Add multiple users to team team_id: Team GUID `Read in Mattermost API docs (teams - AddTeamMembers) <https://api.mattermost.com/#tag/teams/operation/AddTeamMembers>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/members/batch", options=options)
[docs] def get_team_members_for_user(self, user_id): """Get team members for a user user_id: User GUID `Read in Mattermost API docs (teams - GetTeamMembersForUser) <https://api.mattermost.com/#tag/teams/operation/GetTeamMembersForUser>`_ """ return self.client.get(f"/api/v4/users/{user_id}/teams/members")
[docs] def get_team_member(self, team_id, user_id): """Get a team member team_id: Team GUID user_id: User GUID `Read in Mattermost API docs (teams - GetTeamMember) <https://api.mattermost.com/#tag/teams/operation/GetTeamMember>`_ """ return self.client.get(f"/api/v4/teams/{team_id}/members/{user_id}")
[docs] def remove_team_member(self, team_id, user_id): """Remove user from team team_id: Team GUID user_id: User GUID `Read in Mattermost API docs (teams - RemoveTeamMember) <https://api.mattermost.com/#tag/teams/operation/RemoveTeamMember>`_ """ return self.client.delete(f"/api/v4/teams/{team_id}/members/{user_id}")
[docs] def get_team_members_by_ids(self, team_id, options): """Get team members by ids team_id: Team GUID `Read in Mattermost API docs (teams - GetTeamMembersByIds) <https://api.mattermost.com/#tag/teams/operation/GetTeamMembersByIds>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/members/ids", options=options)
[docs] def get_team_stats(self, team_id): """Get a team stats team_id: Team GUID `Read in Mattermost API docs (teams - GetTeamStats) <https://api.mattermost.com/#tag/teams/operation/GetTeamStats>`_ """ return self.client.get(f"/api/v4/teams/{team_id}/stats")
[docs] def regenerate_team_invite_id(self, team_id): """Regenerate the Invite ID from a Team team_id: Team GUID `Read in Mattermost API docs (teams - RegenerateTeamInviteId) <https://api.mattermost.com/#tag/teams/operation/RegenerateTeamInviteId>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/regenerate_invite_id")
[docs] def get_team_icon(self, team_id): """Get the team icon team_id: Team GUID `Read in Mattermost API docs (teams - GetTeamIcon) <https://api.mattermost.com/#tag/teams/operation/GetTeamIcon>`_ """ return self.client.get(f"/api/v4/teams/{team_id}/image")
[docs] def set_team_icon(self, team_id, files, data=None): """Sets the team icon team_id: Team GUID image: The image to be uploaded `Read in Mattermost API docs (teams - SetTeamIcon) <https://api.mattermost.com/#tag/teams/operation/SetTeamIcon>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/image", files=files, data=data)
[docs] def remove_team_icon(self, team_id): """Remove the team icon team_id: Team GUID `Read in Mattermost API docs (teams - RemoveTeamIcon) <https://api.mattermost.com/#tag/teams/operation/RemoveTeamIcon>`_ """ return self.client.delete(f"/api/v4/teams/{team_id}/image")
[docs] def update_team_member_roles(self, team_id, user_id, options): """Update a team member roles team_id: Team GUID user_id: User GUID roles: `Read in Mattermost API docs (teams - UpdateTeamMemberRoles) <https://api.mattermost.com/#tag/teams/operation/UpdateTeamMemberRoles>`_ """ return self.client.put(f"/api/v4/teams/{team_id}/members/{user_id}/roles", options=options)
[docs] def update_team_member_scheme_roles(self, team_id, user_id, options): """Update the scheme-derived roles of a team member. team_id: Team GUID user_id: User GUID scheme_admin: scheme_user: `Read in Mattermost API docs (teams - UpdateTeamMemberSchemeRoles) <https://api.mattermost.com/#tag/teams/operation/UpdateTeamMemberSchemeRoles>`_ """ return self.client.put(f"/api/v4/teams/{team_id}/members/{user_id}/schemeRoles", options=options)
[docs] def get_teams_unread_for_user(self, user_id, params=None): """Get team unreads for a user user_id: User GUID exclude_team: Optional team id to be excluded from the results include_collapsed_threads: Boolean to determine whether the collapsed threads should be included or not `Read in Mattermost API docs (teams - GetTeamsUnreadForUser) <https://api.mattermost.com/#tag/teams/operation/GetTeamsUnreadForUser>`_ """ return self.client.get(f"/api/v4/users/{user_id}/teams/unread", params=params)
[docs] def get_team_unread(self, user_id, team_id): """Get unreads for a team user_id: User GUID team_id: Team GUID `Read in Mattermost API docs (teams - GetTeamUnread) <https://api.mattermost.com/#tag/teams/operation/GetTeamUnread>`_ """ return self.client.get(f"/api/v4/users/{user_id}/teams/{team_id}/unread")
[docs] def invite_users_to_team(self, team_id, options): """Invite users to the team by email team_id: Team GUID `Read in Mattermost API docs (teams - InviteUsersToTeam) <https://api.mattermost.com/#tag/teams/operation/InviteUsersToTeam>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/invite/email", options=options)
[docs] def invite_guests_to_team(self, team_id, options): """Invite guests to the team by email team_id: Team GUID emails: List of emails channels: List of channel ids message: Message to include in the invite `Read in Mattermost API docs (teams - InviteGuestsToTeam) <https://api.mattermost.com/#tag/teams/operation/InviteGuestsToTeam>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/invite-guests/email", options=options)
[docs] def invalidate_email_invites(self): """Invalidate active email invitations `Read in Mattermost API docs (teams - InvalidateEmailInvites) <https://api.mattermost.com/#tag/teams/operation/InvalidateEmailInvites>`_ """ return self.client.delete("""/api/v4/teams/invites/email""")
[docs] def import_team(self, team_id, files, data=None): """Import a Team from other application team_id: Team GUID file: A file to be uploaded in zip format. filesize: The size of the zip file to be imported. importFrom: String that defines from which application the team was exported to be imported into Mattermost. `Read in Mattermost API docs (teams - ImportTeam) <https://api.mattermost.com/#tag/teams/operation/ImportTeam>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/import", files=files, data=data)
[docs] def get_team_invite_info(self, invite_id): """Get invite info for a team invite_id: Invite id for a team `Read in Mattermost API docs (teams - GetTeamInviteInfo) <https://api.mattermost.com/#tag/teams/operation/GetTeamInviteInfo>`_ """ return self.client.get(f"/api/v4/teams/invite/{invite_id}")
[docs] def update_team_scheme(self, team_id, options): """Set a team's scheme team_id: Team GUID scheme_id: The ID of the scheme. `Read in Mattermost API docs (teams - UpdateTeamScheme) <https://api.mattermost.com/#tag/teams/operation/UpdateTeamScheme>`_ """ return self.client.put(f"/api/v4/teams/{team_id}/scheme", options=options)
[docs] def team_members_minus_group_members(self, team_id, params=None): """Team members minus group members. team_id: Team GUID group_ids: A comma-separated list of group ids. page: The page to select. per_page: The number of users per page. `Read in Mattermost API docs (teams - TeamMembersMinusGroupMembers) <https://api.mattermost.com/#tag/teams/operation/TeamMembersMinusGroupMembers>`_ """ return self.client.get(f"/api/v4/teams/{team_id}/members_minus_group_members", params=params)
[docs] def search_files(self, team_id, data): """Search files in a team team_id: Team GUID terms: The search terms as inputed by the user. To search for files from a user include ``from:someusername``, using a user's username. To search in a specific channel include ``in:somechannel``, using the channel name (not the display name). To search for specific extensions included ``ext:extension``. is_or_search: Set to true if an Or search should be performed vs an And search. time_zone_offset: Offset from UTC of user timezone for date searches. include_deleted_channels: Set to true if deleted channels should be included in the search. (archived channels) page: The page to select. (Only works with Elasticsearch) per_page: The number of posts per page. (Only works with Elasticsearch) `Read in Mattermost API docs (teams - SearchFiles) <https://api.mattermost.com/#tag/teams/operation/SearchFiles>`_ """ return self.client.post(f"/api/v4/teams/{team_id}/files/search", data=data)