Files
Mangarr/src/Domain/Shared/Domain/Contract/NotificationInterface.php
ext.jeremy.guillot@maxicoffee.domains 41ca08f20e feat: notification system via Mercure for scraping events
- NotificationInterface: add sendInfo() and sendWarning() levels
- SymfonyNotification: implement new levels (publishes to 'notifications' topic)
- ChapterScrapingStarted: carry mangaTitle + chapterNumber, now dispatched
- ScrapeChapterHandler: dispatch ChapterScrapingStarted before scraping loop
- ScrapingEventSubscriber: wire NotificationInterface for started/scraped/failed events
- useMercureNotifications: new global Vue composable subscribing to 'notifications' topic
- App.vue: mount useMercureNotifications() at app root
- SendTestNotificationCommand: `app:notify:test --type --message` for dev/prod testing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 00:57:21 +01:00

19 lines
389 B
PHP

<?php
declare(strict_types=1);
namespace App\Domain\Shared\Domain\Contract;
interface NotificationInterface
{
public function sendSuccess(string $message): void;
public function sendError(string $message): void;
public function sendInfo(string $message): void;
public function sendWarning(string $message): void;
public function sendUpdate(array $data): void;
}