createdBy = new NullAccount(); $this->createdAt = new \DateTimeImmutable('now'); $this->template = new NullTemplate(); $this->source = new NullCollection(); } /** * Get model id. * * @return int * * @since 1.0.0 */ public function getId() : int { return $this->id; } /** * Get the activity status * * @return int * * @since 1.0.0 */ public function getStatus() : int { return $this->status; } /** * Set the activity status * * @param int $status Report status * * @return void * * @since 1.0.0 */ public function setStatus(int $status) : void { $this->status = $status; } /** * Get template this report belongs to * * @return Template * * @since 1.0.0 */ public function getTemplate() : Template { return $this->template; } /** * Set template this report belongs to * * @param Template $template Report template * * @return void * * @since 1.0.0 */ public function setTemplate(Template $template) : void { $this->template = $template; } /** * Set source media for the report * * @param Collection $source Report source * * @return void * * @since 1.0.0 */ public function setSource(Collection $source) : void { $this->source = $source; } /** * Get source media for the report * * @return Collection * * @since 1.0.0 */ public function getSource() : Collection { return $this->source; } /** * {@inheritdoc} */ public function toArray() : array { return [ 'id' => $this->id, 'createdBy' => $this->createdBy, 'createdAt' => $this->createdAt, 'name' => $this->title, 'description' => $this->description, 'descriptionRaw' => $this->descriptionRaw, 'status' => $this->status, ]; } /** * {@inheritdoc} */ public function jsonSerialize() { return $this->toArray(); } }