ReportView constructor

const ReportView({
  1. @Default.new('tools.ozone.inbox.listReports#reportView') String $type,
  2. required String src,
  3. required int id,
  4. required bool isRead,
  5. required String reasonType,
  6. String? reason,
  7. String? lastActionTaken,
  8. @ReportViewScopeConverter() ReportViewScope? scope,
  9. @UReportViewSubjectConverter() required UReportViewSubject subject,
  10. @ReportViewStatusConverter() required ReportViewStatus status,
  11. @JsonKey.new(toJson: iso8601) required DateTime createdAt,
  12. @JsonKey.new(toJson: iso8601) required DateTime updatedAt,
  13. Map<String, dynamic>? $unknown,
})

Implementation

@JsonSerializable(includeIfNull: false)
const factory ReportView({
  @Default('tools.ozone.inbox.listReports#reportView') String $type,

  /// DID of the moderation service that received the report.
  required String src,

  /// Report ID (report table ID), used by getReport and Ozone's report detail page.
  required int id,
  required bool isRead,

  /// The exact fully-qualified reason NSID submitted with and stored on the report.
  required String reasonType,
  String? reason,

  /// Public action associated with this report's transition to resolved. See the public action vocabulary table.
  String? lastActionTaken,
  @ReportViewScopeConverter() ReportViewScope? scope,
  @UReportViewSubjectConverter() required UReportViewSubject subject,
  @ReportViewStatusConverter() required ReportViewStatus status,
  @JsonKey(toJson: iso8601) required DateTime createdAt,
  @JsonKey(toJson: iso8601) required DateTime updatedAt,

  Map<String, dynamic>? $unknown,
}) = _ReportView;