소스 검색

chore: add tracking for onboarding steps

Shahed nasser 1 년 전
부모
커밋
f136bf7e03
1개의 변경된 파일16개의 추가작업 그리고 1개의 파일을 삭제
  1. 16 1
      src/api/admin/onboarding/route.ts

+ 16 - 1
src/api/admin/onboarding/route.ts

@@ -1,5 +1,6 @@
-import type { MedusaRequest, MedusaResponse } from "@medusajs/medusa";
+import { AnalyticsConfigService, type MedusaRequest, type MedusaResponse } from "@medusajs/medusa";
 import { EntityManager } from "typeorm";
+import { track } from "medusa-telemetry"
 
 import OnboardingService from "../../../services/onboarding";
 
@@ -23,5 +24,19 @@ export async function POST(req: MedusaRequest, res: MedusaResponse) {
       .update(req.body);
   });
 
+  const analyticsConfigService = req.scope.resolve<
+    AnalyticsConfigService
+  >("analyticsConfigService")
+
+  const userAnalytics = await analyticsConfigService.retrieve(req.user?.userId)
+
+  if (!userAnalytics.opt_out) {
+    track("CMA_ONBOARDING", {
+      userId: req.user.userId,
+      status: status.current_step,
+      complete: status.is_complete
+    })
+  }
+
   res.status(200).json({ status });
 }