aboutsummaryrefslogtreecommitdiffstats
path: root/apps/user_status/lib/Db
diff options
context:
space:
mode:
authorCarl Schwan <carl@carlschwan.eu>2021-08-11 10:36:24 +0200
committerCarl Schwan <carl@carlschwan.eu>2021-10-18 20:31:37 +0200
commit2cb48f484bd134dd4f9af355365ac6a86f0b81d0 (patch)
treee4b664986dbf5c889d15de94327081b8b7c5b566 /apps/user_status/lib/Db
parent643e85cfe81ac079bd2e5bcf1a344a20319f48db (diff)
downloadnextcloud-server-2cb48f484bd134dd4f9af355365ac6a86f0b81d0.tar.gz
nextcloud-server-2cb48f484bd134dd4f9af355365ac6a86f0b81d0.zip
Add an API to set and rollback the user status
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Diffstat (limited to 'apps/user_status/lib/Db')
-rw-r--r--apps/user_status/lib/Db/UserStatus.php6
-rw-r--r--apps/user_status/lib/Db/UserStatusMapper.php5
2 files changed, 9 insertions, 2 deletions
diff --git a/apps/user_status/lib/Db/UserStatus.php b/apps/user_status/lib/Db/UserStatus.php
index 3f8abbfbe87..8907c4a2c1b 100644
--- a/apps/user_status/lib/Db/UserStatus.php
+++ b/apps/user_status/lib/Db/UserStatus.php
@@ -50,6 +50,8 @@ use OCP\AppFramework\Db\Entity;
* @method void setCustomMessage(string|null $customMessage)
* @method int getClearAt()
* @method void setClearAt(int|null $clearAt)
+ * @method setIsBackup(bool $true): void
+ * @method getIsBackup(): bool
*/
class UserStatus extends Entity {
@@ -77,6 +79,9 @@ class UserStatus extends Entity {
/** @var int|null */
public $clearAt;
+ /** @var bool $isBackup */
+ public $isBackup;
+
public function __construct() {
$this->addType('userId', 'string');
$this->addType('status', 'string');
@@ -86,5 +91,6 @@ class UserStatus extends Entity {
$this->addType('customIcon', 'string');
$this->addType('customMessage', 'string');
$this->addType('clearAt', 'int');
+ $this->addType('isBackup', 'boolean');
}
}
diff --git a/apps/user_status/lib/Db/UserStatusMapper.php b/apps/user_status/lib/Db/UserStatusMapper.php
index b61ee27c77d..ce3a2823bce 100644
--- a/apps/user_status/lib/Db/UserStatusMapper.php
+++ b/apps/user_status/lib/Db/UserStatusMapper.php
@@ -102,12 +102,13 @@ class UserStatusMapper extends QBMapper {
* @return UserStatus
* @throws \OCP\AppFramework\Db\DoesNotExistException
*/
- public function findByUserId(string $userId):UserStatus {
+ public function findByUserId(string $userId, bool $isBackup = false):UserStatus {
$qb = $this->db->getQueryBuilder();
$qb
->select('*')
->from($this->tableName)
- ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
+ ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($isBackup ? '_' . $userId : $userId, IQueryBuilder::PARAM_STR)))
+ ->andWhere($qb->expr()->eq('is_backup', $qb->createNamedParameter($isBackup, IQueryBuilder::PARAM_BOOL)));
return $this->findEntity($qb);
}