PublicAppConfig.fromJson constructor
Deserializes PublicAppConfig from a server JSON response.
Implementation
factory PublicAppConfig.fromJson(Map<String, dynamic> json) {
final platformsRaw = json['allowedPlatforms'] as List<dynamic>? ?? [];
final platforms = platformsRaw
.map((p) => FeedbackPlatform.fromWire(p.toString()))
.whereType<FeedbackPlatform>()
.toList();
return PublicAppConfig(
appId: json['appId'] as String? ?? json['id'] as String? ?? '',
appKey: json['appKey'] as String? ?? '',
slug: json['slug'] as String? ?? '',
name: json['name'] as String? ?? '',
storeUrl: json['storeUrl'] as String?,
storeKind: json['storeKind'] as String?,
iconUrl: json['iconUrl'] as String?,
allowPublic: json['allowPublic'] as bool? ?? true,
allowedPlatforms: platforms,
maxAttachmentBytes: (json['maxAttachmentBytes'] as num?)?.toInt() ?? 10485760,
allowAnonymousRoadmap: json['allowAnonymousRoadmap'] as bool? ?? true,
allowAnonymousVote: json['allowAnonymousVote'] as bool? ?? true,
allowAnonymousFeedback: json['allowAnonymousFeedback'] as bool? ?? true,
allowAnonymousChangelog: json['allowAnonymousChangelog'] as bool? ?? true,
sdk: SdkAppearance.fromJson(json['sdk'] as Map<String, dynamic>?),
);
}