diff --git a/lib/Db/CacheActorsRequestBuilder.php b/lib/Db/CacheActorsRequestBuilder.php index a03d26f6..7f91e976 100644 --- a/lib/Db/CacheActorsRequestBuilder.php +++ b/lib/Db/CacheActorsRequestBuilder.php @@ -80,7 +80,7 @@ class CacheActorsRequestBuilder extends CoreRequestBuilder { 'ca.id', 'ca.account', 'ca.following', 'ca.followers', 'ca.inbox', 'ca.shared_inbox', 'ca.outbox', 'ca.featured', 'ca.url', 'ca.preferred_username', 'ca.name', 'ca.summary', - 'ca.public_key', 'ca.local', 'ca.creation' + 'ca.public_key', 'ca.local', 'ca.source', 'ca.creation' ) ->from(self::TABLE_CACHE_ACTORS, 'ca'); diff --git a/lib/Db/CoreRequestBuilder.php b/lib/Db/CoreRequestBuilder.php index a4acb240..c86ff43a 100644 --- a/lib/Db/CoreRequestBuilder.php +++ b/lib/Db/CoreRequestBuilder.php @@ -237,7 +237,8 @@ class CoreRequestBuilder { // TODO: Pagination should use published date, once we can properly query the db for that $qb->andWhere( $expr->lt( - $this->defaultSelectAlias . '.creation', $qb->createNamedParameter($dt, IQueryBuilder::PARAM_DATE), + $this->defaultSelectAlias . '.creation', + $qb->createNamedParameter($dt, IQueryBuilder::PARAM_DATE), IQueryBuilder::PARAM_DATE ) ); @@ -248,7 +249,7 @@ class CoreRequestBuilder { /** * @param IQueryBuilder $qb - * @param string $field" + * @param string $field * @param string|integer|array $values */ private function limitToDBField(IQueryBuilder &$qb, $field, $values) { @@ -309,6 +310,7 @@ class CoreRequestBuilder { ->selectAlias('ca.name', 'cacheactor_name') ->selectAlias('ca.summary', 'cacheactor_summary') ->selectAlias('ca.public_key', 'cacheactor_public_key') + ->selectAlias('ca.source', 'cacheactor_source') ->selectAlias('ca.creation', 'cacheactor_creation') ->leftJoin( $this->defaultSelectAlias, CoreRequestBuilder::TABLE_CACHE_ACTORS, 'ca', diff --git a/lib/Db/NotesRequest.php b/lib/Db/NotesRequest.php index 38527c33..c7dbd893 100644 --- a/lib/Db/NotesRequest.php +++ b/lib/Db/NotesRequest.php @@ -63,7 +63,6 @@ class NotesRequest extends NotesRequestBuilder { * @throws \Exception */ public function save(Note $note): int { - try { $qb = $this->getNotesInsertSql(); $qb->setValue('id', $qb->createNamedParameter($note->getId())) @@ -88,7 +87,11 @@ class NotesRequest extends NotesRequestBuilder { ->setValue('published', $qb->createNamedParameter($note->getPublished())) ->setValue('attributed_to', $qb->createNamedParameter($note->getAttributedTo())) ->setValue('in_reply_to', $qb->createNamedParameter($note->getInReplyTo())) - ->setValue('creation', $qb->createNamedParameter(new \DateTime('now'), IQueryBuilder::PARAM_DATE)); + ->setValue('source', $qb->createNamedParameter($note->getSource())) + ->setValue( + 'creation', + $qb->createNamedParameter(new \DateTime('now'), IQueryBuilder::PARAM_DATE) + ); $qb->execute(); return $qb->getLastInsertId(); diff --git a/lib/Db/NotesRequestBuilder.php b/lib/Db/NotesRequestBuilder.php index 0d1f7253..3e50fd29 100644 --- a/lib/Db/NotesRequestBuilder.php +++ b/lib/Db/NotesRequestBuilder.php @@ -78,7 +78,7 @@ class NotesRequestBuilder extends CoreRequestBuilder { /** @noinspection PhpMethodParametersCountMismatchInspection */ $qb->select( 'sn.id', 'sn.to', 'sn.to_array', 'sn.cc', 'sn.bcc', 'sn.content', 'sn.summary', - 'sn.published', 'sn.attributed_to', 'sn.in_reply_to', 'sn.creation' + 'sn.published', 'sn.attributed_to', 'sn.in_reply_to', 'sn.source', 'sn.creation' ) ->from(self::TABLE_SERVER_NOTES, 'sn'); diff --git a/lib/Service/ImportService.php b/lib/Service/ImportService.php index bacaed27..7460f543 100644 --- a/lib/Service/ImportService.php +++ b/lib/Service/ImportService.php @@ -109,6 +109,7 @@ class ImportService { } $item->import($data); + $item->setSource(json_encode($data, JSON_UNESCAPED_SLASHES)); try { $object = $this->createItem($this->getArray('object', $data, []), $item);