BillingPlan.fromMap constructor
BillingPlan.fromMap(
- 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,
);
}