from typing import Any from .models import Issue from .redmine import fetch_redmine_issue, is_redmine, save_redmine_fields from .sysaid import fetch_sysaid_ticket, is_sysaid, save_sysaid_fields def synchronize_reciever(instance: Issue | Any) -> Issue: if (instance): department = instance.department reciever = department.reciever if (is_sysaid(reciever)): result = fetch_sysaid_ticket(instance.issue_id) if (result): instance = save_sysaid_fields(issue=instance, fields=result[0]) elif (is_redmine(reciever)): result = fetch_redmine_issue( reciever.backend_configuration, instance.issue_id, "include=journals", ) if (result): instance = save_redmine_fields(issue=instance, fields=result) return instance