Finalize webhooks

This commit is contained in:
Drew DeVault 2019-06-11 11:50:00 -04:00
parent c2df4f617f
commit 274d050572
4 changed files with 23 additions and 2 deletions

View File

@ -146,6 +146,9 @@ class MailHandler:
TicketWebhook.deliver(TicketWebhook.Events.event_create,
event.to_dict(),
TicketWebhook.Subscription.ticket_id == ticket.id)
TrackerWebhook.deliver(TrackerWebhook.Events.event_create,
event.to_dict(),
TrackerWebhook.Subscription.tracker_id == ticket.tracker_id)
print(f"Added comment to {ticket.ref()}")
return "250 Message accepted for delivery"

View File

@ -160,6 +160,9 @@ def tracker_ticket_by_id_PUT(username, tracker_name, ticket_id):
TicketWebhook.deliver(TicketWebhook.Events.event_create,
event.to_dict(),
TicketWebhook.Subscription.ticket_id == ticket.id)
TrackerWebhook.deliver(TrackerWebhook.Events.event_create,
event.to_dict(),
TrackerWebhook.Subscription.tracker_id == ticket.tracker_id)
events.append(event)
for name in to_add:
label = (Label.query
@ -181,6 +184,9 @@ def tracker_ticket_by_id_PUT(username, tracker_name, ticket_id):
TicketWebhook.deliver(TicketWebhook.Events.event_create,
event.to_dict(),
TicketWebhook.Subscription.ticket_id == ticket.id)
TrackerWebhook.deliver(TrackerWebhook.Events.event_create,
event.to_dict(),
TrackerWebhook.Subscription.tracker_id == ticket.tracker_id)
events.append(event)
if not valid.ok:
return valid.response
@ -200,6 +206,9 @@ def tracker_ticket_by_id_PUT(username, tracker_name, ticket_id):
TicketWebhook.deliver(TicketWebhook.Events.event_create,
event.to_dict(),
TicketWebhook.Subscription.ticket_id == ticket.id)
TrackerWebhook.deliver(TrackerWebhook.Events.event_create,
event.to_dict(),
TrackerWebhook.Subscription.tracker_id == ticket.tracker_id)
db.session.commit()

View File

@ -13,7 +13,7 @@ from todosrht.types import Label, Ticket, TicketLabel
from todosrht.types import TicketAccess, TicketResolution
from todosrht.types import TicketSubscription, User
from todosrht.urls import ticket_url
from todosrht.webhooks import TicketWebhook
from todosrht.webhooks import TrackerWebhook, TicketWebhook
ticket = Blueprint("ticket", __name__)
@ -156,6 +156,9 @@ def ticket_comment_POST(owner, name, ticket_id):
TicketWebhook.deliver(TicketWebhook.Events.event_create,
event.to_dict(),
TicketWebhook.Subscription.ticket_id == ticket.id)
TrackerWebhook.deliver(TrackerWebhook.Events.event_create,
event.to_dict(),
TrackerWebhook.Subscription.tracker_id == ticket.tracker_id)
return redirect(ticket_url(ticket, event.comment))
@ticket.route("/<owner>/<name>/<int:ticket_id>/edit")
@ -259,6 +262,9 @@ def ticket_add_label(owner, name, ticket_id):
TicketWebhook.deliver(TicketWebhook.Events.event_create,
event.to_dict(),
TicketWebhook.Subscription.ticket_id == ticket.id)
TrackerWebhook.deliver(TrackerWebhook.Events.event_create,
event.to_dict(),
TrackerWebhook.Subscription.tracker_id == ticket.tracker_id)
return redirect(ticket_url(ticket))
@ -296,6 +302,9 @@ def ticket_remove_label(owner, name, ticket_id, label_id):
TicketWebhook.deliver(TicketWebhook.Events.event_create,
event.to_dict(),
TicketWebhook.Subscription.ticket_id == ticket.id)
TrackerWebhook.deliver(TrackerWebhook.Events.event_create,
event.to_dict(),
TrackerWebhook.Subscription.tracker_id == ticket.tracker_id)
return redirect(ticket_url(ticket))

View File

@ -17,7 +17,6 @@ class UserWebhook(CeleryWebhook):
Event("tracker:update", "trackers:read"),
Event("tracker:delete", "trackers:read"),
Event("ticket:create", "tickets:read"),
Event("ticket:update", "tickets:read"),
]
class TrackerWebhook(CeleryWebhook):
@ -25,6 +24,7 @@ class TrackerWebhook(CeleryWebhook):
Event("label:create", "trackers:read"),
Event("label:delete", "trackers:read"),
Event("ticket:create", "tickets:read"),
Event("event:create", "tickets:read"),
]
tracker_id = sa.Column(sa.Integer,