make common methods optimization

This commit is contained in:
ghost 2023-10-09 20:04:52 +03:00
parent 8d258c677b
commit 285a5104e2
10 changed files with 91 additions and 201 deletions

View File

@ -21,23 +21,6 @@ class TorrentDownloadFileRepository extends ServiceEntityRepository
parent::__construct($registry, TorrentDownloadFile::class);
}
public function findTorrentDownloadFile(
int $torrentId,
int $userId
): ?TorrentDownloadFile
{
return $this->createQueryBuilder('tdf')
->where('tdf.torrentId = :torrentId')
->andWhere('tdf.userId = :userId')
->setParameter('torrentId', $torrentId)
->setParameter('userId', $userId)
->orderBy('tdf.id', 'DESC') // same to ts.added
->setMaxResults(1)
->getQuery()
->getOneOrNullResult()
;
}
public function findTorrentDownloadFilesTotalByTorrentId(
int $torrentId
): int

View File

@ -21,23 +21,6 @@ class TorrentDownloadMagnetRepository extends ServiceEntityRepository
parent::__construct($registry, TorrentDownloadMagnet::class);
}
public function findTorrentDownloadMagnet(
int $torrentId,
int $userId
): ?TorrentDownloadMagnet
{
return $this->createQueryBuilder('tdm')
->where('tdm.torrentId = :torrentId')
->andWhere('tdm.userId = :userId')
->setParameter('torrentId', $torrentId)
->setParameter('userId', $userId)
->orderBy('tdm.id', 'DESC') // same to ts.added
->setMaxResults(1)
->getQuery()
->getOneOrNullResult()
;
}
public function findTorrentDownloadMagnetsTotalByTorrentId(
int $torrentId
): int

View File

@ -20,37 +20,4 @@ class TorrentLocalesRepository extends ServiceEntityRepository
{
parent::__construct($registry, TorrentLocales::class);
}
public function getTorrentLocales(int $id): ?TorrentLocales
{
return $this->createQueryBuilder('tl')
->where('tl.id = :id')
->setParameter('id', $id)
->getQuery()
->getOneOrNullResult()
;
}
public function findLastTorrentLocalesByTorrentId(int $torrentId): ?TorrentLocales
{
return $this->createQueryBuilder('tl')
->where('tl.torrentId = :torrentId')
->setParameter('torrentId', $torrentId)
->orderBy('tl.id', 'DESC') // same to tl.added
->setMaxResults(1)
->getQuery()
->getOneOrNullResult()
;
}
public function findTorrentLocalesByTorrentId(int $torrentId): array
{
return $this->createQueryBuilder('tl')
->where('tl.torrentId = :torrentId')
->setParameter('torrentId', $torrentId)
->orderBy('tl.id', 'DESC') // same to tl.added
->getQuery()
->getResult()
;
}
}

View File

@ -20,24 +20,4 @@ class TorrentRepository extends ServiceEntityRepository
{
parent::__construct($registry, Torrent::class);
}
public function getTorrent(int $id): ?Torrent
{
return $this->createQueryBuilder('t')
->where('t.id = :id')
->setParameter('id', $id)
->getQuery()
->getOneOrNullResult()
;
}
public function getTorrentScrapeQueue(): ?Torrent
{
return $this->createQueryBuilder('t')
->orderBy('t.scraped', 'ASC') // same to ts.added
->setMaxResults(1)
->getQuery()
->getOneOrNullResult()
;
}
}

View File

@ -20,37 +20,4 @@ class TorrentSensitiveRepository extends ServiceEntityRepository
{
parent::__construct($registry, TorrentSensitive::class);
}
public function getTorrentSensitive(int $id): ?TorrentSensitive
{
return $this->createQueryBuilder('ts')
->where('ts.id = :id')
->setParameter('id', $id)
->getQuery()
->getOneOrNullResult()
;
}
public function findLastTorrentSensitiveByTorrentId(int $torrentId): ?TorrentSensitive
{
return $this->createQueryBuilder('ts')
->where('ts.torrentId = :torrentId')
->setParameter('torrentId', $torrentId)
->orderBy('ts.id', 'DESC') // same to ts.added
->setMaxResults(1)
->getQuery()
->getOneOrNullResult()
;
}
public function findTorrentSensitiveByTorrentId(int $torrentId): array
{
return $this->createQueryBuilder('ts')
->where('ts.torrentId = :torrentId')
->setParameter('torrentId', $torrentId)
->orderBy('ts.id', 'DESC') // same to ts.added
->getQuery()
->getResult()
;
}
}

