2020-04-21 20:37:42 +00:00
|
|
|
<?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.
|
|
|
|
*/
|
|
|
|
|
2020-04-21 21:45:26 +00:00
|
|
|
namespace OCA\Epubreader\Db;
|
2020-04-21 20:37:42 +00:00
|
|
|
|
|
|
|
class Bookmark extends ReaderEntity implements \JsonSerializable {
|
|
|
|
|
2023-06-16 14:58:23 +00:00
|
|
|
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(): array {
|
|
|
|
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(),
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getUserId() {
|
|
|
|
return $this->userId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setUserId($userId) {
|
|
|
|
$this->userId = $userId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getFileId() {
|
|
|
|
return $this->fileId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setFileId($fileId) {
|
|
|
|
$this->fileId = $fileId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getType() {
|
|
|
|
return $this->type;
|
|
|
|
}
|
2020-04-21 20:37:42 +00:00
|
|
|
|
2023-06-16 14:58:23 +00:00
|
|
|
public function setType($type) {
|
|
|
|
$this->type = $type;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getName() {
|
|
|
|
return $this->name;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setName($name) {
|
|
|
|
$this->name = $name;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getValue() {
|
|
|
|
return $this->value;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setValue($value) {
|
|
|
|
$this->value = $value;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getContent() {
|
|
|
|
return $this->content;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setContent($content) {
|
|
|
|
$this->content = $content;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getLastModified() {
|
|
|
|
return $this->lastModified;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function setLastModified($lastModified) {
|
|
|
|
$this->lastModified = $lastModified;
|
|
|
|
}
|
|
|
|
}
|