mirror of
https://github.com/netzbegruenung/circles.git
synced 2024-05-11 07:36:07 +02:00
sql fields stored in static
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
This commit is contained in:
parent
85b7f99868
commit
660facc5da
|
@ -11,7 +11,7 @@
|
|||
"authors": [
|
||||
{
|
||||
"name": "Maxence Lange",
|
||||
"email": "maxence@nextcloud.com"
|
||||
"email": "maxence@artificial-owl.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
|
|
|
@ -30,6 +30,12 @@ namespace OCA\Circles\Db;
|
|||
|
||||
use OCA\Circles\Exceptions\GSStatusException;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class CircleProviderRequest
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
*/
|
||||
class CircleProviderRequest extends CircleProviderRequestBuilder {
|
||||
|
||||
|
||||
|
|
|
@ -39,6 +39,12 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
|
|||
use OCP\Files\NotFoundException;
|
||||
use OCP\Share\IShare;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class CircleProviderRequestBuilder
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
*/
|
||||
class CircleProviderRequestBuilder extends DeprecatedRequestBuilder {
|
||||
|
||||
|
||||
|
|
|
@ -75,22 +75,9 @@ class CircleRequestBuilder extends CoreRequestBuilder {
|
|||
*/
|
||||
protected function getCircleSelectSql(string $alias = CoreQueryBuilder::CIRCLE): CoreQueryBuilder {
|
||||
$qb = $this->getQueryBuilder();
|
||||
$qb->selectDistinct($alias . '.unique_id')
|
||||
->addSelect(
|
||||
$alias . '.name',
|
||||
$alias . '.display_name',
|
||||
$alias . '.source',
|
||||
$alias . '.description',
|
||||
$alias . '.settings',
|
||||
$alias . '.config',
|
||||
$alias . '.contact_addressbook',
|
||||
$alias . '.contact_groupname',
|
||||
$alias . '.creation'
|
||||
)
|
||||
->from(self::TABLE_CIRCLE, $alias)
|
||||
->groupBy($alias . '.unique_id')
|
||||
->orderBy($alias . '.creation', 'asc')
|
||||
->setDefaultSelectAlias($alias);
|
||||
$qb->generateSelect(self::TABLE_CIRCLE, self::$tables[self::TABLE_CIRCLE], $alias, true)
|
||||
->generateGroupBy(self::$tables[self::TABLE_CIRCLE], $alias)
|
||||
->orderBy($alias . '.creation', 'asc');
|
||||
|
||||
return $qb;
|
||||
}
|
||||
|
|
|
@ -62,6 +62,7 @@ class CoreQueryBuilder extends NC22ExtendedQueryBuilder {
|
|||
const CIRCLE = 'circle';
|
||||
const MEMBER = 'member';
|
||||
const OWNER = 'owner';
|
||||
const FEDERATED_EVENT = 'federatedEvent';
|
||||
const REMOTE = 'remote';
|
||||
const BASED_ON = 'basedOn';
|
||||
const INITIATOR = 'initiator';
|
||||
|
@ -192,6 +193,7 @@ class CoreQueryBuilder extends NC22ExtendedQueryBuilder {
|
|||
/** @var array */
|
||||
private $options = [];
|
||||
|
||||
|
||||
/**
|
||||
* CoreRequestBuilder constructor.
|
||||
*/
|
||||
|
@ -1134,13 +1136,13 @@ class CoreQueryBuilder extends NC22ExtendedQueryBuilder {
|
|||
$aliasFileCache = $this->generateAlias($aliasShare, self::FILE_CACHE);
|
||||
$aliasStorages = $this->generateAlias($aliasFileCache, self::STORAGES);
|
||||
|
||||
$fieldsFileCache = [
|
||||
'fileid', 'path', 'permissions', 'storage', 'path_hash', 'parent', 'name', 'mimetype', 'mimepart',
|
||||
'size', 'mtime', 'storage_mtime', 'encrypted', 'unencrypted_size', 'etag', 'checksum'
|
||||
];
|
||||
|
||||
$this->generateSelectAlias($fieldsFileCache, $aliasFileCache, $aliasFileCache, [])
|
||||
->generateSelectAlias(['id'], $aliasStorages, $aliasStorages, [])
|
||||
$this->generateSelectAlias(
|
||||
CoreRequestBuilder::$outsideTables[self::FILE_CACHE],
|
||||
$aliasFileCache,
|
||||
$aliasFileCache,
|
||||
[]
|
||||
)
|
||||
->generateSelectAlias(CoreRequestBuilder::$outsideTables[self::STORAGES], $aliasStorages, $aliasStorages, [])
|
||||
->leftJoin(
|
||||
$aliasShare, CoreRequestBuilder::TABLE_FILE_CACHE, $aliasFileCache,
|
||||
$expr->eq($aliasShare . '.file_source', $aliasFileCache . '.fileid')
|
||||
|
@ -1236,12 +1238,12 @@ class CoreQueryBuilder extends NC22ExtendedQueryBuilder {
|
|||
* @return CoreQueryBuilder
|
||||
*/
|
||||
private function generateCircleSelectAlias(string $alias, array $default = []): self {
|
||||
$fields = [
|
||||
'unique_id', 'name', 'display_name', 'source', 'description', 'settings', 'config',
|
||||
'contact_addressbook', 'contact_groupname', 'creation'
|
||||
];
|
||||
|
||||
$this->generateSelectAlias($fields, $alias, $alias, $default);
|
||||
$this->generateSelectAlias(
|
||||
CoreRequestBuilder::$tables[CoreRequestBuilder::TABLE_CIRCLE],
|
||||
$alias,
|
||||
$alias,
|
||||
$default
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
@ -1253,12 +1255,12 @@ class CoreQueryBuilder extends NC22ExtendedQueryBuilder {
|
|||
* @return $this
|
||||
*/
|
||||
private function generateMemberSelectAlias(string $alias, array $default = []): self {
|
||||
$fields = [
|
||||
'circle_id', 'single_id', 'user_id', 'user_type', 'member_id', 'instance', 'cached_name',
|
||||
'cached_update', 'status', 'level', 'note', 'contact_id', 'contact_meta', 'joined'
|
||||
];
|
||||
|
||||
$this->generateSelectAlias($fields, $alias, $alias, $default);
|
||||
$this->generateSelectAlias(
|
||||
CoreRequestBuilder::$tables[CoreRequestBuilder::TABLE_MEMBER],
|
||||
$alias,
|
||||
$alias,
|
||||
$default
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
@ -1276,11 +1278,12 @@ class CoreQueryBuilder extends NC22ExtendedQueryBuilder {
|
|||
string $prefix = '',
|
||||
array $default = []
|
||||
): self {
|
||||
$fields = [
|
||||
'single_id', 'circle_id', 'level', 'inheritance_first', 'inheritance_last', 'inheritance_path',
|
||||
'inheritance_depth'
|
||||
];
|
||||
$this->generateSelectAlias($fields, $alias, ($prefix === '') ? $alias : $prefix, $default);
|
||||
$this->generateSelectAlias(
|
||||
CoreRequestBuilder::$tables[CoreRequestBuilder::TABLE_MEMBERSHIP],
|
||||
$alias,
|
||||
($prefix === '') ? $alias : $prefix,
|
||||
$default
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
@ -1293,9 +1296,12 @@ class CoreQueryBuilder extends NC22ExtendedQueryBuilder {
|
|||
* @return $this
|
||||
*/
|
||||
private function generateRemoteInstanceSelectAlias(string $alias, array $default = []): self {
|
||||
$fields = ['id', 'type', 'uid', 'instance', 'href', 'item', 'creation'];
|
||||
|
||||
$this->generateSelectAlias($fields, $alias, $alias, $default);
|
||||
$this->generateSelectAlias(
|
||||
CoreRequestBuilder::$tables[CoreRequestBuilder::TABLE_REMOTE],
|
||||
$alias,
|
||||
$alias,
|
||||
$default
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
|
|
@ -73,23 +73,123 @@ class CoreRequestBuilder {
|
|||
const NC_TABLE_GROUP_USER = 'group_user';
|
||||
|
||||
/** @var array */
|
||||
private $tables = [
|
||||
self::TABLE_CIRCLE,
|
||||
self::TABLE_MEMBER,
|
||||
self::TABLE_MEMBERSHIP,
|
||||
self::TABLE_REMOTE,
|
||||
self::TABLE_EVENT,
|
||||
self::TABLE_MOUNT,
|
||||
self::TABLE_MOUNTPOINT,
|
||||
self::TABLE_SHARE_LOCKS,
|
||||
|
||||
self::TABLE_TOKENS,
|
||||
self::TABLE_GSSHARES,
|
||||
self::TABLE_GSSHARES_MOUNTPOINT
|
||||
|
||||
static $tables = [
|
||||
self::TABLE_CIRCLE => [
|
||||
'unique_id',
|
||||
'name',
|
||||
'display_name',
|
||||
'source',
|
||||
'description',
|
||||
'settings',
|
||||
'config',
|
||||
'contact_addressbook',
|
||||
'contact_groupname',
|
||||
'creation'
|
||||
],
|
||||
self::TABLE_MEMBER => [
|
||||
'circle_id',
|
||||
'member_id',
|
||||
'single_id',
|
||||
'user_id',
|
||||
'instance',
|
||||
'user_type',
|
||||
'level',
|
||||
'status',
|
||||
'note',
|
||||
'contact_id',
|
||||
'cached_name',
|
||||
'cached_update',
|
||||
'contact_meta',
|
||||
'joined'
|
||||
],
|
||||
self::TABLE_MEMBERSHIP => [
|
||||
'single_id',
|
||||
'circle_id',
|
||||
'level',
|
||||
'inheritance_first',
|
||||
'inheritance_last',
|
||||
'inheritance_path',
|
||||
'inheritance_depth'
|
||||
],
|
||||
self::TABLE_REMOTE => [
|
||||
'id',
|
||||
'type',
|
||||
'uid',
|
||||
'instance',
|
||||
'href',
|
||||
'item',
|
||||
'creation'
|
||||
],
|
||||
self::TABLE_EVENT => [
|
||||
'token',
|
||||
'event',
|
||||
'result',
|
||||
'instance',
|
||||
'severity',
|
||||
'status',
|
||||
'creation'
|
||||
],
|
||||
self::TABLE_MOUNT => [
|
||||
'id',
|
||||
'mount_id',
|
||||
'circle_id',
|
||||
'single_id',
|
||||
'token',
|
||||
'parent',
|
||||
'mountpoint',
|
||||
'mountpoint_hash'
|
||||
],
|
||||
self::TABLE_MOUNTPOINT => [],
|
||||
self::TABLE_SHARE_LOCKS => [],
|
||||
self::TABLE_TOKENS => [],
|
||||
self::TABLE_GSSHARES => [],
|
||||
self::TABLE_GSSHARES_MOUNTPOINT => []
|
||||
];
|
||||
|
||||
|
||||
static $outsideTables = [
|
||||
self::TABLE_SHARE => [
|
||||
'id',
|
||||
'share_type',
|
||||
'share_with',
|
||||
'uid_owner',
|
||||
'uid_initiator',
|
||||
'parent',
|
||||
'item_type',
|
||||
'item_source',
|
||||
'item_target',
|
||||
'file_source',
|
||||
'file_target',
|
||||
'permissions',
|
||||
'stime',
|
||||
'accepted',
|
||||
'expiration',
|
||||
'token',
|
||||
'mail_send'
|
||||
],
|
||||
self::TABLE_FILE_CACHE => [
|
||||
'fileid',
|
||||
'path',
|
||||
'permissions',
|
||||
'storage',
|
||||
'path_hash',
|
||||
'parent',
|
||||
'name',
|
||||
'mimetype',
|
||||
'mimepart',
|
||||
'size',
|
||||
'mtime',
|
||||
'storage_mtime',
|
||||
'encrypted',
|
||||
'unencrypted_size',
|
||||
'etag',
|
||||
'checksum'
|
||||
],
|
||||
self::TABLE_STORAGES => [
|
||||
'id'
|
||||
]
|
||||
];
|
||||
|
||||
/** @var TimezoneService */
|
||||
protected $timezoneService;
|
||||
|
||||
|
@ -145,7 +245,7 @@ class CoreRequestBuilder {
|
|||
*
|
||||
*/
|
||||
public function cleanDatabase(): void {
|
||||
foreach ($this->tables as $table) {
|
||||
foreach (array_keys(self::$tables) as $table) {
|
||||
$qb = $this->getQueryBuilder();
|
||||
try {
|
||||
$qb->delete($table);
|
||||
|
@ -176,7 +276,7 @@ class CoreRequestBuilder {
|
|||
$dbConn = \OC::$server->get(Connection::class);
|
||||
$schema = new SchemaWrapper($dbConn);
|
||||
|
||||
foreach ($this->tables as $table) {
|
||||
foreach (array_keys(self::$tables) as $table) {
|
||||
if ($schema->hasTable($table)) {
|
||||
$schema->dropTable($table);
|
||||
}
|
||||
|
|
|
@ -73,12 +73,11 @@ class EventWrapperRequestBuilder extends CoreRequestBuilder {
|
|||
protected function getEventWrapperSelectSql(): CoreQueryBuilder {
|
||||
$qb = $this->getQueryBuilder();
|
||||
|
||||
$qb->select(
|
||||
'gse.token', 'gse.event', 'gse.result', 'gse.instance', 'gse.severity', 'gse.status',
|
||||
'gse.creation'
|
||||
)
|
||||
->from(self::TABLE_EVENT, 'gse')
|
||||
->setDefaultSelectAlias('gse');
|
||||
$qb->generateSelect(
|
||||
self::TABLE_EVENT,
|
||||
self::$tables[self::TABLE_EVENT],
|
||||
CoreQueryBuilder::FEDERATED_EVENT
|
||||
);
|
||||
|
||||
return $qb;
|
||||
}
|
||||
|
|
|
@ -31,6 +31,12 @@ namespace OCA\Circles\Db;
|
|||
use OCA\Circles\Exceptions\FederatedLinkDoesNotExistException;
|
||||
use OCA\Circles\Model\FederatedLink;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class FederatedLinksRequest
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
*/
|
||||
class FederatedLinksRequest extends FederatedLinksRequestBuilder {
|
||||
|
||||
|
||||
|
|
|
@ -36,6 +36,13 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
|
|||
use OCP\IDBConnection;
|
||||
use OCP\IL10N;
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class FederatedLinksRequestBuilder
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
*/
|
||||
class FederatedLinksRequestBuilder extends DeprecatedRequestBuilder {
|
||||
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ use OCA\Circles\Model\DeprecatedMember;
|
|||
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class SharesRequest
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
|
|
|
@ -30,6 +30,13 @@ namespace OCA\Circles\Db;
|
|||
|
||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class FileSharesRequestBuilder
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
*/
|
||||
class FileSharesRequestBuilder extends DeprecatedRequestBuilder {
|
||||
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ use OCP\Share\Exceptions\ShareNotFound;
|
|||
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class GSSharesRequest
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
|
|
|
@ -34,7 +34,8 @@ use OCA\Circles\Model\GlobalScale\GSShareMountpoint;
|
|||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||
|
||||
|
||||
/**
|
||||
/** * @deprecated
|
||||
|
||||
* Class GSSharesRequestBuilder
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
|
|
|
@ -242,7 +242,7 @@ class MemberRequest extends MemberRequestBuilder {
|
|||
|
||||
$aliasMembership = $qb->generateAlias(CoreQueryBuilder::MEMBER, CoreQueryBuilder::MEMBERSHIPS);
|
||||
$qb->orderBy($aliasMembership . '.inheritance_depth', 'asc');
|
||||
$qb->groupBy(CoreQueryBuilder::MEMBER . '.single_id');
|
||||
// $qb->groupBy(CoreQueryBuilder::MEMBER . '.single_id');
|
||||
|
||||
return $this->getItemsFromRequest($qb);
|
||||
}
|
||||
|
@ -279,7 +279,7 @@ class MemberRequest extends MemberRequestBuilder {
|
|||
$qb->limitToCircleId($circleId);
|
||||
|
||||
$qb->andwhere($qb->expr()->nonEmptyString(CoreQueryBuilder::MEMBER . '.instance'));
|
||||
$qb->groupBy(CoreQueryBuilder::MEMBER . '.instance');
|
||||
// $qb->groupBy(CoreQueryBuilder::MEMBER . '.instance');
|
||||
|
||||
return array_map(
|
||||
function(Member $member): string {
|
||||
|
@ -335,7 +335,7 @@ class MemberRequest extends MemberRequestBuilder {
|
|||
public function searchFederatedUsers(string $needle): array {
|
||||
$qb = $this->getMemberSelectSql();
|
||||
$qb->searchInDBField('user_id', '%' . $needle . '%');
|
||||
$qb->groupBy('single_id');
|
||||
// $qb->groupBy('single_id');
|
||||
|
||||
return $this->getItemsFromRequest($qb, true);
|
||||
}
|
||||
|
|
|
@ -83,26 +83,13 @@ class MemberRequestBuilder extends CoreRequestBuilder {
|
|||
bool $getBasedOn = true
|
||||
): CoreQueryBuilder {
|
||||
$qb = $this->getQueryBuilder();
|
||||
$qb->select(
|
||||
CoreQueryBuilder::MEMBER . '.circle_id',
|
||||
CoreQueryBuilder::MEMBER . '.member_id',
|
||||
CoreQueryBuilder::MEMBER . '.single_id',
|
||||
CoreQueryBuilder::MEMBER . '.user_id',
|
||||
CoreQueryBuilder::MEMBER . '.instance',
|
||||
CoreQueryBuilder::MEMBER . '.user_type',
|
||||
CoreQueryBuilder::MEMBER . '.level',
|
||||
CoreQueryBuilder::MEMBER . '.status',
|
||||
CoreQueryBuilder::MEMBER . '.note',
|
||||
CoreQueryBuilder::MEMBER . '.contact_id',
|
||||
CoreQueryBuilder::MEMBER . '.cached_name',
|
||||
CoreQueryBuilder::MEMBER . '.cached_update',
|
||||
CoreQueryBuilder::MEMBER . '.contact_meta',
|
||||
CoreQueryBuilder::MEMBER . '.joined'
|
||||
$qb->generateSelect(
|
||||
self::TABLE_MEMBER,
|
||||
self::$tables[self::TABLE_MEMBER],
|
||||
CoreQueryBuilder::MEMBER
|
||||
)
|
||||
->from(self::TABLE_MEMBER, CoreQueryBuilder::MEMBER)
|
||||
->orderBy(CoreQueryBuilder::MEMBER . '.joined')
|
||||
->groupBy(CoreQueryBuilder::MEMBER . '.member_id')
|
||||
->setDefaultSelectAlias(CoreQueryBuilder::MEMBER);
|
||||
->generateGroupBy(self::$tables[self::TABLE_MEMBER], CoreQueryBuilder::MEMBER)
|
||||
->orderBy(CoreQueryBuilder::MEMBER . '.joined');
|
||||
|
||||
if ($getBasedOn) {
|
||||
$qb->leftJoinBasedOn(CoreQueryBuilder::MEMBER, $initiator);
|
||||
|
|
|
@ -72,17 +72,11 @@ class MembershipRequestBuilder extends CoreRequestBuilder {
|
|||
*/
|
||||
protected function getMembershipSelectSql(): CoreQueryBuilder {
|
||||
$qb = $this->getQueryBuilder();
|
||||
$qb->select(
|
||||
CoreQueryBuilder::MEMBER . '.single_id',
|
||||
CoreQueryBuilder::MEMBER . '.circle_id',
|
||||
CoreQueryBuilder::MEMBER . '.level',
|
||||
CoreQueryBuilder::MEMBER . '.inheritance_first',
|
||||
CoreQueryBuilder::MEMBER . '.inheritance_last',
|
||||
CoreQueryBuilder::MEMBER . '.inheritance_path',
|
||||
CoreQueryBuilder::MEMBER . '.inheritance_depth'
|
||||
)
|
||||
->from(self::TABLE_MEMBERSHIP, CoreQueryBuilder::MEMBER)
|
||||
->setDefaultSelectAlias(CoreQueryBuilder::MEMBER);
|
||||
$qb->generateSelect(
|
||||
self::TABLE_MEMBERSHIP,
|
||||
self::$tables[self::TABLE_MEMBERSHIP],
|
||||
CoreQueryBuilder::MEMBERSHIPS
|
||||
);
|
||||
|
||||
return $qb;
|
||||
}
|
||||
|
|
|
@ -74,19 +74,7 @@ class MountRequestBuilder extends CoreRequestBuilder {
|
|||
*/
|
||||
protected function getMountSelectSql(string $alias = CoreQueryBuilder::MOUNT): CoreQueryBuilder {
|
||||
$qb = $this->getQueryBuilder();
|
||||
|
||||
$qb->select(
|
||||
$alias . '.id',
|
||||
$alias . '.mount_id',
|
||||
$alias . '.circle_id',
|
||||
$alias . '.single_id',
|
||||
$alias . '.token',
|
||||
$alias . '.parent',
|
||||
$alias . '.mountpoint',
|
||||
$alias . '.mountpoint_hash'
|
||||
)
|
||||
->from(self::TABLE_MOUNT, $alias)
|
||||
->setDefaultSelectAlias($alias);
|
||||
$qb->generateSelect(self::TABLE_MOUNT, self::$tables[self::TABLE_MOUNT], $alias);
|
||||
|
||||
return $qb;
|
||||
}
|
||||
|
|
|
@ -198,7 +198,7 @@ class RemoteRequest extends RemoteRequestBuilder {
|
|||
}
|
||||
|
||||
$qb->andWhere($orX)
|
||||
->groupBy(CoreQueryBuilder::REMOTE . '.instance');
|
||||
->generateGroupBy(self::$tables[self::TABLE_REMOTE], CoreQueryBuilder::REMOTE);
|
||||
|
||||
return $this->getItemsFromRequest($qb);
|
||||
}
|
||||
|
|
|
@ -77,17 +77,7 @@ class RemoteRequestBuilder extends CoreRequestBuilder {
|
|||
*/
|
||||
protected function getRemoteSelectSql(string $alias = CoreQueryBuilder::REMOTE): CoreQueryBuilder {
|
||||
$qb = $this->getQueryBuilder();
|
||||
$qb->select(
|
||||
$alias . '.id',
|
||||
$alias . '.type',
|
||||
$alias . '.uid',
|
||||
$alias . '.instance',
|
||||
$alias . '.href',
|
||||
$alias . '.item',
|
||||
$alias . '.creation'
|
||||
)
|
||||
->from(self::TABLE_REMOTE, $alias)
|
||||
->setDefaultSelectAlias($alias);
|
||||
$qb->generateSelect(self::TABLE_REMOTE, self::$tables[self::TABLE_REMOTE], $alias);
|
||||
|
||||
return $qb;
|
||||
}
|
||||
|
|
|
@ -162,7 +162,11 @@ class ShareWrapperRequest extends ShareWrapperRequestBuilder {
|
|||
}
|
||||
|
||||
if ($completeDetails) {
|
||||
$qb->addGroupBy($aliasMembership . '.single_id');
|
||||
$qb->generateGroupBy(
|
||||
self::$tables[self::TABLE_MEMBERSHIP],
|
||||
$aliasMembership,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
return $this->getItemsFromRequest($qb);
|
||||
|
@ -230,7 +234,11 @@ class ShareWrapperRequest extends ShareWrapperRequestBuilder {
|
|||
$qb->leftJoinInheritedMembers(CoreQueryBuilder::SHARE, 'share_with');
|
||||
$qb->leftJoinShareChild(CoreQueryBuilder::SHARE);
|
||||
|
||||
$qb->addGroupBy($aliasMembership . '.single_id');
|
||||
$qb->generateGroupBy(
|
||||
self::$tables[self::TABLE_MEMBERSHIP],
|
||||
$aliasMembership,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
return $this->getItemsFromRequest($qb);
|
||||
|
@ -313,7 +321,11 @@ class ShareWrapperRequest extends ShareWrapperRequestBuilder {
|
|||
$qb->leftJoinInheritedMembers(CoreQueryBuilder::SHARE, 'share_with');
|
||||
$qb->leftJoinFileCache(CoreQueryBuilder::SHARE);
|
||||
$qb->leftJoinShareChild(CoreQueryBuilder::SHARE, $aliasMembership);
|
||||
$qb->addGroupBy($aliasMembership . '.single_id');
|
||||
$qb->generateGroupBy(
|
||||
self::$tables[self::TABLE_MEMBERSHIP],
|
||||
$aliasMembership,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
$qb->chunk($offset, $limit);
|
||||
|
|
|
@ -69,35 +69,16 @@ class ShareWrapperRequestBuilder extends CoreRequestBuilder {
|
|||
|
||||
|
||||
/**
|
||||
* @param string $alias
|
||||
*
|
||||
* @return CoreQueryBuilder
|
||||
*/
|
||||
protected function getShareSelectSql(): CoreQueryBuilder {
|
||||
protected function getShareSelectSql(string $alias = CoreQueryBuilder::SHARE): CoreQueryBuilder {
|
||||
$qb = $this->getQueryBuilder();
|
||||
$qb->select(
|
||||
CoreQueryBuilder::SHARE . '.id',
|
||||
CoreQueryBuilder::SHARE . '.share_type',
|
||||
CoreQueryBuilder::SHARE . '.share_with',
|
||||
CoreQueryBuilder::SHARE . '.uid_owner',
|
||||
CoreQueryBuilder::SHARE . '.uid_initiator',
|
||||
CoreQueryBuilder::SHARE . '.parent',
|
||||
CoreQueryBuilder::SHARE . '.item_type',
|
||||
CoreQueryBuilder::SHARE . '.item_source',
|
||||
CoreQueryBuilder::SHARE . '.item_target',
|
||||
CoreQueryBuilder::SHARE . '.file_source',
|
||||
CoreQueryBuilder::SHARE . '.file_target',
|
||||
CoreQueryBuilder::SHARE . '.permissions',
|
||||
CoreQueryBuilder::SHARE . '.stime',
|
||||
CoreQueryBuilder::SHARE . '.accepted',
|
||||
CoreQueryBuilder::SHARE . '.expiration',
|
||||
CoreQueryBuilder::SHARE . '.token',
|
||||
CoreQueryBuilder::SHARE . '.mail_send'
|
||||
)
|
||||
->from(self::TABLE_SHARE, CoreQueryBuilder::SHARE)
|
||||
->setDefaultSelectAlias(CoreQueryBuilder::SHARE)
|
||||
->groupBy(CoreQueryBuilder::SHARE . '.id')
|
||||
$qb->generateSelect(self::TABLE_SHARE, self::$outsideTables[self::TABLE_SHARE], $alias)
|
||||
->generateGroupBy(self::$outsideTables[self::TABLE_SHARE], $alias)
|
||||
->limitToShareType(Share::TYPE_CIRCLE);
|
||||
|
||||
|
||||
return $qb;
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,12 @@ namespace OCA\Circles\Db;
|
|||
use OCA\Circles\Exceptions\SharingFrameDoesNotExistException;
|
||||
use OCA\Circles\Model\SharingFrame;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class SharingFrameRequest
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
*/
|
||||
class SharingFrameRequest extends SharingFrameRequestBuilder {
|
||||
|
||||
|
||||
|
|
|
@ -37,6 +37,12 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
|
|||
use OCP\IDBConnection;
|
||||
use OCP\IL10N;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class SharingFrameRequestBuilder
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
*/
|
||||
class SharingFrameRequestBuilder extends DeprecatedRequestBuilder {
|
||||
|
||||
/** @var DeprecatedCirclesRequest */
|
||||
|
|
|
@ -35,6 +35,7 @@ use OCA\Circles\Model\SharesToken;
|
|||
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class TokensRequest
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
|
|
|
@ -35,6 +35,7 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
|
|||
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* Class TokensRequestBuilder
|
||||
*
|
||||
* @package OCA\Circles\Db
|
||||
|
|
Loading…
Reference in a new issue