View File

@ -21,30 +21,13 @@ class TorrentStarRepository extends ServiceEntityRepository
parent::__construct($registry, TorrentStar::class);
}
public function findTorrentStar(
int $torrentId,
int $userId
): ?TorrentStar
{
return $this->createQueryBuilder('tb')
->where('tb.torrentId = :torrentId')
->andWhere('tb.userId = :userId')
->setParameter('torrentId', $torrentId)
->setParameter('userId', $userId)
->orderBy('tb.id', 'DESC') // same to ts.added
->setMaxResults(1)
->getQuery()
->getOneOrNullResult()
;
}
public function findTorrentStarsTotalByTorrentId(
int $torrentId
): int
{
return $this->createQueryBuilder('tb')
->select('count(tb.id)')
->where('tb.torrentId = :torrentId')
return $this->createQueryBuilder('ts')
->select('count(ts.id)')
->where('ts.torrentId = :torrentId')
->setParameter('torrentId', $torrentId)
->getQuery()
->getSingleScalarResult()

View File

@ -20,24 +20,4 @@ class UserRepository extends ServiceEntityRepository
{
parent::__construct($registry, User::class);
}
public function getUser(int $id): ?User
{
return $this->createQueryBuilder('u')
->where('u.id = :id')
->setParameter('id', $id)
->getQuery()
->getOneOrNullResult()
;
}
public function findOneByAddressField(string $address): ?User
{
return $this->createQueryBuilder('u')
->where('u.address = :address')
->setParameter('address', $address)
->getQuery()
->getOneOrNullResult()
;
}
}

View File

@ -21,22 +21,6 @@ class UserStarRepository extends ServiceEntityRepository
parent::__construct($registry, UserStar::class);
}
public function findUserStar(
int $userId,
int $userIdTarget
): ?UserStar
{
return $this->createQueryBuilder('us')
->where('us.userId = :userId')
->andWhere('us.userIdTarget = :userIdTarget')
->setParameter('userId', $userId)
->setParameter('userIdTarget', $userIdTarget)
->setMaxResults(1)
->getQuery()
->getOneOrNullResult()
;
}
public function findUserStarsTotalByUserIdTarget(
int $userIdTarget
): int

View File

