ReportView constructor

  1. @JsonSerializable.new(includeIfNull: false)
const ReportView({
  1. @Default.new('tools.ozone.report.defs#reportView') String $type,
  2. required int id,
  3. required int eventId,
  4. @ReportViewStatusConverter() required ReportViewStatus status,
  5. @SubjectViewConverter() required SubjectView subject,
  6. @ReasonTypeConverter() required ReasonType reportType,
  7. required String reportedBy,
  8. @SubjectViewConverter() required SubjectView reporter,
  9. String? comment,
  10. required DateTime createdAt,
  11. DateTime? updatedAt,
  12. DateTime? queuedAt,
  13. List<int>? actionEventIds,
  14. @ModEventViewConverter() List<ModEventView>? actions,
  15. String? actionNote,
  16. @SubjectStatusViewConverter() SubjectStatusView? subjectStatus,
  17. int? relatedReportCount,
  18. @ReportAssignmentConverter() ReportAssignment? assignment,
  19. @QueueViewConverter() QueueView? queue,
  20. bool? isMuted,
  21. Map<String, dynamic>? $unknown,
})

Implementation

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

  /// Report ID
  required int id,

  /// ID of the moderation event that created this report
  required int eventId,

  /// Current status of the report
  @ReportViewStatusConverter() required ReportViewStatus status,

  /// The subject that was reported with full details
  @SubjectViewConverter() required SubjectView subject,

  /// Type of report
  @ReasonTypeConverter() required ReasonType reportType,

  /// DID of the user who made the report
  required String reportedBy,

  /// Full subject view of the reporter account
  @SubjectViewConverter() required SubjectView reporter,

  /// Comment provided by the reporter
  String? comment,

  /// When the report was created
  required DateTime createdAt,

  /// When the report was last updated
  DateTime? updatedAt,

  /// When the report was assigned to its current queue
  DateTime? queuedAt,
  List<int>? actionEventIds,
  @ModEventViewConverter() List<ModEventView>? actions,

  /// Note sent to reporter when report was actioned
  String? actionNote,

  /// Current status of the reported subject
  @SubjectStatusViewConverter() SubjectStatusView? subjectStatus,

  /// Number of other pending reports on the same subject
  int? relatedReportCount,

  /// Information about moderator currently assigned to this report (if any)
  @ReportAssignmentConverter() ReportAssignment? assignment,

  /// The queue this report is assigned to (if any)
  @QueueViewConverter() QueueView? queue,

  /// Whether this report is muted. A report is muted if the reporter was muted or the subject was muted at the time the report was created.
  bool? isMuted,

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