// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'app_models.dart';

// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************

AppDetails _$AppDetailsFromJson(Map<String, dynamic> json) => AppDetails(
      saasAppId: json['saas_app_id'] as String,
      authority: json['authority'] as String,
      storagePrefix: json['storage_prefix'] as String,
      defaultCdnPrefix: json['default_cdn_prefix'] as String,
      androidGooglePlayUrl: json['android_gp_url'] as String,
      iosAppStoreUrl: json['ios_spp_store_url'] as String? ?? '',
      policyUrl: json['policy_url'] as String,
      termsUrl: json['terms_url'] as String,
      emailUrl: json['email_url'] as String,
      packageName: json['package_name'] as String,
      bundleId: json['bundle_id'] as String,
      facebookAppId: json['facebook_app_id'] as String,
    );

Map<String, dynamic> _$AppDetailsToJson(AppDetails instance) =>
    <String, dynamic>{
      'saas_app_id': instance.saasAppId,
      'authority': instance.authority,
      'storage_prefix': instance.storagePrefix,
      'default_cdn_prefix': instance.defaultCdnPrefix,
      'android_gp_url': instance.androidGooglePlayUrl,
      'ios_spp_store_url': instance.iosAppStoreUrl,
      'policy_url': instance.policyUrl,
      'terms_url': instance.termsUrl,
      'email_url': instance.emailUrl,
      'package_name': instance.packageName,
      'bundle_id': instance.bundleId,
      'facebook_app_id': instance.facebookAppId,
    };

Deployment _$DeploymentFromJson(Map<String, dynamic> json) => Deployment(
      propertyCacheSize: json['property_cache_size'] as int? ?? 256,
      enableDithering: json['enable_dithering'] as bool? ?? true,
      disableRewardsAds: json['disable_rewards_ads'] as bool? ?? false,
      enableAnalyticsStatistic:
          json['enable_analytics_statistic'] as bool? ?? true,
      autoRestoreIap: json['auto_restore_iap'] as bool? ?? true,
      initIgc: json['init_igc'] as int? ?? 500,
      igcBalanceSecret: json['igc_balance_secret'] as int? ?? 2654404609,
      syncAccountProfile: json['sync_account_profile'] as bool? ?? true,
      autoRequestNotificationPermission:
          json['auto_request_notification_permission'] as bool? ?? false,
      logFileSizeLimit: json['log_file_size_limit'] as int? ?? 10485760,
      logFileCount: json['log_file_count'] as int? ?? 7,
      persistentLogLevel: json['persistent_log_level'] as int? ?? 2,
      iosValidateReceiptPassword:
          json['ios_validate_receipt_password'] as String?,
      conversionEvents: (json['conversion_events'] as List<dynamic>?)
              ?.map((e) => e as String)
              .toSet() ??
          {},
      apiConnectTimeout: json['api_connect_timeout'] as int? ?? 15000,
      apiReceiveTimeout: json['api_receive_timeout'] as int? ?? 15000,
      iosSandboxSubsRenewalSpeed:
          json['ios_sandbox_subs_renewal_speed'] as int? ?? 2,
      adsCompliantInitialization:
          json['ads_compliant_initialization'] as bool? ?? false,
      notificationPermissionPromptTrigger: $enumDecodeNullable(
              _$PromptTriggerEnumMap,
              json['notification_permission_prompt_trigger']) ??
          PromptTrigger.rationale,
      trackingNotificationPermissionPass:
          json['tracking_notification_permission_pass'] as bool? ?? false,
      trackingNotificationPermissionPassLimitTimes:
          json['tracking_notification_permission_pass_limit_times'] as int? ??
              10,
      enabledGuruAnalyticsStrategy:
          json['enabled_guru_analytics_strategy'] as bool? ?? false,
      allowInterstitialAsAlternativeReward:
          json['allow_interstitial_as_alternative_reward'] as bool? ?? false,
      showInternalAdsWhenBannerUnavailable:
          json['show_internal_ads_when_banner_unavailable'] as bool? ?? false,
      subscriptionRestoreGraceCount:
          json['subscription_restore_grace_count'] as int? ?? 3,
      fullscreenAdsMinInterval:
          json['fullscreen_ads_min_interval'] as int? ?? 60,
      subscriptionGraceDays:
          json['subscription_grace_period'] as int? ?? 86400000,
      enabledSyncAccountProfile:
          json['enabled_sync_account_profile'] as bool? ?? false,
    );

Map<String, dynamic> _$DeploymentToJson(Deployment instance) =>
    <String, dynamic>{
      'property_cache_size': instance.propertyCacheSize,
      'enable_dithering': instance.enableDithering,
      'disable_rewards_ads': instance.disableRewardsAds,
      'enable_analytics_statistic': instance.enableAnalyticsStatistic,
      'auto_restore_iap': instance.autoRestoreIap,
      'init_igc': instance.initIgc,
      'igc_balance_secret': instance.igcBalanceSecret,
      'sync_account_profile': instance.syncAccountProfile,
      'auto_request_notification_permission':
          instance.autoRequestNotificationPermission,
      'log_file_size_limit': instance.logFileSizeLimit,
      'log_file_count': instance.logFileCount,
      'persistent_log_level': instance.persistentLogLevel,
      'ios_validate_receipt_password': instance.iosValidateReceiptPassword,
      'conversion_events': instance.conversionEvents.toList(),
      'api_connect_timeout': instance.apiConnectTimeout,
      'api_receive_timeout': instance.apiReceiveTimeout,
      'ios_sandbox_subs_renewal_speed': instance.iosSandboxSubsRenewalSpeed,
      'ads_compliant_initialization': instance.adsCompliantInitialization,
      'notification_permission_prompt_trigger':
          _$PromptTriggerEnumMap[instance.notificationPermissionPromptTrigger]!,
      'tracking_notification_permission_pass':
          instance.trackingNotificationPermissionPass,
      'tracking_notification_permission_pass_limit_times':
          instance.trackingNotificationPermissionPassLimitTimes,
      'enabled_guru_analytics_strategy': instance.enabledGuruAnalyticsStrategy,
      'allow_interstitial_as_alternative_reward':
          instance.allowInterstitialAsAlternativeReward,
      'show_internal_ads_when_banner_unavailable':
          instance.showInternalAdsWhenBannerUnavailable,
      'subscription_restore_grace_count':
          instance.subscriptionRestoreGraceCount,
      'fullscreen_ads_min_interval': instance.fullscreenAdsMinInterval,
      'subscription_grace_period': instance.subscriptionGraceDays,
      'enabled_sync_account_profile': instance.enabledSyncAccountProfile,
    };

const _$PromptTriggerEnumMap = {
  PromptTrigger.rationale: 0,
  PromptTrigger.request: 1,
};

RemoteDeployment _$RemoteDeploymentFromJson(Map<String, dynamic> json) =>
    RemoteDeployment(
      keepScreenOnDuration: json['keep_screen_on_duration_m'] as int? ?? 0,
      subscriptionGraceDays: json['subscriptionGraceDays'] as int?,
    );

Map<String, dynamic> _$RemoteDeploymentToJson(RemoteDeployment instance) =>
    <String, dynamic>{
      'keep_screen_on_duration_m': instance.keepScreenOnDuration,
      'subscriptionGraceDays': instance.subscriptionGraceDays,
    };
