import { ContainerModule } from 'inversify';
import { DRIVER_SERVICE_TOKEN, ONBOARDING_SERVICE_TOKEN } from '../tokens';
import { DriverService } from '@/lib/services/drivers/DriverService';
import { OnboardingService } from '@/lib/services/onboarding/OnboardingService';

export const DriverModule = new ContainerModule((options) => {
  const bind = options.bind;

  bind(DRIVER_SERVICE_TOKEN)
    .to(DriverService)
    .inSingletonScope();

  bind(ONBOARDING_SERVICE_TOKEN)
    .toDynamicValue(() => {
      return new OnboardingService();
    })
    .inSingletonScope();
});