%PDF- %PDF-
| Direktori : /www/varak.net/nextcloud.varak.net/apps_old/apps/circles/lib/Db/ |
| Current File : /www/varak.net/nextcloud.varak.net/apps_old/apps/circles/lib/Db/AccountsRequestBuilder.php |
<?php
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Circles\Db;
use OCA\Circles\Tools\Traits\TArrayTools;
use OCP\DB\QueryBuilder\IQueryBuilder;
/**
* Class AccountsRequestBuilder
*
* @package OCA\Circles\Db
*/
class AccountsRequestBuilder extends DeprecatedRequestBuilder {
use TArrayTools;
/**
* Base of the Sql Insert request for Accounts
*
* @return IQueryBuilder
*/
protected function getAccountsInsertSql() {
$qb = $this->dbConnection->getQueryBuilder();
$qb->insert(self::NC_TABLE_ACCOUNTS);
return $qb;
}
/**
* Base of the Sql Update request for Accounts
*
* @return IQueryBuilder
*/
protected function getAccountsUpdateSql() {
$qb = $this->dbConnection->getQueryBuilder();
$qb->update(self::NC_TABLE_ACCOUNTS);
return $qb;
}
/**
* @return IQueryBuilder
*/
protected function getAccountsSelectSql() {
$qb = $this->dbConnection->getQueryBuilder();
/** @noinspection PhpMethodParametersCountMismatchInspection */
$qb->select('a.uid', 'a.data')
->from(self::NC_TABLE_ACCOUNTS, 'a');
$this->default_select_alias = 'a';
return $qb;
}
/**
* Base of the Sql Delete request
*
* @return IQueryBuilder
*/
protected function getAccountsDeleteSql() {
$qb = $this->dbConnection->getQueryBuilder();
$qb->delete(self::NC_TABLE_ACCOUNTS);
return $qb;
}
/**
* @param array $entry
*
* @return array
*/
protected function parseAccountsSelectSql(array $entry): array {
$data = json_decode($entry['data'], true);
if (!is_array($data)) {
$data = [];
}
return [
'userId' => $entry['uid'],
'displayName' => $this->get('displayname.value', $data)
];
}
}