From 08cbbe46f3d6f671e90a200ae471fc2d736044d1 Mon Sep 17 00:00:00 2001 From: Maxence Lange Date: Sat, 12 May 2018 12:06:51 -0100 Subject: set source into index Signed-off-by: Maxence Lange --- appinfo/database.xml | 7 +++++++ lib/Db/IndexesRequest.php | 2 ++ lib/Db/IndexesRequestBuilder.php | 4 +++- lib/Model/Index.php | 39 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/appinfo/database.xml b/appinfo/database.xml index f636c6c..1c93323 100644 --- a/appinfo/database.xml +++ b/appinfo/database.xml @@ -50,6 +50,13 @@ true + + source + text + 64 + true + + owner_id text diff --git a/lib/Db/IndexesRequest.php b/lib/Db/IndexesRequest.php index 0e6a97f..312eefb 100644 --- a/lib/Db/IndexesRequest.php +++ b/lib/Db/IndexesRequest.php @@ -48,6 +48,7 @@ class IndexesRequest extends IndexesRequestBuilder { $qb->setValue('owner_id', $qb->createNamedParameter($index->getOwnerId())) ->setValue('provider_id', $qb->createNamedParameter($index->getProviderId())) ->setValue('document_id', $qb->createNamedParameter($index->getDocumentId())) + ->setValue('source', $qb->createNamedParameter($index->getSource())) ->setValue('err', $qb->createNamedParameter($index->getError())) ->setValue('message', $qb->createNamedParameter($index->getMessage())) ->setValue('status', $qb->createNamedParameter($index->getStatus())) @@ -78,6 +79,7 @@ class IndexesRequest extends IndexesRequestBuilder { $qb = $this->getIndexesUpdateSql(); $qb->set('status', $qb->createNamedParameter($index->getStatus())); + $qb->set('source', $qb->createNamedParameter($index->getSource())); $qb->set('options', $qb->createNamedParameter(json_encode($index->getOptions()))); if ($index->getOwnerId() !== '') { diff --git a/lib/Db/IndexesRequestBuilder.php b/lib/Db/IndexesRequestBuilder.php index 4557886..647bb17 100644 --- a/lib/Db/IndexesRequestBuilder.php +++ b/lib/Db/IndexesRequestBuilder.php @@ -86,7 +86,8 @@ class IndexesRequestBuilder extends CoreRequestBuilder { /** @noinspection PhpMethodParametersCountMismatchInspection */ $qb->select( - 'li.owner_id', 'li.provider_id', 'li.document_id', 'li.status', 'li.options', 'li.err', + 'li.owner_id', 'li.provider_id', 'li.document_id', 'li.source', 'li.status', + 'li.options', 'li.err', 'li.message', 'li.indexed' ) ->from(self::TABLE_INDEXES, 'li'); @@ -118,6 +119,7 @@ class IndexesRequestBuilder extends CoreRequestBuilder { protected function parseIndexesSelectSql($data) { $index = new ExtendedIndex($data['provider_id'], $data['document_id']); $index->setStatus($data['status']) + ->setSource($data['source']) ->setOptions(json_decode($data['options'], true)) ->setError($data['err']) ->setMessage($data['message']) diff --git a/lib/Model/Index.php b/lib/Model/Index.php index a390e6a..0c01171 100644 --- a/lib/Model/Index.php +++ b/lib/Model/Index.php @@ -50,6 +50,9 @@ class Index implements \JsonSerializable { /** @var string */ private $documentId; + /** @var string */ + private $source = ''; + /** @var string */ private $ownerId = ''; @@ -90,6 +93,25 @@ class Index implements \JsonSerializable { } + /** + * @param string $source + * + * @return $this + */ + public function setSource($source) { + $this->source = $source; + + return $this; + } + + /** + * @return string + */ + public function getSource() { + return $this->source; + } + + /** * @param string $ownerId * @@ -159,7 +181,7 @@ class Index implements \JsonSerializable { * * @return $this */ - public function setOption($option, $value) { + public function addOption($option, $value) { $this->options[$option] = $value; return $this; @@ -184,6 +206,21 @@ class Index implements \JsonSerializable { } + /** + * @param string $option + * @param string $default + * + * @return mixed|string + */ + public function getOption($option, $default = '') { + if (!array_key_exists($option, $this->options)) { + return $default; + } + + return $this->options[$option]; + } + + /** * @param int $err * -- cgit v1.2.3