refactor webhookAnalytics call and enrich analytics module (#8253)
**TLDR** Refactor WebhoonAnalytics Graph to a more abstract version AnalyticsGraph (in analytics module). Thus enabling the components to be used on different instances (ex: new endpoint, new kind of graph). **In order to test:** 1. Set ANALYTICS_ENABLED to true 2. Set TINYBIRD_JWT_TOKEN to the ADMIN token from the workspace twenty_analytics_playground 3. Set TINYBIRD_JWT_TOKEN to the datasource or your admin token from the workspace twenty_analytics_playground 4. Create a Webhook in twenty and set wich events it needs to track 5. Run twenty-worker in order to make the webhooks work. 6. Do your tasks in order to populate the data 7. Enter to settings> webhook>your webhook and the statistics section should be displayed. --------- Co-authored-by: Félix Malfait <felix@twenty.com>
This commit is contained in:
committed by
GitHub
parent
f9c076df31
commit
f06cdbdfc6
@ -4,25 +4,19 @@ NODE timeSeriesWebhookData
|
||||
SQL >
|
||||
%
|
||||
SELECT
|
||||
{% if granularity == "hour" %} toStartOfHour(timestamp, {{ String(timezone, 'UTC') }})
|
||||
{% elif granularity == "custom" %}
|
||||
toDateTime64(
|
||||
toStartOfMinute(timestamp, {{ String(timezone, 'UTC') }}),
|
||||
3,
|
||||
{{ String(timezone, 'UTC') }}
|
||||
)
|
||||
{% else %} toDateTime64(toStartOfDay(timestamp, {{ String(timezone, 'UTC') }}), 3)
|
||||
{% if granularity == "hour" %} toStartOfHour(timestamp)
|
||||
{% else %} toDateTime64(toStartOfDay(timestamp), 3)
|
||||
{% end %} AS interval,
|
||||
uniqIf(*, success = true) as success_count,
|
||||
uniqIf(*, success = false) as failure_count
|
||||
FROM webhookEventMV
|
||||
WHERE
|
||||
true
|
||||
AND webhookId = {{ String(webhookId, '90f12aed-0276-4bea-bcaa-c21ea2763d7d', required=True) }}
|
||||
AND workspaceId
|
||||
={{ String(workspaceId, '20202020-1c25-4d02-bf25-6aeccf7ea419', required=True) }}
|
||||
AND timestamp >= {{ DateTime(start, '2024-10-22 00:00:00') }}
|
||||
AND timestamp < {{ DateTime(end, '2024-10-23 00:00:00') }}
|
||||
AND webhookId = {{ String(webhookId, '5237a3bc-566d-4290-b951-96e91051f968', required=True) }}
|
||||
AND timestamp >= parseDateTime64BestEffort({{ String(start, '2024-11-01T00:00:00.000Z') }}, 3)
|
||||
AND timestamp < parseDateTime64BestEffort({{ String(end, '2024-11-02T00:00:00.000Z') }}, 3)
|
||||
GROUP BY interval
|
||||
ORDER BY interval
|
||||
|
||||
|
||||
Reference in New Issue
Block a user