You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ReminderStore.php 2.3KB

3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
3 anni fa
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace Lc\SovBundle\Repository\Reminder;
  3. use Lc\SovBundle\Model\User\UserInterface;
  4. use Lc\SovBundle\Repository\AbstractStore;
  5. class ReminderStore extends AbstractStore implements ReminderStoreInterface
  6. {
  7. protected ReminderRepositoryQueryInterface $query;
  8. public function __construct(ReminderRepositoryQueryInterface $query)
  9. {
  10. $this->query = $query;
  11. }
  12. public function get($params = [], $query = null)
  13. {
  14. $query = $this->createQuery($query);
  15. $query->filterByDone();
  16. if (array_key_exists('user', $params)) {
  17. $query
  18. ->filterByUser($params['user'])
  19. ->groupBy('.id');
  20. }
  21. if (array_key_exists('crudAction', $params)) {
  22. $query->filterByCrudAction($params['crudAction']);
  23. }
  24. if (array_key_exists('crudControllerFqcn', $params)) {
  25. $query->filterByCrudControllerFqcn($params['crudControllerFqcn']);
  26. }
  27. if (array_key_exists('entityId', $params)) {
  28. $query->filterByEntityId($params['entityId']);
  29. }
  30. $query->orderBy('.dateReminder');
  31. return $query->find();
  32. }
  33. // findByUser
  34. public function getByUser(UserInterface $user, $query = null): array
  35. {
  36. $query = $this->createQuery($query);
  37. $query = $this->query->create();
  38. $query
  39. ->filterByUser($user)
  40. ->filterIsNotDone()
  41. ->orderBy('.dateReminder')
  42. ->groupBy('.id');
  43. return $query->find();
  44. }
  45. // findByEasyAdminConfigAndUser
  46. public function getByEasyAdminConfigAndUser(
  47. string $crudAction,
  48. string $crudControllerFqcn,
  49. UserInterface $user,
  50. int $entityId = null,
  51. $query = null
  52. ): array {
  53. $query = $this->createQuery($query);
  54. $query
  55. ->filterByUser($user)
  56. ->filterLikeCrudAction($crudAction)
  57. ->filterLikeCrudControllerFqcn($crudControllerFqcn)
  58. ->filterIsNotDone();
  59. if ($entityId) {
  60. $query
  61. ->filterLikeEntityId($entityId);
  62. }
  63. $query
  64. ->orderBy('.dateReminder')
  65. ->groupBy('.id');
  66. return $query->find();
  67. }
  68. }