initFlavorConfig function

Future<void> initFlavorConfig()

Implementation

Future<void> initFlavorConfig() async {
  final PackageInfo info = await PackageInfo.fromPlatform();
  String flavor;

  if (kIsWeb) {
    const String suffix = String.fromEnvironment('flavor');
    flavor = '${AppConstants.androidAppId}$suffix';
  } else {
    flavor = info.packageName;
  }

  switch (flavor) {
    case '${AppConstants.androidAppId}.staging':
    case '${AppConstants.iOSAppId}.staging':
      FlavorConfig(
        flavor: Flavor.staging,
        authUrl: AppUrls.authUrlStag,
        customersUrl: AppUrls.customersUrlStag,
        vendorsUrl: AppUrls.vendorsUrlStag,
        zincSearchUrl: AppUrls.zincSearchUrlStag,
        cartUrl: AppUrls.cartUrlStag,
        catalogUrl: AppUrls.catalogUrlStag,
        showNonMVPFeature: true,
      );
    case AppConstants.androidAppId:
    case AppConstants.iOSAppId:
      FlavorConfig(
        flavor: Flavor.production,
        authUrl: AppUrls.authUrlProd,
        customersUrl: AppUrls.customersUrlProd,
        vendorsUrl: AppUrls.vendorsUrlProd,
        zincSearchUrl: AppUrls.zincSearchUrlProd,
        cartUrl: AppUrls.cartUrlProd,
        catalogUrl: AppUrls.catalogUrlProd,
        showNonMVPFeature: false,
      );
    case '${AppConstants.androidAppId}.development':
    case '${AppConstants.iOSAppId}.development':
    default:
      FlavorConfig(
        flavor: Flavor.development,
        authUrl: AppUrls.authUrlDev,
        customersUrl: AppUrls.customersUrlDev,
        vendorsUrl: AppUrls.vendorsUrlDev,
        zincSearchUrl: AppUrls.zincSearchUrlDev,
        cartUrl: AppUrls.cartUrlDev,
        catalogUrl: AppUrls.catalogUrlDev,
        showNonMVPFeature: false,
      );
  }
}