mirror of
https://github.com/simple-login/app.git
synced 2024-10-06 08:23:52 +02:00
3e0b7bb369
* feat: add protocol buffers for events * chore: add EventDispatcher * chore: add WebhookEvent class * chore: emit events * feat: initial version of event listener * chore: emit user plan change with new timestamp * feat: emit metrics + add alias status to create event * chore: add newrelic decorator to functions * fix: event emitter fixes * fix: take null end_time into account * fix: avoid double-commits * chore: move UserDeleted event to User.delete method * db: add index to sync_event created_at and taken_time columns * chore: add index to model
20 lines
404 B
Python
20 lines
404 B
Python
from abc import ABC, abstractmethod
|
|
from app.log import LOG
|
|
from app.models import SyncEvent
|
|
|
|
|
|
class EventSink(ABC):
|
|
@abstractmethod
|
|
def process(self, event: SyncEvent):
|
|
pass
|
|
|
|
|
|
class HttpEventSink(EventSink):
|
|
def process(self, event: SyncEvent):
|
|
pass
|
|
|
|
|
|
class ConsoleEventSink(EventSink):
|
|
def process(self, event: SyncEvent):
|
|
LOG.info(f"Handling event {event.id}")
|