PublicAppConfig.fromJson constructor

PublicAppConfig.fromJson(
  1. Map<String, dynamic> json
)

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>?),
  );
}