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'] ?? []),
usageAggregateOnlyMetrics:
List.from(map['usageAggregateOnlyMetrics'] ?? []),
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'],
supportsDedicatedDatabases: map['supportsDedicatedDatabases'],
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,
databaseComputeCredit: map['databaseComputeCredit'].toDouble(),
dedicatedDatabases: map['dedicatedDatabases'] != null
? BillingPlanDedicatedDatabaseLimits.fromMap(
map['dedicatedDatabases'],
)
: null,
);
}