FeatureRequestItem class
Single feature request proposal item on the roadmap or requests board.
Contains proposal details, board column status, milestone version tags, upvote status, requester info, and recent commenter avatars.
Example
final item = FeatureRequestItem(
id: 'fr_123',
appId: 'app_abc',
title: 'Add CSV export for analytics',
description: 'Allow exporting daily and monthly active user metrics to CSV.',
status: 'planned',
columnName: 'In Progress',
columnColor: '#3B82F6',
versionLabel: '1.4.0',
approved: true,
voteCount: 42,
hasVoted: true,
isOwnRequest: false,
createdAt: '2026-08-15T10:00:00Z',
updatedAt: '2026-08-20T14:30:00Z',
);
Constructors
-
FeatureRequestItem({required String id, required String appId, required String title, required String description, required String status, String? columnId, String? columnSlug, String? columnName, String? columnColor, String? versionId, String? versionLabel, String? releasedVersion, String? requesterName, String? requesterAvatarUrl, String? requesterClerkId, required bool approved, required int voteCount, required bool hasVoted, required bool isOwnRequest, List<
RecentCommenter> recentCommenters = const [], bool hasMoreCommenters = false, required String createdAt, required String updatedAt}) -
Creates a FeatureRequestItem data object.
const
-
FeatureRequestItem.fromJson(Map<
String, dynamic> json) -
Deserializes FeatureRequestItem from a JSON map.
factory
Properties
- appId → String
-
Identifier of the parent application.
final
- approved → bool
-
Whether this request has been approved for public display by moderators.
final
- columnColor → String?
-
Hex color code (e.g.
'#3B82F6') associated with the board column.final - columnId → String?
-
Associated Kanban column ID, if mapped.
final
- columnName → String?
-
Human-readable name of the assigned board column (e.g.
'Under Review').final - columnSlug → String?
-
Slug identifier of the assigned column.
final
- createdAt → String
-
ISO 8601 creation timestamp string.
final
- description → String
-
Full markdown-formatted feature description.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasMoreCommenters → bool
-
Whether there are additional commenters beyond recentCommenters.
final
- hasVoted → bool
-
Whether the currently active user has upvoted this request.
final
- id → String
-
Unique database identifier for this feature request.
final
- isOwnRequest → bool
-
Whether the currently active user created this request.
final
-
recentCommenters
→ List<
RecentCommenter> -
List of recent commenters for displaying avatar stacks.
final
- releasedVersion → String?
-
Released version number if this feature has already shipped.
final
- requesterAvatarUrl → String?
-
Profile image URL of the proposing user.
final
- requesterClerkId → String?
-
Clerk authentication user ID of the author, if authenticated.
final
- requesterName → String?
-
Display name of the user who proposed this feature.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- stageName → String
-
Stage name for display, preferring columnName with fallback to status.
no setter
- status → String
-
Internal status slug (e.g.
'backlog','in_progress','completed').final - title → String
-
Feature request title.
final
- updatedAt → String
-
ISO 8601 last-update timestamp string.
final
- versionId → String?
-
ID of the target release milestone version, if assigned.
final
- versionLabel → String?
-
Human-readable label of the target release milestone (e.g.
'2.1.0').final - voteCount → int
-
Total count of upvotes received.
final
Methods
-
copyWith(
{bool? hasVoted, int? voteCount}) → FeatureRequestItem - Creates a copy of this FeatureRequestItem with updated properties.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited