wip: refactor watchlist update and watchlist trigger URI for upsert

This commit is contained in:
Vincent
2025-05-06 14:02:23 +02:00
parent 01c8c72fe6
commit a9ed531921
4 changed files with 93 additions and 156 deletions

View File

@@ -79,14 +79,12 @@ use Symfony\Component\Uid\Uuid;
name: 'calendar'
),
new Post(
routeName: 'watchlist_create',
normalizationContext: ['groups' => 'watchlist:list'],
denormalizationContext: ['groups' => 'watchlist:create'],
name: 'create',
processor: WatchListUpdateProcessor::class,
),
new Put(
routeName: 'watchlist_update',
normalizationContext: ['groups' => 'watchlist:item'],
denormalizationContext: ['groups' => ['watchlist:create', 'watchlist:token']],
security: 'object.user == user',

View File

@@ -2,12 +2,22 @@
namespace App\Entity;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Link;
use App\Config\TriggerAction;
use App\Repository\EventTriggerRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Attribute\Groups;
#[ORM\Entity(repositoryClass: EventTriggerRepository::class)]
#[ApiResource(
uriTemplate: '/watchlists/{watchListId}/triggers/{action}/{event}',
uriVariables: [
'watchListId' => new Link(fromProperty: 'token', toProperty: 'watchList', fromClass: WatchList::class),
'action' => 'action',
'event' => 'event',
],
)]
class WatchListTrigger
{
#[ORM\Id]