kopia lustrzana https://github.com/nextcloud/social
rodzic
3efe4a60cd
commit
b06f3ffff1
|
@ -240,7 +240,7 @@ class CoreRequestBuilder {
|
|||
$date = new DateTime('now');
|
||||
$date->sub(new DateInterval('PT' . $delay . 'M'));
|
||||
|
||||
$this->limitToDBFieldDateTime($qb, 'creation', $date);
|
||||
$this->limitToDBFieldDateTime($qb, 'creation', $date, true);
|
||||
}
|
||||
|
||||
|
||||
|
@ -256,7 +256,7 @@ class CoreRequestBuilder {
|
|||
$date = new DateTime('now');
|
||||
$date->sub(new DateInterval('PT' . $delay . 'M'));
|
||||
|
||||
$this->limitToDBFieldDateTime($qb, 'caching', $date);
|
||||
$this->limitToDBFieldDateTime($qb, 'caching', $date, true);
|
||||
}
|
||||
|
||||
|
||||
|
@ -345,18 +345,11 @@ class CoreRequestBuilder {
|
|||
*/
|
||||
protected function limitPaginate(IQueryBuilder &$qb, int $since = 0, int $limit = 5) {
|
||||
if ($since > 0) {
|
||||
$expr = $qb->expr();
|
||||
$dt = new \DateTime();
|
||||
$dt->setTimestamp($since);
|
||||
// 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),
|
||||
IQueryBuilder::PARAM_DATE
|
||||
)
|
||||
);
|
||||
$dTime = new \DateTime();
|
||||
$dTime->setTimestamp($since);
|
||||
$this->limitToDBFieldDateTime($qb, 'published_time', $dTime);
|
||||
}
|
||||
|
||||
$qb->setMaxResults($limit);
|
||||
$qb->orderBy('creation', 'desc');
|
||||
}
|
||||
|
@ -430,15 +423,20 @@ class CoreRequestBuilder {
|
|||
* @param IQueryBuilder $qb
|
||||
* @param string $field
|
||||
* @param DateTime $date
|
||||
* @param bool $orNull
|
||||
*/
|
||||
protected function limitToDBFieldDateTime(IQueryBuilder &$qb, string $field, DateTime $date) {
|
||||
protected function limitToDBFieldDateTime(
|
||||
IQueryBuilder &$qb, string $field, DateTime $date, bool $orNull = false
|
||||
) {
|
||||
$expr = $qb->expr();
|
||||
$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->defaultSelectAlias . '.' : '';
|
||||
$field = $pf . $field;
|
||||
|
||||
$orX = $expr->orX();
|
||||
$orX->add($expr->lte($field, $qb->createNamedParameter($date, IQueryBuilder::PARAM_DATE)));
|
||||
$orX->add($expr->isNull($field));
|
||||
if ($orNull === true) {
|
||||
$orX->add($expr->isNull($field));
|
||||
}
|
||||
$qb->andWhere($orX);
|
||||
}
|
||||
|
||||
|
|
|
@ -310,9 +310,12 @@ class NoteService implements ICoreService {
|
|||
/**
|
||||
* @param Person $actor
|
||||
*
|
||||
* @param int $since
|
||||
* @param int $limit
|
||||
*
|
||||
* @return Note[]
|
||||
*/
|
||||
public function getHomeNotesForActor(Person $actor, $since, $limit): array {
|
||||
public function getHomeNotesForActor(Person $actor, int $since = 0, int $limit = 5): array {
|
||||
return $this->notesRequest->getHomeNotesForActorId($actor->getId(), $since, $limit);
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue