Study.fromInvitePreviewJson constructor

Study.fromInvitePreviewJson(
  1. Map<String, dynamic> json
)

Creates the metadata needed to display an invite before the study is configured for enrollment.

Implementation

factory fromInvitePreviewJson(Map<String, dynamic> json) {
  final study = Study(json['id'] as String, json['user_id'] as String? ?? '')
    ..title = json['title'] as String?
    ..description = json['description'] as String?
    ..iconName = json['icon_name'] as String? ?? 'accountHeart';

  final status = json['status'];
  if (status is String) {
    study.status = StudyStatus.values.firstWhere(
      (value) => value.name == status,
      orElse: () => StudyStatus.draft,
    );
  }
  return study;
}