aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/mailersend/webhooks
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/mailersend/webhooks')
-rw-r--r--.venv/lib/python3.12/site-packages/mailersend/webhooks/__init__.py135
1 files changed, 135 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/mailersend/webhooks/__init__.py b/.venv/lib/python3.12/site-packages/mailersend/webhooks/__init__.py
new file mode 100644
index 00000000..92152b17
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/mailersend/webhooks/__init__.py
@@ -0,0 +1,135 @@
+"""
+Handles /webhooks endpoint
+Doc: https://developers.mailersend.com/api/v1/webhooks.html
+"""
+
+import requests
+from mailersend.base import base
+
+data = {}
+
+
+class NewWebhook(base.NewAPIClient):
+ """
+ Instantiates the /webhooks endpoint object
+ """
+
+ def __init__(self):
+ """
+ NewWebhook constructor
+ """
+ pass
+
+ def get_webhooks(self, domain_id):
+ """
+ Returns a JSON response from the MailerSend API
+
+ @params:
+ domain_id (str): A domain ID
+ """
+ request = requests.get(
+ f"{self.api_base}/webhooks",
+ headers=self.headers_default,
+ json={"domain_id": domain_id},
+ )
+ return request.text
+
+ def get_webhook_by_id(self, webhook_id):
+ """
+ Returns a JSON response from the MailerSend API
+
+ @params:
+ webhook_id (str): A webhook ID
+ """
+ request = requests.get(
+ f"{self.api_base}/webhooks/{webhook_id}", headers=self.headers_default
+ )
+ return request.text
+
+ def set_webhook_url(self, webhook_url):
+ """
+ Sets the webhook 'url' field
+
+ @params:
+ webhook_url (str): A webhook URL
+ """
+ data["url"] = webhook_url
+
+ def set_webhook_name(self, webhook_name):
+ """
+ Sets the webhook 'name' field
+
+ @params:
+ webhook_name (str): A webhook name
+ """
+
+ data["name"] = webhook_name
+
+ def set_webhook_events(self, events):
+ """
+ Sets the webhook 'events' field
+
+ @params:
+ events (list): A list containing valid events
+ """
+ data["events"] = events
+
+ def set_webhook_enabled(self, enabled=True):
+ """
+ Sets the webhook 'enabled' status field
+
+ @params:
+ enabled (bool): Controls webhook status
+ """
+
+ data["enabled"] = enabled
+
+ def set_webhook_domain(self, domain_id):
+ """
+ Sets the webhook 'domain_id' status field
+
+ @params:
+ domain_id (str): A valid domain ID
+ """
+
+ data["domain_id"] = domain_id
+
+ def update_webhook(self, webhook_id, key, value):
+ """
+ Updates a webhook setting
+
+ @params:
+ webhook_id (str): A valid webhook ID
+ key (str): A setting key
+ value (str): Corresponding keys value
+ """
+
+ request = requests.put(
+ f"{self.api_base}/webhooks/{webhook_id}",
+ headers=self.headers_default,
+ json={f"{key}": value},
+ )
+ return request.text
+
+ def delete_webhook(self, webhook_id):
+ """
+ Returns a JSON response from the MailerSend API
+
+ @params:
+ webhook_id (str): A valid webhook ID
+ """
+
+ request = requests.delete(
+ f"{self.api_base}/webhooks/{webhook_id}", headers=self.headers_default
+ )
+ return request.text
+
+ def create_webhook(self):
+ """
+ Returns a JSON response from the MailerSend API
+ """
+
+ request = requests.post(
+ f"{self.api_base}/webhooks", headers=self.headers_default, json=data
+ )
+ return request.text