Exemple #1
0
def fire_max_send_failures_hook(user, identity):
        raw_hook_event.send(
            sender=None,
            event_name='identity.max_failures',
            payload={
                'identity_id': str(identity.id),
                'failure_count': identity.failed_message_count
            },
            user=user
        )
Exemple #2
0
def action_defined(sender, instance, created, raw, using, **kwargs):
    """Trigger action_defined hooks on Action creation."""
    if created:
        raw_hook_event.send(
            sender=None,
            event_name="action_defined",
            instance=instance,
            payload=ActionSerializer(instance).data,
            user=instance.team,
        )
Exemple #3
0
    def on_perform(self, event):
        from posthog.api.event import EventSerializer
        from posthog.api.person import PersonSerializer

        event.action = self
        event.serialized_person = PersonSerializer(event.person).data
        payload = EventSerializer(event).data
        raw_hook_event.send(
            sender=None, event_name="action_performed", instance=self, payload=payload, user=event.team,
        )
Exemple #4
0
    def on_perform(self, event):
        from posthog.api.event import EventViewSet

        event.action = self
        raw_hook_event.send(
            sender=None,
            event_name="action_performed",
            instance=self,
            payload=EventViewSet.serialize_actions(event),
            user=event.team,
        )
Exemple #5
0
    def send_webhooks(self, user, data):
        if not user:
            logger.error('Could not send webhook, No user specified')
        else:
            logger.error('Sending webhook')

            raw_hook_event.send(
                sender=self.__class__,
                event_name='event.webhook.send',
                payload=data,
                user=user
            )
Exemple #6
0
def event(request):
    user = User.objects.get(username='******')
    raw_hook_event.send(
        sender=None,
        event_name='user.signup',
        payload={
            'username': user.username,
            'email': '*****@*****.**',
            'when': datetime.datetime.now().isoformat()
        },
        user=user  # required: used to filter Hooks
    )
    return HttpResponse()
Exemple #7
0
def event(request):
    user = User.objects.get(username='******')
    raw_hook_event.send(
        sender=None,
        event_name='user.signup',
        payload={
            'username': user.username,
            'email': user.email,
            'when': datetime.datetime.now().isoformat()
        },
        user=user  # 필수 : 훅을 필터링하는 데 사용
    )
    return HttpResponse()
Exemple #8
0
def annotation_created(sender, instance, created, raw, using, **kwargs):
    """Trigger action_defined hooks on Annotation creation."""

    if created:
        raw_hook_event.send(
            sender=None,
            event_name="annotation_created",
            instance=instance,
            payload=AnnotationSerializer(instance).data,
            user=instance.team,
        )

    if instance.created_by:
        event_name: str = "annotation created" if created else "annotation updated"
        report_user_action(instance.created_by, event_name,
                           instance.get_analytics_metadata())
Exemple #9
0
    def test_raw_custom_event(self, method_mock):
        from rest_hooks.signals import raw_hook_event

        method_mock.return_value = None
        target = 'http://example.com/test_raw_custom_event'

        hook = self.make_hook('special.thing', target)

        raw_hook_event.send(sender=None,
                            event_name='special.thing',
                            payload={'hello': 'world!'},
                            user=self.user)
        # time.sleep(1) # should change a setting to turn off async

        payload = json.loads(method_mock.mock_calls[0][2]['data'])

        self.assertEquals('special.thing', payload['hook']['event'])
        self.assertEquals('world!', payload['data']['hello'])
Exemple #10
0
    def test_raw_custom_event(self, method_mock):
        from rest_hooks.signals import raw_hook_event

        method_mock.return_value = None
        target = 'http://example.com/test_raw_custom_event'

        hook = self.make_hook('special.thing', target)

        raw_hook_event.send(
            sender=None,
            event_name='special.thing',
            payload={
                'hello': 'world!'
            },
        )
        # time.sleep(1) # should change a setting to turn off async

        payload = json.loads(method_mock.mock_calls[0][2]['data'])

        self.assertEquals('special.thing', payload['hook']['event'])
        self.assertEquals('world!', payload['data']['hello'])
Exemple #11
0
def handle_optin(sender, instance, created, **kwargs):
    if created is False or instance.identity is None:
        return

    identity = instance.identity

    raw_hook_event.send(
        sender=None,
        event_name='optin.requested',
        payload={
            'identity': str(identity.id),
            'identity_details': identity.details,
            'optin_address_type': instance.address_type,
            'optin_address': instance.address
        },
        user=instance.user,
        send_hook_meta=False
    )

    identity.optin_address(address_type=instance.address_type,
                           address=instance.address)