From 63258d6dea7ca29250cc563bc5ad3aa2c4d9b977 Mon Sep 17 00:00:00 2001 From: SeaswimmerTheFsh Date: Fri, 22 Dec 2023 13:51:15 -0500 Subject: [PATCH] feat: added get_invites method --- pyzipline/zipline.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/pyzipline/zipline.py b/pyzipline/zipline.py index 86681a8..dad563a 100644 --- a/pyzipline/zipline.py +++ b/pyzipline/zipline.py @@ -224,6 +224,35 @@ class ZiplineApi: if result.status_code == 401: raise Forbidden(result.message) + def get_invites(self) -> list[Invite]: + """Get a list of invites + + /// admonition | Requires Authentication + type: warning + /// + + Raises: + Forbidden: The user is not authenticated + FeatureDisabledError: Invites are disabled on the Zipline instance + PyZiplineError: Raised if the API changes, causing a breaking change in this method + + Returns: + Invite: List of invites + """ + result = self._rest_adapter.get(endpoint="user/invites") + if result.status_code == 200: + invites = [] + for invite in result.data: + i = Invite(**invite) + invites.append(i) + return invites + if result.status_code == 401: + raise Forbidden(result.message) + if result.message == 'invites are disabled': + raise FeatureDisabledError(result.message) + raise PyZiplineError(f"{result.status_code}: {result.message}\n{result.data}") + + def get_self(self) -> User: """Get the currently authenticated user