src/tracking/tracking.module.ts
import { Module } from '@nestjs/common';
import { TrackingService } from './tracking.service';
import { TrackingController } from './tracking.controller';
import { TrackingGateway } from './tracking.gateway';
import { GpsSimulatorService } from './gps-simulator.service';
import { LiveTelematicsWorkerService } from './live-telematics-worker.service';
import { GeofenceService } from './geofence.service';
import { GeofenceController } from './geofence.controller';
// MixTelematicsAdapter is intentionally NOT a Nest provider any more —
// it's instantiated per-org from stored credentials inside the live
// worker, so it can't be DI-managed (one shared singleton with one set
// of env vars doesn't work for multi-tenant).
@Module({
controllers: [TrackingController, GeofenceController],
providers: [
TrackingService,
TrackingGateway,
GpsSimulatorService,
LiveTelematicsWorkerService,
GeofenceService,
],
exports: [TrackingService, TrackingGateway, GeofenceService],
})
export class TrackingModule {}