FeatureRequestItem.fromJson constructor
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? ?? '',
);
}