SubjectStatusView constructor

const SubjectStatusView({
  1. @Default.new('tools.ozone.moderation.defs#subjectStatusView') String $type,
  2. required int id,
  3. @USubjectStatusViewSubjectConverter() required USubjectStatusViewSubject subject,
  4. @USubjectStatusViewHostingConverter() USubjectStatusViewHosting? hosting,
  5. List<String>? subjectBlobCids,
  6. String? subjectRepoHandle,
  7. @JsonKey.new(toJson: iso8601) required DateTime updatedAt,
  8. @JsonKey.new(toJson: iso8601) required DateTime createdAt,
  9. @SubjectReviewStateConverter() required SubjectReviewState reviewState,
  10. String? comment,
  11. int? priorityScore,
  12. @JsonKey.new(toJson: iso8601) DateTime? muteUntil,
  13. @JsonKey.new(toJson: iso8601) DateTime? muteReportingUntil,
  14. String? lastReviewedBy,
  15. @JsonKey.new(toJson: iso8601) DateTime? lastReviewedAt,
  16. @JsonKey.new(toJson: iso8601) DateTime? lastReportedAt,
  17. @JsonKey.new(toJson: iso8601) DateTime? lastAppealedAt,
  18. bool? takendown,
  19. bool? appealed,
  20. @JsonKey.new(toJson: iso8601) DateTime? suspendUntil,
  21. List<String>? tags,
  22. @AccountStatsConverter() AccountStats? accountStats,
  23. @RecordsStatsConverter() RecordsStats? recordsStats,
  24. @AccountStrikeConverter() AccountStrike? accountStrike,
  25. @SubjectStatusViewAgeAssuranceStateConverter() SubjectStatusViewAgeAssuranceState? ageAssuranceState,
  26. @SubjectStatusViewAgeAssuranceUpdatedByConverter() SubjectStatusViewAgeAssuranceUpdatedBy? ageAssuranceUpdatedBy,
  27. Map<String, dynamic>? $unknown,
})

Implementation

@JsonSerializable(includeIfNull: false)
const factory SubjectStatusView({
  @Default('tools.ozone.moderation.defs#subjectStatusView') String $type,
  required int id,
  @USubjectStatusViewSubjectConverter()
  required USubjectStatusViewSubject subject,
  @USubjectStatusViewHostingConverter() USubjectStatusViewHosting? hosting,
  List<String>? subjectBlobCids,
  String? subjectRepoHandle,

  /// Timestamp referencing when the last update was made to the moderation status of the subject
  @JsonKey(toJson: iso8601) required DateTime updatedAt,

  /// Timestamp referencing the first moderation status impacting event was emitted on the subject
  @JsonKey(toJson: iso8601) required DateTime createdAt,
  @SubjectReviewStateConverter() required SubjectReviewState reviewState,

  /// Sticky comment on the subject.
  String? comment,

  /// Numeric value representing the level of priority. Higher score means higher priority.
  int? priorityScore,
  @JsonKey(toJson: iso8601) DateTime? muteUntil,
  @JsonKey(toJson: iso8601) DateTime? muteReportingUntil,
  String? lastReviewedBy,
  @JsonKey(toJson: iso8601) DateTime? lastReviewedAt,
  @JsonKey(toJson: iso8601) DateTime? lastReportedAt,

  /// Timestamp referencing when the author of the subject appealed a moderation action
  @JsonKey(toJson: iso8601) DateTime? lastAppealedAt,
  bool? takendown,

  /// True indicates that the a previously taken moderator action was appealed against, by the author of the content. False indicates last appeal was resolved by moderators.
  bool? appealed,
  @JsonKey(toJson: iso8601) DateTime? suspendUntil,
  List<String>? tags,

  /// Statistics related to the account subject
  @AccountStatsConverter() AccountStats? accountStats,

  /// Statistics related to the record subjects authored by the subject's account
  @RecordsStatsConverter() RecordsStats? recordsStats,

  /// Strike information for the account (account-level only)
  @AccountStrikeConverter() AccountStrike? accountStrike,

  /// Current age assurance state of the subject.
  @SubjectStatusViewAgeAssuranceStateConverter()
  SubjectStatusViewAgeAssuranceState? ageAssuranceState,

  /// Whether or not the last successful update to age assurance was made by the user or admin.
  @SubjectStatusViewAgeAssuranceUpdatedByConverter()
  SubjectStatusViewAgeAssuranceUpdatedBy? ageAssuranceUpdatedBy,

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