FoPost LogoFoPost Docs
Laravel

Laravel Events

Listening to FoPost events in Laravel.

Laravel Events

When publishing completes, OwlStack dispatches Laravel events that you can listen to.

Available events

EventFired When
PostPublishedA post was published successfully
PostFailedA post failed to publish

Listening to events

In EventServiceProvider

use OwlStack\Events\PostPublished;
use OwlStack\Events\PostFailed;

protected $listen = [
    PostPublished::class => [
        LogPublishedPost::class,
        NotifySlack::class,
    ],
    PostFailed::class => [
        LogFailedPost::class,
        AlertOps::class,
    ],
];

With closures

use OwlStack\Events\PostPublished;
use OwlStack\Events\PostFailed;

Event::listen(PostPublished::class, function (PostPublished $event) {
    Log::info("Published to {$event->result->platform()->value}", [
        'external_id' => $event->result->externalId(),
        'external_url' => $event->result->externalUrl(),
    ]);
});

Event::listen(PostFailed::class, function (PostFailed $event) {
    Log::error("Failed on {$event->result->platform()->value}", [
        'error' => $event->result->error(),
    ]);
});

Event properties

PostPublished

$event->post;                    // Post object
$event->result->platform();     // Platform enum
$event->result->externalId();   // Platform's post ID
$event->result->externalUrl();  // URL to view the post

PostFailed

$event->post;                   // Post object
$event->result->platform();    // Platform enum
$event->result->error();       // Error message
$event->result->errorCode();   // Error code (if available)

On this page