about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/mailersend/sender_identities
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/mailersend/sender_identities')
-rw-r--r--.venv/lib/python3.12/site-packages/mailersend/sender_identities/__init__.py137
1 files changed, 137 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/mailersend/sender_identities/__init__.py b/.venv/lib/python3.12/site-packages/mailersend/sender_identities/__init__.py
new file mode 100644
index 00000000..c6dce4d8
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/mailersend/sender_identities/__init__.py
@@ -0,0 +1,137 @@
+"""
+Handles /identities endpoint
+"""
+
+import requests
+from mailersend.base import base
+
+class NewSenderIdentities(base.NewAPIClient):
+    """
+    Instantiates the /identities endpoint object
+    """
+
+    # you shall not
+    pass
+
+    def get_identities(self, domain_id=None, page=None, limit=25):
+        """
+        Get all sender identities
+
+        @params:
+          domain_id (string)
+          page (int)
+          limit (int): Min: `10`, Max: `100`, default is 25
+        """
+
+        passed_arguments = locals()
+        query_params = {}
+
+        for key, value in passed_arguments.items():
+            if key != "self" and value is not None:
+                query_params[key] = value
+
+        request = requests.get(
+            f"{self.api_base}/identities",
+            headers=self.headers_default,
+            params=query_params,
+        )
+
+        return f"{request.status_code}\n{request.text}"
+    
+    def get_identity(self, identity_id):
+        """
+        Get a single sender identity
+
+        @params:
+          identity_id (string)
+        """
+
+        request = requests.get(
+            f"{self.api_base}/identities/{identity_id}",
+            headers=self.headers_default,
+        )
+
+        return f"{request.status_code}\n{request.text}"
+    
+    def add_identitity(self, domain_id, name, email, reply_to_email=None, reply_to_name=None, add_note=False, personal_note=None):
+        """
+        Add a sender identity
+
+        @params:
+          domain_id (string)
+          name (string) - Max 191 characters
+          email (string) - Max 191 characters, unique
+          reply_to_email (string)
+          reply_to_name (string)
+          add_note (boolean)
+          personal_note (string)
+        """
+
+        data = {
+            "domain_id": domain_id, 
+            "name": name,
+            "email": email
+        }
+
+        if reply_to_email != None:
+            data["reply_to_email"] = reply_to_email
+
+        if reply_to_name != None:
+            data["reply_to_name"] = reply_to_name
+        
+        if add_note == True:
+            data["add_note"] = add_note
+            data["personal_note"] = personal_note
+
+        request = requests.post(
+            f"{self.api_base}/identities",
+            headers=self.headers_default,
+            json=data,
+        )
+
+        return f"{request.status_code}\n{request.text}"
+    
+    def update_identitity(self, identity_id, domain_id=None, name=None, email=None, reply_to_email=None, reply_to_name=None, add_note=False, personal_note=None):
+        """
+        Update a sender identity
+
+        @params:
+          identity_id (string)
+          domain_id (string)
+          name (string) - Max 191 characters
+          email (string) - Max 191 characters, unique
+          reply_to_email (string)
+          reply_to_name (string)
+          add_note (boolean)
+          personal_note (string)
+        """
+        
+        passed_arguments = locals()
+        data = {}
+
+        for key, value in passed_arguments.items():
+            if key != "self" and key != "identity_id" and value is not None:
+                data[key] = value
+
+        request = requests.put(
+            f"{self.api_base}/identities/{identity_id}",
+            headers=self.headers_default,
+            json=data,
+        )
+
+        return f"{request.status_code}\n{request.text}"
+    
+    def delete_identity(self, identity_id):
+        """
+        Delete a sender identity
+
+        @params:
+          identity_id (string)
+        """
+        
+        request = requests.delete(
+            f"{self.api_base}/identities/{identity_id}",
+            headers=self.headers_default,
+        )
+
+        return request.text
\ No newline at end of file