deegitalbe/laravel-trustup-model-broadcast

v1.0.0 2022-12-21 13:57 UTC

This package is auto-updated.

Last update: 2024-09-21 17:43:06 UTC


README

此包用于将配置的模型 创建、更新或删除 事件发送到我们的websocket微服务。

安装

配置websocket包

请确保您首先配置了 websocket包

使用composer安装包

composer require deegitalbe/laravel-trustup-model-broadcast

.env配置

将这些信息添加到您的.env文件中。

TRUSTUP_MODEL_BROADCAST_APP_KEY=

用法

配置您的模型

use Illuminate\Database\Eloquent\Model;
use Deegitalbe\LaravelTrustupModelBroadcast\Traits\Models\IsTrustupBroadcastModel;
use Deegitalbe\LaravelTrustupModelBroadcast\Contracts\Models\TrustupBroadcastModelContract;

class YourModel extends Model implements TrustupBroadcastModelContract
{
    use IsTrustupBroadcastModel;

    /**
     * Getting attributes sent along when broadcasing events.
     
     * @param string $eventName Laravel model event that should be broadcasted (created, updated, deleted, ...)
     * @return array<string, mixed>
     */
    public function getTrustupModelBroadcastEventAttributes(string $eventName): array
    {
        return [
            // Your attributes ...
        ];
    }
}

请注意,如果您的模型无法提供 专业授权密钥,则事件 将不会广播

定制

专业授权密钥

默认情况下,此包使用模型属性professional_authorization_key。要自定义此行为,只需覆盖特质方法。

    /**
     * Getting model key used when broadcasting model events.
     * 
     * By default if null, event would not broadcast.
     * 
     * @return ?string
     */
    public function getTrustupModelBroadcastProfessionalAuthorizationKey(): ?string
    {
        return "your-value";
    }