Mountain/Binary/Build/PostHogPlugin/
Initialize.rs1#![allow(non_snake_case)]
2
3use crate::{
13 Binary::Build::PostHogPlugin::{CaptureAllowed, CaptureEvent, Client, Constants},
14 dev_log,
15};
16
17pub async fn Fn() {
18 if !CaptureAllowed::Fn() {
19 return;
20 }
21
22 let Options = posthog_rs::ClientOptionsBuilder::default()
23 .api_key(Constants::POSTHOG_API_KEY.to_string())
24 .host(Constants::POSTHOG_HOST.to_string())
25 .build()
26 .expect("PostHog client options");
27
28 let PostHogClient = posthog_rs::client(Options).await;
29 let _ = Client::CLIENT.set(PostHogClient);
30 dev_log!(
31 "lifecycle",
32 "[PostHog] Initialized (host={}, debug mode)",
33 Constants::POSTHOG_HOST
34 );
35 CaptureEvent::Fn("mountain:session:start", None);
36}