Browse Source

Fixes

imwald
Nuša Pukšič 1 month ago
parent
commit
5e5783cfc9
  1. 7
      src/Controller/Administration/RoleController.php
  2. 7
      src/Controller/AuthorController.php
  3. 5
      src/Repository/UserEntityRepository.php

7
src/Controller/Administration/RoleController.php

@ -5,6 +5,7 @@ declare(strict_types=1);
namespace App\Controller\Administration; namespace App\Controller\Administration;
use App\Entity\User; use App\Entity\User;
use App\Enum\RolesEnum;
use App\Form\RoleType; use App\Form\RoleType;
use App\Repository\UserEntityRepository; use App\Repository\UserEntityRepository;
use App\Service\RedisCacheService; use App\Service\RedisCacheService;
@ -143,7 +144,7 @@ class RoleController extends AbstractController
// Create user if not exists // Create user if not exists
$user = new User(); $user = new User();
$user->setNpub($npub); $user->setNpub($npub);
$user->setRoles([User::ROLE_FEATURED_WRITER]); $user->setRoles([RolesEnum::FEATURED_WRITER]);
$em->persist($user); $em->persist($user);
$this->addFlash('success', 'Created new user and added as featured writer'); $this->addFlash('success', 'Created new user and added as featured writer');
} else { } else {
@ -151,7 +152,7 @@ class RoleController extends AbstractController
$this->addFlash('warning', 'User is already a featured writer'); $this->addFlash('warning', 'User is already a featured writer');
return $this->redirectToRoute('admin_roles'); return $this->redirectToRoute('admin_roles');
} }
$user->addRole(User::ROLE_FEATURED_WRITER); $user->addRole(RolesEnum::FEATURED_WRITER->value);
$this->addFlash('success', 'User added as featured writer'); $this->addFlash('success', 'User added as featured writer');
} }
@ -170,7 +171,7 @@ class RoleController extends AbstractController
return $this->redirectToRoute('admin_roles'); return $this->redirectToRoute('admin_roles');
} }
$user->removeRole(User::ROLE_FEATURED_WRITER); $user->removeRole(RolesEnum::FEATURED_WRITER->value);
$em->flush(); $em->flush();
$this->addFlash('success', 'User removed from featured writers'); $this->addFlash('success', 'User removed from featured writers');

7
src/Controller/AuthorController.php

@ -8,15 +8,12 @@ use App\Entity\Article;
use App\Entity\Event; use App\Entity\Event;
use App\Enum\KindsEnum; use App\Enum\KindsEnum;
use App\Message\FetchAuthorArticlesMessage; use App\Message\FetchAuthorArticlesMessage;
use App\Service\NostrClient;
use App\Service\RedisCacheService; use App\Service\RedisCacheService;
use App\Service\RedisViewStore; use App\Service\RedisViewStore;
use App\Service\Search\ArticleSearchInterface;
use App\ReadModel\RedisView\RedisViewFactory; use App\ReadModel\RedisView\RedisViewFactory;
use App\Util\NostrKeyUtil; use App\Util\NostrKeyUtil;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Elastica\Query\BoolQuery;
use Elastica\Collapse;
use Elastica\Query\Term;
use Exception; use Exception;
use FOS\ElasticaBundle\Finder\FinderInterface; use FOS\ElasticaBundle\Finder\FinderInterface;
use Psr\Cache\InvalidArgumentException; use Psr\Cache\InvalidArgumentException;
@ -235,7 +232,7 @@ class AuthorController extends AbstractController
#[Route('/p/{npub}/articles', name: 'author-articles', requirements: ['npub' => '^npub1.*'])] #[Route('/p/{npub}/articles', name: 'author-articles', requirements: ['npub' => '^npub1.*'])]
public function index($npub, RedisCacheService $redisCacheService, FinderInterface $finder, public function index($npub, RedisCacheService $redisCacheService, FinderInterface $finder,
MessageBusInterface $messageBus, RedisViewStore $viewStore, MessageBusInterface $messageBus, RedisViewStore $viewStore,
RedisViewFactory $viewFactory): Response RedisViewFactory $viewFactory, ArticleSearchInterface $articleSearch): Response
{ {
$keys = new Key(); $keys = new Key();
$pubkey = $keys->convertToHex($npub); $pubkey = $keys->convertToHex($npub);

5
src/Repository/UserEntityRepository.php

@ -3,6 +3,7 @@
namespace App\Repository; namespace App\Repository;
use App\Entity\User; use App\Entity\User;
use App\Enum\RolesEnum;
use App\Util\NostrKeyUtil; use App\Util\NostrKeyUtil;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\DBAL\Exception; use Doctrine\DBAL\Exception;
@ -38,7 +39,7 @@ class UserEntityRepository extends ServiceEntityRepository
{ {
$conn = $this->entityManager->getConnection(); $conn = $this->entityManager->getConnection();
$sql = 'SELECT id FROM app_user WHERE roles::text LIKE :role'; $sql = 'SELECT id FROM app_user WHERE roles::text LIKE :role';
$result = $conn->executeQuery($sql, ['role' => '%' . User::ROLE_FEATURED_WRITER . '%']); $result = $conn->executeQuery($sql, ['role' => '%' . RolesEnum::FEATURED_WRITER->value . '%']);
$ids = $result->fetchFirstColumn(); $ids = $result->fetchFirstColumn();
if (empty($ids)) { if (empty($ids)) {
@ -64,7 +65,7 @@ class UserEntityRepository extends ServiceEntityRepository
// Get featured writer IDs and their npubs // Get featured writer IDs and their npubs
$sql = 'SELECT id, npub FROM app_user WHERE roles::text LIKE :role'; $sql = 'SELECT id, npub FROM app_user WHERE roles::text LIKE :role';
$result = $conn->executeQuery($sql, ['role' => '%' . User::ROLE_FEATURED_WRITER . '%']); $result = $conn->executeQuery($sql, ['role' => '%' . RolesEnum::FEATURED_WRITER->value . '%']);
$featuredUsers = $result->fetchAllAssociative(); $featuredUsers = $result->fetchAllAssociative();
if (empty($featuredUsers)) { if (empty($featuredUsers)) {

Loading…
Cancel
Save