From 4f276f00950b2ce55dcc43a8119c7eb8a8e5f65d Mon Sep 17 00:00:00 2001 From: Piyush Gupta <56182734+gupta-piyush19@users.noreply.github.com> Date: Tue, 8 Apr 2025 11:24:27 +0530 Subject: [PATCH] feat: personalized survey links for segment of users endpoint (#5032) Co-authored-by: pandeymangg --- apps/demo/components/sidebar.tsx | 6 +- apps/demo/pages/index.tsx | 4 +- .../segments/[segmentId]/route.ts | 3 + .../[segmentId]/lib/contact-attribute-key.ts | 33 + .../segments/[segmentId]/lib/contact.ts | 147 ++ .../segments/[segmentId]/lib/openapi.ts | 29 + .../segments/[segmentId]/lib/segment.ts | 36 + .../segments/[segmentId]/lib/surveys.ts | 39 + .../lib/tests/contact-attribute-key.test.ts | 52 + .../[segmentId]/lib/tests/contact.test.ts | 515 +++++++ .../[segmentId]/lib/tests/segment.test.ts | 129 ++ .../[segmentId]/lib/tests/surveys.test.ts | 120 ++ .../segments/[segmentId]/route.ts | 116 ++ .../segments/[segmentId]/types/contact.ts | 43 + .../contact-links/segments/lib/openapi.ts | 8 + apps/web/modules/api/v2/openapi-document.ts | 6 + apps/web/modules/api/v2/types/api-filter.ts | 12 +- .../segments/lib/filter/prisma-query.ts | 291 ++++ .../lib/filter/tests/prisma-query.test.ts | 1207 +++++++++++++++++ apps/web/vite.config.mts | 1 + docs/api-v2-reference/openapi.yml | 182 ++- 21 files changed, 2958 insertions(+), 21 deletions(-) create mode 100644 apps/web/app/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/route.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/lib/contact-attribute-key.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/lib/contact.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/lib/openapi.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/lib/segment.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/lib/surveys.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/lib/tests/contact-attribute-key.test.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/lib/tests/contact.test.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/lib/tests/segment.test.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/lib/tests/surveys.test.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/route.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/[segmentId]/types/contact.ts create mode 100644 apps/web/modules/api/v2/management/surveys/[surveyId]/contact-links/segments/lib/openapi.ts create mode 100644 apps/web/modules/ee/contacts/segments/lib/filter/prisma-query.ts create mode 100644 apps/web/modules/ee/contacts/segments/lib/filter/tests/prisma-query.test.ts diff --git a/apps/demo/components/sidebar.tsx b/apps/demo/components/sidebar.tsx index 4e54a63d2a..3ec3e18130 100644 --- a/apps/demo/components/sidebar.tsx +++ b/apps/demo/components/sidebar.tsx @@ -27,7 +27,7 @@ const secondaryNavigation = [ export function Sidebar(): React.JSX.Element { return ( -
+