- /** @var array Optional list of URI IDs of posts supporting the report*/
- protected $postUriIds;
-
- public function __construct(int $uid, int $cid, \DateTime $created, string $comment = '', bool $forward = false, array $postUriIds = [], int $id = null)
- {
- $this->uid = $uid;
- $this->cid = $cid;
- $this->created = $created;
- $this->comment = $comment;
- $this->forward = $forward;
- $this->postUriIds = $postUriIds;
- $this->id = $id;
+ /** @var Collection\Report\Rules List of terms of service rule lines being possibly violated */
+ protected $rules;
+ /** @var Collection\Report\Posts List of URI IDs of posts supporting the report */
+ protected $posts;
+ /** @var string Remarks shared with the reporter */
+ protected $publicRemarks;
+ /** @var string Remarks shared with the moderation team */
+ protected $privateRemarks;
+ /** @var \DateTimeImmutable|null When the report was last edited */
+ protected $edited;
+ /** @var int One of STATUS_* */
+ protected $status;
+ /** @var int|null One of RESOLUTION_* if any */
+ protected $resolution;
+ /** @var int|null Assigned moderator user id if any */
+ protected $assignedUid;
+ /** @var int|null Last editor user ID if any */
+ protected $lastEditorUid;
+
+ public function __construct(
+ int $reporterCid,
+ int $cid,
+ int $gsid,
+ \DateTimeImmutable $created,
+ int $category,
+ int $reporterUid = null,
+ string $comment = '',
+ bool $forward = false,
+ Collection\Report\Posts $posts = null,
+ Collection\Report\Rules $rules = null,
+ string $publicRemarks = '',
+ string $privateRemarks = '',
+ \DateTimeImmutable $edited = null,
+ int $status = self::STATUS_OPEN,
+ int $resolution = null,
+ int $assignedUid = null,
+ int $lastEditorUid = null,
+ int $id = null
+ ) {
+ $this->reporterCid = $reporterCid;
+ $this->cid = $cid;
+ $this->gsid = $gsid;
+ $this->created = $created;
+ $this->category = $category;
+ $this->reporterUid = $reporterUid;
+ $this->comment = $comment;
+ $this->forward = $forward;
+ $this->posts = $posts ?? new Collection\Report\Posts();
+ $this->rules = $rules ?? new Collection\Report\Rules();
+ $this->publicRemarks = $publicRemarks;
+ $this->privateRemarks = $privateRemarks;
+ $this->edited = $edited;
+ $this->status = $status;
+ $this->resolution = $resolution;
+ $this->assignedUid = $assignedUid;
+ $this->lastEditorUid = $lastEditorUid;
+ $this->id = $id;