@ -250,7 +250,7 @@ class TorrentService
{
return $this->entityManagerInterface
->getRepository(Torrent::class)
->getTorrent($id);
->find($id);
}
public function addTorrent(
@ -277,7 +277,12 @@ class TorrentService
{
return $this->entityManagerInterface
->getRepository(Torrent::class)
->getTorrentScrapeQueue();
->findOneBy(
[],
[
'scraped' => 'ASC'
]
);
}
public function setTorrentsApprovedByUserId(
@ -302,32 +307,44 @@ class TorrentService
}
// Torrent locale
public function getTorrentLocales(int $id): ?TorrentLocales
public function getTorrentLocales(
int $torrentLocaleId
): ?TorrentLocales
{
return $this->entityManagerInterface
->getRepository(TorrentLocales::class)
->getTorrentLocales($id);
->find($torrentLocaleId);
}
public function findLastTorrentLocalesByTorrentId(int $torrentId): ?TorrentLocales
public function findLastTorrentLocalesByTorrentId(
int $torrentId
): ?TorrentLocales
{
return $this->entityManagerInterface
->getRepository(TorrentLocales::class)
->findLastTorrentLocalesByTorrentId($torrentId);
->findOneBy(
[
'torrentId' => $torrentId
]
);
}
public function findTorrentLocalesByTorrentId(int $torrentId): array
{
return $this->entityManagerInterface
->getRepository(TorrentLocales::class)
->findTorrentLocalesByTorrentId($torrentId);
->findBy(
[
'torrentId' => $torrentId
]
);
}
public function toggleTorrentLocalesApproved(
int $id
int $torrentLocalesId
): ?TorrentLocales
{
$torrentLocales = $this->getTorrentLocales($id);
$torrentLocales = $this->getTorrentLocales($torrentLocalesId);
$torrentLocales->setApproved(
!$torrentLocales->isApproved() // toggle current value
@ -340,10 +357,10 @@ class TorrentService
}
public function deleteTorrentLocales(
int $id
int $torrentLocalesId
): ?TorrentLocales
{
$torrentLocales = $this->getTorrentLocales($id);
$torrentLocales = $this->getTorrentLocales($torrentLocalesId);
$this->entityManagerInterface->remove($torrentLocales);
$this->entityManagerInterface->flush();
@ -395,32 +412,52 @@ class TorrentService
}
// Torrent sensitive
public function getTorrentSensitive(int $id): ?TorrentSensitive
public function getTorrentSensitive(
int $torrentSensitiveId
): ?TorrentSensitive
{
return $this->entityManagerInterface
->getRepository(TorrentSensitive::class)
->getTorrentSensitive($id);
->find(
$torrentSensitiveId
);
}
public function findLastTorrentSensitiveByTorrentId(int $torrentId): ?TorrentSensitive
{
return $this->entityManagerInterface
->getRepository(TorrentSensitive::class)
->findLastTorrentSensitiveByTorrentId($torrentId);
->findOneBy(
[
'torrentId' => $torrentId
],
[
'id' => 'DESC'
]
);
}
public function findTorrentSensitiveByTorrentId(int $torrentId): array
{
return $this->entityManagerInterface
->getRepository(TorrentSensitive::class)
->findTorrentSensitiveByTorrentId($torrentId);
->findBy(
[
'torrentId' => $torrentId
],
[
'id' => 'DESC'
]
);
}
public function toggleTorrentSensitiveApproved(
int $id
int $torrentSensitiveId
): ?TorrentSensitive
{
$torrentSensitive = $this->getTorrentSensitive($id);
$torrentSensitive = $this->find(
$torrentSensitiveId
);
$torrentSensitive->setApproved(
!$torrentSensitive->isApproved() // toggle current value
@ -433,10 +470,12 @@ class TorrentService
}
public function deleteTorrentSensitive(
int $id
int $torrentSensitiveId
): ?TorrentSensitive
{
$torrentSensitive = $this->getTorrentSensitive($id);
$torrentSensitive = $this->getTorrentSensitive(
$torrentSensitiveId
);
$this->entityManagerInterface->remove($torrentSensitive);
$this->entityManagerInterface->flush();
@ -495,7 +534,12 @@ class TorrentService
{
return $this->entityManagerInterface
->getRepository(TorrentStar::class)
->findTorrentStar($torrentId, $userId);
->findOneBy(
[
'torrentId' => $torrentId,
'userId' => $userId,
]
);
}
public function findTorrentStarsTotalByTorrentId(int $torrentId): int
@ -538,7 +582,12 @@ class TorrentService
{
return $this->entityManagerInterface
->getRepository(TorrentDownloadFile::class)
->findTorrentDownloadFile($torrentId, $userId);
->findOneBy(
[
'torrentId' => $torrentId,
'userId' => $userId
]
);
}
public function findTorrentDownloadFilesTotalByTorrentId(int $torrentId): int
@ -575,7 +624,12 @@ class TorrentService
{
return $this->entityManagerInterface
->getRepository(TorrentDownloadMagnet::class)
->findTorrentDownloadMagnet($torrentId, $userId);
->findOneBy(
[
'torrentId' => $torrentId,
'userId' => $userId
]
);
}
public function findTorrentDownloadMagnetsTotalByTorrentId(int $torrentId): int

View File

@ -28,7 +28,11 @@ class UserService
// Return existing user
if ($result = $this->entityManagerInterface
->getRepository(User::class)
->findOneByAddressField($address))
->findOneBy(
[
'address' => $address
]
))
{
return $result;
}
@ -91,7 +95,7 @@ class UserService
{
return $this->entityManagerInterface
->getRepository(User::class)
->getUser($userId);
->find($userId);
}
public function identicon(
@ -128,7 +132,12 @@ class UserService
{
return $this->entityManagerInterface
->getRepository(UserStar::class)
->findUserStar($userId, $userIdTarget);
->findOneBy(
[
'userId' => $userId,
'userIdTarget' => $userIdTarget
]
);
}
public function findUserStarsTotalByUserIdTarget(int $torrentId): int