import { ShippingProviderContract } from './shipping/shipping_interface.js'
import DHLService from './shipping/dhl_service.js'
import AramexService from './shipping/aramex_service.js'
import SMSAService from './shipping/smsa_service.js'
import FedExService from './shipping/fedex_service.js'

export default class ShippingService {
  static getProvider(providerName: string): ShippingProviderContract {
    switch (providerName.toLowerCase()) {
      case 'dhl':
        return new DHLService()
      case 'aramex':
        return new AramexService()
      case 'smsa':
        return new SMSAService()
      case 'fedex':
        return new FedExService()
      default:
        throw new Error(`Shipping provider ${providerName} not supported`)
    }
  }
}
