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