Merge pull request #10444 from nextcloud/feature/noid/allow-to-filter-unread-count-by-verb
Allow to filter the unread count by verb
This commit is contained in:
commit
c39bc1638b
|
@ -546,12 +546,13 @@ class Manager implements ICommentsManager {
|
||||||
* @param $objectId string the id of the object
|
* @param $objectId string the id of the object
|
||||||
* @param \DateTime $notOlderThan optional, timestamp of the oldest comments
|
* @param \DateTime $notOlderThan optional, timestamp of the oldest comments
|
||||||
* that may be returned
|
* that may be returned
|
||||||
|
* @param string $verb Limit the verb of the comment - Added in 14.0.0
|
||||||
* @return Int
|
* @return Int
|
||||||
* @since 9.0.0
|
* @since 9.0.0
|
||||||
*/
|
*/
|
||||||
public function getNumberOfCommentsForObject($objectType, $objectId, \DateTime $notOlderThan = null) {
|
public function getNumberOfCommentsForObject($objectType, $objectId, \DateTime $notOlderThan = null, $verb = '') {
|
||||||
$qb = $this->dbConn->getQueryBuilder();
|
$qb = $this->dbConn->getQueryBuilder();
|
||||||
$query = $qb->select($qb->createFunction('COUNT(`id`)'))
|
$query = $qb->select($qb->createFunction('COUNT(' . $qb->getColumnName('id') . ')'))
|
||||||
->from('comments')
|
->from('comments')
|
||||||
->where($qb->expr()->eq('object_type', $qb->createParameter('type')))
|
->where($qb->expr()->eq('object_type', $qb->createParameter('type')))
|
||||||
->andWhere($qb->expr()->eq('object_id', $qb->createParameter('id')))
|
->andWhere($qb->expr()->eq('object_id', $qb->createParameter('id')))
|
||||||
|
@ -564,6 +565,10 @@ class Manager implements ICommentsManager {
|
||||||
->setParameter('notOlderThan', $notOlderThan, 'datetime');
|
->setParameter('notOlderThan', $notOlderThan, 'datetime');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($verb !== '') {
|
||||||
|
$query->andWhere($qb->expr()->eq('verb', $qb->createNamedParameter($verb)));
|
||||||
|
}
|
||||||
|
|
||||||
$resultStatement = $query->execute();
|
$resultStatement = $query->execute();
|
||||||
$data = $resultStatement->fetch(\PDO::FETCH_NUM);
|
$data = $resultStatement->fetch(\PDO::FETCH_NUM);
|
||||||
$resultStatement->closeCursor();
|
$resultStatement->closeCursor();
|
||||||
|
|
|
@ -157,10 +157,11 @@ interface ICommentsManager {
|
||||||
* @param $objectId string the id of the object
|
* @param $objectId string the id of the object
|
||||||
* @param \DateTime|null $notOlderThan optional, timestamp of the oldest comments
|
* @param \DateTime|null $notOlderThan optional, timestamp of the oldest comments
|
||||||
* that may be returned
|
* that may be returned
|
||||||
|
* @param string $verb Limit the verb of the comment - Added in 14.0.0
|
||||||
* @return Int
|
* @return Int
|
||||||
* @since 9.0.0
|
* @since 9.0.0
|
||||||
*/
|
*/
|
||||||
public function getNumberOfCommentsForObject($objectType, $objectId, \DateTime $notOlderThan = null);
|
public function getNumberOfCommentsForObject($objectType, $objectId, \DateTime $notOlderThan = null, $verb = '');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the number of unread comments for all files in a folder
|
* Get the number of unread comments for all files in a folder
|
||||||
|
|
|
@ -30,7 +30,7 @@ class FakeManager implements ICommentsManager {
|
||||||
int $limit = 30
|
int $limit = 30
|
||||||
): array { return []; }
|
): array { return []; }
|
||||||
|
|
||||||
public function getNumberOfCommentsForObject($objectType, $objectId, \DateTime $notOlderThan = null) {}
|
public function getNumberOfCommentsForObject($objectType, $objectId, \DateTime $notOlderThan = null, $verb = '') {}
|
||||||
|
|
||||||
public function search(string $search, string $objectType, string $objectId, string $verb, int $offset, int $limit = 50): array {
|
public function search(string $search, string $objectType, string $objectId, string $verb, int $offset, int $limit = 50): array {
|
||||||
return [];
|
return [];
|
||||||
|
|
Loading…
Reference in New Issue