<?php /** * @author Frank de Lange * @copyright 2015 Frank de Lange * * This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. */ namespace OCA\Epubreader\Db; use OCP\AppFramework\Db\Entity; class Bookmark extends ReaderEntity implements \JsonSerializable { protected $userId; // user protected $fileId; // book (identified by fileId) for which this mark is valid protected $type; // type, defaults to "bookmark" protected $name; // name, defaults to $location protected $value; // bookmark value (format-specific, eg. page number for PDF, CFI for epub, etc) protected $content; // bookmark content (annotations etc), can be empty protected $lastModified; // modification timestamp public function jsonSerialize() { return [ 'id' => $this->getId(), 'userId' => $this->getUserId(), 'fileId' => $this->getFileId(), 'type' => $this->getType(), 'name' => $this->getName(), 'value' => static::conditional_json_decode($this->getValue()), 'content' => static::conditional_json_decode($this->getContent()), 'lastModified' => $this->getLastModified() ]; } public function toService() { return [ 'name' => $this->getName(), 'type' => $this->getType(), 'value' => $this->conditional_json_decode($this->getValue()), 'content' => $this->conditional_json_decode($this->getContent()), 'lastModified' => $this->getLastModified(), ]; } }