* Versioned REST API under /api/v1 * Published Pages API * Published Blog API * Published News API * Secure bearer API tokens * SHA-256 token storage * Token abilities * Token expiry and revocation * Token usage tracking * Webhook subscriptions * Site-specific webhooks * HMAC-SHA256 webhook signatures * Webhook delivery history * Failure tracking * OpenAPI 3.1 JSON documentation * API administration screen * Administration navigation * API permissions * Module registration * Feature tests
5 lines
643 B
PHP
5 lines
643 B
PHP
<?php
|
|
namespace Modules\Api\Models;
|
|
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
final class Webhook extends Model {protected $fillable=['site_id','name','url','secret','events','is_active','failure_count','last_triggered_at'];protected $hidden=['secret'];protected function casts(): array{return ['events'=>'array','is_active'=>'boolean','last_triggered_at'=>'datetime'];}public function deliveries(): HasMany{return $this->hasMany(WebhookDelivery::class);}public function subscribesTo(string $event): bool{return in_array('*',$this->events?:[],true)||in_array($event,$this->events?:[],true);}}
|