roboluke-tasks/app/utils/n8n.py

70 lines
1.8 KiB
Python
Raw Normal View History

2023-04-05 21:57:31 +02:00
import requests
2024-04-21 16:35:53 +02:00
import sentry_sdk
2023-04-05 21:57:31 +02:00
from app.utils.config import config
def __n8n_post(data: dict) -> bool:
2024-04-21 17:03:39 +02:00
"""Post data to N8N webhook URL.
Args:
data (dict): Data to post to webhook URL.
Returns:
bool: True if successful, else False.
"""
2023-04-05 21:57:31 +02:00
headers: dict = {"Content-Type": "application/json"}
resp: requests.Response = requests.post(
url=config.n8n_webhook_url,
headers=headers,
json=data,
timeout=10,
verify=False,
)
return bool(resp.status_code == 200)
def submit_task(summary, description, completion_date, requestor) -> bool:
2024-04-21 17:03:39 +02:00
"""Submit task to N8N webhook URL.
Args:
summary (str): Summary of task.
description (str): Description of task.
completion_date (str): Completion date of task.
requestor (str): Requestor of task.
Returns:
bool: True if successful, else False.
"""
2024-04-21 16:35:53 +02:00
with sentry_sdk.start_transaction(name="submit_task"):
data: dict = {
"requestor": requestor,
"title": summary,
"description": description,
"completiondate": completion_date,
}
_data = __n8n_post(data=data)
return _data
2023-04-20 20:37:01 +02:00
def get_tasks(requestor) -> bool:
2024-04-21 17:03:39 +02:00
"""Get tasks from N8N webhook URL.
Args:
requestor (str): Requestor of tasks.
Returns:
bool: True if successful, else False.
"""
2024-04-21 16:35:53 +02:00
with sentry_sdk.start_transaction(name="get_tasks"):
headers: dict = {"Content-Type": "application/json"}
resp: requests.Response = requests.get(
url=config.n8n_webhook_url,
headers=headers,
timeout=10,
verify=False,
params={"requestor": requestor},
)
_data = bool(resp.status_code == 200)
return _data