@@ -2,6 +2,7 @@ import express from 'express'
22import cors from 'cors'
33import helmet from 'helmet'
44import bunyanMiddleware from 'bunyan-middleware'
5+ import { PostHog } from 'posthog-node'
56import { authMiddleware } from '../middlewares/authMiddleware'
67import { tenantMiddleware } from '../middlewares/tenantMiddleware'
78import { databaseMiddleware } from '../middlewares/databaseMiddleware'
@@ -16,6 +17,7 @@ import { errorMiddleware } from '../middlewares/errorMiddleware'
1617import { passportStrategyMiddleware } from '../middlewares/passportStrategyMiddleware'
1718import { redisMiddleware } from '../middlewares/redisMiddleware'
1819import { createRedisClient } from '../utils/redis'
20+ import { POSTHOG_CONFIG } from '../config'
1921
2022const serviceLogger = createServiceLogger ( )
2123
@@ -24,6 +26,12 @@ const app = express()
2426setImmediate ( async ( ) => {
2527 const redis = await createRedisClient ( true )
2628
29+ let posthog = null
30+
31+ if ( POSTHOG_CONFIG . apiKey ) {
32+ posthog = new PostHog ( POSTHOG_CONFIG . apiKey )
33+ }
34+
2735 // Enables CORS
2836 app . use ( cors ( { origin : true } ) )
2937
@@ -47,6 +55,12 @@ setImmediate(async () => {
4755 // Bind redis to request
4856 app . use ( redisMiddleware ( redis ) )
4957
58+ // Bind posthog to request
59+ app . use ( ( req : any , res , next ) => {
60+ req . posthog = posthog
61+ next ( )
62+ } )
63+
5064 // initialize passport strategies
5165 app . use ( passportStrategyMiddleware )
5266
0 commit comments