BillingPlan.fromMap constructor

BillingPlan.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory BillingPlan.fromMap(Map<String, dynamic> map) {
  return BillingPlan(
    $id: map['\$id'].toString(),
    name: map['name'].toString(),
    desc: map['desc'].toString(),
    order: map['order'],
    price: map['price'].toDouble(),
    trial: map['trial'],
    bandwidth: map['bandwidth'],
    storage: map['storage'],
    imageTransformations: map['imageTransformations'],
    screenshotsGenerated: map['screenshotsGenerated'],
    members: map['members'],
    webhooks: map['webhooks'],
    wafRules: map['wafRules'],
    projects: map['projects'],
    platforms: map['platforms'],
    users: map['users'],
    teams: map['teams'],
    databases: map['databases'],
    databasesReads: map['databasesReads'],
    databasesWrites: map['databasesWrites'],
    databasesBatchSize: map['databasesBatchSize'],
    buckets: map['buckets'],
    fileSize: map['fileSize'],
    functions: map['functions'],
    sites: map['sites'],
    executions: map['executions'],
    executionsRetentionCount: map['executionsRetentionCount'],
    GBHours: map['GBHours'],
    realtime: map['realtime'],
    realtimeMessages: map['realtimeMessages'],
    messages: map['messages'],
    topics: map['topics'],
    authPhone: map['authPhone'],
    domains: map['domains'],
    activityLogs: map['activityLogs'],
    usageLogs: map['usageLogs'],
    usageLogsIntervals: List.from(map['usageLogsIntervals'] ?? []),
    projectInactivityDays: map['projectInactivityDays'],
    alertLimit: map['alertLimit'],
    usage: UsageBillingPlan.fromMap(map['usage']),
    addons: BillingPlanAddon.fromMap(map['addons']),
    budgetCapEnabled: map['budgetCapEnabled'],
    customSmtp: map['customSmtp'],
    emailBranding: map['emailBranding'],
    requiresPaymentMethod: map['requiresPaymentMethod'],
    requiresBillingAddress: map['requiresBillingAddress'],
    isAvailable: map['isAvailable'],
    selfService: map['selfService'],
    premiumSupport: map['premiumSupport'],
    budgeting: map['budgeting'],
    supportsMockNumbers: map['supportsMockNumbers'],
    supportsOrganizationRoles: map['supportsOrganizationRoles'],
    supportsCredits: map['supportsCredits'],
    supportsDisposableEmailValidation:
        map['supportsDisposableEmailValidation'],
    supportsCanonicalEmailValidation: map['supportsCanonicalEmailValidation'],
    supportsFreeEmailValidation: map['supportsFreeEmailValidation'],
    supportsCorporateEmailValidation: map['supportsCorporateEmailValidation'],
    supportsProjectSpecificRoles: map['supportsProjectSpecificRoles'],
    backupsEnabled: map['backupsEnabled'],
    usagePerProject: map['usagePerProject'],
    supportedAddons:
        BillingPlanSupportedAddons.fromMap(map['supportedAddons']),
    backupPolicies: map['backupPolicies'],
    deploymentSize: map['deploymentSize'],
    buildSize: map['buildSize'],
    databasesAllowEncrypt: map['databasesAllowEncrypt'],
    limits: map['limits'] != null
        ? BillingPlanLimits.fromMap(map['limits'])
        : null,
    group: enums.BillingPlanGroup.values
        .firstWhere((e) => e.value == map['group']),
    program: map['program'] != null ? Program.fromMap(map['program']) : null,
    dedicatedDatabases: map['dedicatedDatabases'] != null
        ? BillingPlanDedicatedDatabaseLimits.fromMap(
            map['dedicatedDatabases'])
        : null,
  );
}