From 4c7d71e32579d3b55beb598be1378f21c27dd70d Mon Sep 17 00:00:00 2001 From: Antoine Moreaux Date: Wed, 26 Mar 2025 21:59:42 +0100 Subject: [PATCH] chore(analytics): remove tinybird (#11146) Co-authored-by: Charles Bochet --- .github/workflows/ci-tinybird.yaml | 53 ---- .../components/AnalyticsActivityGraph.tsx | 179 ----------- .../components/AnalyticsGraphEffect.tsx | 32 -- .../components/WebhookAnalyticsTooltip.tsx | 89 ------ .../constants/AnalyticsEndpointTypeMap.ts | 10 - .../constants/AnalyticsGraphDescriptionMap.ts | 10 - .../constants/AnalyticsGraphOptionMap.ts | 6 - .../constants/AnalyticsGraphTitleMap.ts | 10 - .../useAnalyticsTinybirdJwt.test.tsx | 87 ------ .../hooks/__tests__/useGraphData.test.tsx | 87 ------ .../hooks/useAnalyticsTinybirdJwts.ts | 16 - .../modules/analytics/hooks/useGraphData.tsx | 42 --- .../analyticsGraphDataComponentState.ts | 10 - .../AnalyticsGraphDataInstanceContext.ts | 4 - .../types/AnalyticsComponentProps.ts | 6 - .../modules/analytics/types/NivoLineInput.ts | 8 - .../computeAnalyticsGraphDataFunction.test.js | 56 ---- .../__tests__/fetchGraphDataOrThrow.test.js | 143 --------- ...essFunctionDurationToNivoLineInput.test.js | 65 ---- ...lessFunctionErrorstToNivoLineInput.test.js | 68 ----- ...hookAnalyticsResultToNivoLineInput.test.js | 187 ------------ .../computeAnalyticsGraphDataFunction.ts | 25 -- .../analytics/utils/computeStartEndDate.ts | 30 -- .../analytics/utils/fetchGraphDataOrThrow.ts | 38 --- ...rverlessFunctionDurationToNivoLineInput.ts | 49 --- ...ServerlessFunctionErrorsToNivoLineInput.ts | 26 -- ...apWebhookAnalyticsResultToNivoLineInput.ts | 43 --- .../modules/auth/states/currentUserState.ts | 1 - .../hooks/__mocks__/useFieldMetadataItem.ts | 16 - .../useSettingsNavigationItems.test.tsx | 1 - ...ettingsServerlessFunctionMonitoringTab.tsx | 74 ----- .../graphql/fragments/userQueryFragment.ts | 8 - .../SettingsDevelopersWebhookDetail.tsx | 27 -- .../SettingsServerlessFunctionDetail.tsx | 22 +- .../src/testing/mock-data/users.ts | 2 - .../analytics/analytics.module.ts | 10 +- .../analytics/analytics.service.ts | 104 +------ .../analytics-tinybird-jwts.entity.ts | 22 -- .../environment-variables-group-metadata.ts | 2 +- .../enums/environment-variables-group.enum.ts | 2 +- .../environment/environment-variables.ts | 29 +- .../engine/core-modules/user/user.resolver.ts | 6 - packages/twenty-tinybird/.gitignore | 2 - packages/twenty-tinybird/.tinyenv | 18 -- packages/twenty-tinybird/README.md | 48 --- .../datasources/event.datasource | 11 - .../datasources/pageview.datasource | 16 - .../serverlessFunctionEventMV.datasource | 12 - .../datasources/webhookEventMV.datasource | 13 - .../twenty-tinybird/fixtures/event.ndjson | 282 ------------------ .../twenty-tinybird/includes/timeSeries.incl | 41 --- .../pipes/getServerlessFunctionDuration.pipe | 70 ----- .../getServerlessFunctionErrorCount.pipe | 70 ----- .../getServerlessFunctionSuccessRate.pipe | 75 ----- .../pipes/getWebhookAnalytics.pipe | 69 ----- .../materializeServerlessFunctionEvent.pipe | 15 - .../pipes/materializeWebhookEvent.pipe | 16 - packages/twenty-tinybird/requirements.txt | 1 - .../scripts/append_fixtures.sh | 21 -- packages/twenty-tinybird/scripts/exec_test.sh | 61 ---- .../getServerlessFunctionErrorCount.yaml | 40 --- 61 files changed, 11 insertions(+), 2575 deletions(-) delete mode 100644 .github/workflows/ci-tinybird.yaml delete mode 100644 packages/twenty-front/src/modules/analytics/components/AnalyticsActivityGraph.tsx delete mode 100644 packages/twenty-front/src/modules/analytics/components/AnalyticsGraphEffect.tsx delete mode 100644 packages/twenty-front/src/modules/analytics/components/WebhookAnalyticsTooltip.tsx delete mode 100644 packages/twenty-front/src/modules/analytics/constants/AnalyticsEndpointTypeMap.ts delete mode 100644 packages/twenty-front/src/modules/analytics/constants/AnalyticsGraphDescriptionMap.ts delete mode 100644 packages/twenty-front/src/modules/analytics/constants/AnalyticsGraphOptionMap.ts delete mode 100644 packages/twenty-front/src/modules/analytics/constants/AnalyticsGraphTitleMap.ts delete mode 100644 packages/twenty-front/src/modules/analytics/hooks/__tests__/useAnalyticsTinybirdJwt.test.tsx delete mode 100644 packages/twenty-front/src/modules/analytics/hooks/__tests__/useGraphData.test.tsx delete mode 100644 packages/twenty-front/src/modules/analytics/hooks/useAnalyticsTinybirdJwts.ts delete mode 100644 packages/twenty-front/src/modules/analytics/hooks/useGraphData.tsx delete mode 100644 packages/twenty-front/src/modules/analytics/states/analyticsGraphDataComponentState.ts delete mode 100644 packages/twenty-front/src/modules/analytics/states/contexts/AnalyticsGraphDataInstanceContext.ts delete mode 100644 packages/twenty-front/src/modules/analytics/types/AnalyticsComponentProps.ts delete mode 100644 packages/twenty-front/src/modules/analytics/types/NivoLineInput.ts delete mode 100644 packages/twenty-front/src/modules/analytics/utils/__tests__/computeAnalyticsGraphDataFunction.test.js delete mode 100644 packages/twenty-front/src/modules/analytics/utils/__tests__/fetchGraphDataOrThrow.test.js delete mode 100644 packages/twenty-front/src/modules/analytics/utils/__tests__/mapServerlessFunctionDurationToNivoLineInput.test.js delete mode 100644 packages/twenty-front/src/modules/analytics/utils/__tests__/mapServerlessFunctionErrorstToNivoLineInput.test.js delete mode 100644 packages/twenty-front/src/modules/analytics/utils/__tests__/mapWebhookAnalyticsResultToNivoLineInput.test.js delete mode 100644 packages/twenty-front/src/modules/analytics/utils/computeAnalyticsGraphDataFunction.ts delete mode 100644 packages/twenty-front/src/modules/analytics/utils/computeStartEndDate.ts delete mode 100644 packages/twenty-front/src/modules/analytics/utils/fetchGraphDataOrThrow.ts delete mode 100644 packages/twenty-front/src/modules/analytics/utils/mapServerlessFunctionDurationToNivoLineInput.ts delete mode 100644 packages/twenty-front/src/modules/analytics/utils/mapServerlessFunctionErrorsToNivoLineInput.ts delete mode 100644 packages/twenty-front/src/modules/analytics/utils/mapWebhookAnalyticsResultToNivoLineInput.ts delete mode 100644 packages/twenty-front/src/modules/settings/serverless-functions/components/tabs/SettingsServerlessFunctionMonitoringTab.tsx delete mode 100644 packages/twenty-server/src/engine/core-modules/analytics/entities/analytics-tinybird-jwts.entity.ts delete mode 100644 packages/twenty-tinybird/.gitignore delete mode 100644 packages/twenty-tinybird/.tinyenv delete mode 100644 packages/twenty-tinybird/README.md delete mode 100644 packages/twenty-tinybird/datasources/event.datasource delete mode 100644 packages/twenty-tinybird/datasources/pageview.datasource delete mode 100644 packages/twenty-tinybird/datasources/serverlessFunctionEventMV.datasource delete mode 100644 packages/twenty-tinybird/datasources/webhookEventMV.datasource delete mode 100644 packages/twenty-tinybird/fixtures/event.ndjson delete mode 100644 packages/twenty-tinybird/includes/timeSeries.incl delete mode 100644 packages/twenty-tinybird/pipes/getServerlessFunctionDuration.pipe delete mode 100644 packages/twenty-tinybird/pipes/getServerlessFunctionErrorCount.pipe delete mode 100644 packages/twenty-tinybird/pipes/getServerlessFunctionSuccessRate.pipe delete mode 100644 packages/twenty-tinybird/pipes/getWebhookAnalytics.pipe delete mode 100644 packages/twenty-tinybird/pipes/materializeServerlessFunctionEvent.pipe delete mode 100644 packages/twenty-tinybird/pipes/materializeWebhookEvent.pipe delete mode 100644 packages/twenty-tinybird/requirements.txt delete mode 100755 packages/twenty-tinybird/scripts/append_fixtures.sh delete mode 100755 packages/twenty-tinybird/scripts/exec_test.sh delete mode 100644 packages/twenty-tinybird/tests/getServerlessFunctionErrorCount.yaml diff --git a/.github/workflows/ci-tinybird.yaml b/.github/workflows/ci-tinybird.yaml deleted file mode 100644 index caa8d02f3..000000000 --- a/.github/workflows/ci-tinybird.yaml +++ /dev/null @@ -1,53 +0,0 @@ -name: CI Tinybird -on: - push: - branches: - - feature/reimplement-tinybird - - main - paths: - - 'package.json' - - 'packages/twenty-tinybird/**' - - pull_request: - paths: - - 'package.json' - - 'packages/twenty-tinybird/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - TINYBIRD_HOST: https://api.eu-central-1.aws.tinybird.co - TINYBIRD_TOKEN: ${{ secrets.TB_ADMIN_TOKEN }} - -jobs: - changed-files-check: - uses: ./.github/workflows/changed-files.yaml - with: - files: packages/twenty-tinybird/** - ci: - runs-on: ubuntu-latest - needs: changed-files-check - if: needs.changed-files-check.outputs.any_changed == 'true' - timeout-minutes: 10 - defaults: - run: - working-directory: './packages/twenty-tinybird' - services: - tinybird: - image: tinybirdco/tinybird-local:beta - ports: - - 7181:7181 - steps: - - uses: actions/checkout@master - with: - fetch-depth: 1 - ref: ${{ github.event.pull_request.head.sha }} - - name: Install Tinybird CLI - run: curl https://tinybird.co | sh - - name: Build project - run: tb build - - name: Test project - run: tb test run - diff --git a/packages/twenty-front/src/modules/analytics/components/AnalyticsActivityGraph.tsx b/packages/twenty-front/src/modules/analytics/components/AnalyticsActivityGraph.tsx deleted file mode 100644 index cf58a78ae..000000000 --- a/packages/twenty-front/src/modules/analytics/components/AnalyticsActivityGraph.tsx +++ /dev/null @@ -1,179 +0,0 @@ -import { WebhookAnalyticsTooltip } from '@/analytics/components/WebhookAnalyticsTooltip'; -import { ANALYTICS_GRAPH_DESCRIPTION_MAP } from '@/analytics/constants/AnalyticsGraphDescriptionMap'; -import { ANALYTICS_GRAPH_TITLE_MAP } from '@/analytics/constants/AnalyticsGraphTitleMap'; -import { useGraphData } from '@/analytics/hooks/useGraphData'; -import { analyticsGraphDataComponentState } from '@/analytics/states/analyticsGraphDataComponentState'; -import { AnalyticsComponentProps as AnalyticsActivityGraphProps } from '@/analytics/types/AnalyticsComponentProps'; -import { computeAnalyticsGraphDataFunction } from '@/analytics/utils/computeAnalyticsGraphDataFunction'; -import { Select } from '@/ui/input/components/Select'; -import { useRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentStateV2'; -import { useTheme } from '@emotion/react'; -import styled from '@emotion/styled'; -import { ResponsiveLine } from '@nivo/line'; -import { Section } from '@react-email/components'; -import { useId, useState } from 'react'; -import { H2Title } from 'twenty-ui'; - -const StyledGraphContainer = styled.div` - background-color: ${({ theme }) => theme.background.secondary}; - border: 1px solid ${({ theme }) => theme.border.color.medium}; - border-radius: ${({ theme }) => theme.border.radius.md}; - height: 199px; - - padding: ${({ theme }) => theme.spacing(4, 2, 2, 2)}; - width: 496px; -`; -const StyledTitleContainer = styled.div` - align-items: flex-start; - display: flex; - justify-content: space-between; -`; - -export const AnalyticsActivityGraph = ({ - recordId, - endpointName, -}: AnalyticsActivityGraphProps) => { - const [analyticsGraphData, setAnalyticsGraphData] = useRecoilComponentStateV2( - analyticsGraphDataComponentState, - ); - const theme = useTheme(); - - const [windowLengthGraphOption, setWindowLengthGraphOption] = useState< - '7D' | '1D' | '12H' | '4H' - >('7D'); - - const { fetchGraphData } = useGraphData({ - recordId, - endpointName, - }); - - const transformDataFunction = computeAnalyticsGraphDataFunction(endpointName); - - const dropdownId = useId(); - return ( - <> - {analyticsGraphData.length ? ( -
- - -