import { EventInputType } from '../models'; import { Environment } from '../models/schemas/types'; import { AnalyticsEvents } from '../models/schemas/analyticsEvents'; import { callRudderStack } from '../service/RudderStackService'; import { resolveEvent } from '../utils'; export const initMerchantEventTracker = async ( eventData: any, env: Environment, source: string ) => { const { schema = 'RudderStack Event', schemaVersion } = resolveEvent(AnalyticsEvents.identify); let event = { ...eventData, schemaID: schemaVersion, event: 'identify', schema, userId: eventData.properties.user.id, source, }; callRudderStack('identify', event, env); }; export const sendEventController = async ( eventToEmit: string, userId: string, eventName: string, eventReq: EventInputType, source: string, env: Environment ) => { const { schema, schemaVersion } = resolveEvent(eventName); let event = { schemaID: schemaVersion, event: eventName, schema, userId, source, }; if (eventReq) { event = {...event, ...eventReq} } callRudderStack(eventToEmit, event, env); };