['app:read']], security: "is_granted('ROLE_ADMIN')", provider: ManagedApplicationProvider::class, ), new Get( uriTemplate: '/applications/{slug}', normalizationContext: ['groups' => ['app:read']], security: "is_granted('ROLE_ADMIN')", provider: ManagedApplicationProvider::class, ), new Post( uriTemplate: '/applications/{slug}/maintenance', normalizationContext: ['groups' => ['app:read']], denormalizationContext: ['groups' => ['app:write']], security: "is_granted('ROLE_ADMIN')", provider: ManagedApplicationProvider::class, processor: MaintenanceToggleProcessor::class, ), ], )] final class ManagedApplication { #[ApiProperty(identifier: true)] #[Groups(['app:read'])] public string $slug = ''; #[Groups(['app:read'])] public string $name = ''; #[Groups(['app:read', 'app:write'])] public bool $maintenance = false; }