FeatureRequestItem.fromJson constructor

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

Deserializes FeatureRequestItem from a JSON map.

Implementation

factory FeatureRequestItem.fromJson(Map<String, dynamic> json) {
  final commentersRaw = json['recentCommenters'] as List<dynamic>? ?? [];
  final commenters = commentersRaw
      .map((c) => RecentCommenter.fromJson(c as Map<String, dynamic>))
      .toList();

  return FeatureRequestItem(
    id: json['id'] as String? ?? '',
    appId: json['appId'] as String? ?? '',
    title: json['title'] as String? ?? '',
    description: json['description'] as String? ?? '',
    status: json['status'] as String? ?? 'backlog',
    columnId: json['columnId'] as String?,
    columnSlug: json['columnSlug'] as String?,
    columnName: json['columnName'] as String?,
    columnColor: json['columnColor'] as String?,
    versionId: json['versionId'] as String?,
    versionLabel: json['versionLabel'] as String?,
    releasedVersion: json['releasedVersion'] as String?,
    requesterName: json['requesterName'] as String?,
    requesterAvatarUrl: json['requesterAvatarUrl'] as String?,
    requesterClerkId: json['requesterClerkId'] as String?,
    approved: json['approved'] as bool? ?? true,
    voteCount: (json['voteCount'] as num?)?.toInt() ?? 0,
    hasVoted: json['hasVoted'] as bool? ?? false,
    isOwnRequest: json['isOwnRequest'] as bool? ?? false,
    recentCommenters: commenters,
    hasMoreCommenters: json['hasMoreCommenters'] as bool? ?? false,
    createdAt: json['createdAt'] as String? ?? '',
    updatedAt: json['updatedAt'] as String? ?? '',
  );
}