diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/mailersend/tokens/__init__.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/mailersend/tokens/__init__.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/mailersend/tokens/__init__.py b/.venv/lib/python3.12/site-packages/mailersend/tokens/__init__.py new file mode 100644 index 00000000..82954132 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/mailersend/tokens/__init__.py @@ -0,0 +1,54 @@ +""" +Handles /tokens endpoint +Doc: https://developers.mailersend.com/api/v1/tokens.html +""" + +import requests +from mailersend.base import base + + +class NewToken(base.NewAPIClient): + """ + Instantiates the /tokens endpoint object + """ + + pass + + def create_token(self, token_name, token_scopes): + """ + Returns a JSON response from the MailerSend API + """ + + _data = {"name": token_name, "scopes": token_scopes} + + request = requests.post( + f"{self.api_base}/token", headers=self.headers_default, json=_data + ) + return request.text + + def update_token(self, token_id, pause=True): + """ + Returns a JSON response from the MailerSend API + """ + + if pause: + _data = base.generate_config_change_json_body("status", "pause") + else: + _data = base.generate_config_change_json_body("status", "unpause") + + request = requests.put( + f"{self.api_base}/token/{token_id}/settings", + headers=self.headers_default, + json=_data, + ) + return request.text + + def delete_token(self, token_id): + """ + Returns a HTTP status code from the MailerSend API + """ + + request = requests.delete( + f"{self.api_base}/token/{token_id}/", headers=self.headers_default + ) + return request.status_code |