/** * @param $reaction * @param $timestamp * @param $messageTimestamp * @param $user * @return Reaction */ public static function fromSlack($reaction, $timestamp, $messageTimestamp, $user) { $message = new Reaction(); $message->messageId = MessageId::fromTimeStamp($messageTimestamp); $message->userId = new UserId($user); $message->reaction = $reaction; $message->createdAt = \DateTime::createFromFormat('U.u', $timestamp); $message->createdAt->setTimezone(new \DateTimeZone(date_default_timezone_get())); return $message; }
/** * {@inheritdoc} */ public function toArray() : array { return ['id' => $this->id->toString(), 'type' => $this->type->value(), 'timestamp' => $this->timestamp->toString(), 'meta_data' => $this->metaData->toArray(), 'payload_type' => $this->payloadType->toString(), 'payload' => $this->payload->toArray()]; }