ingoldsby/laravel-dashboard-display-webhook-tile

用于显示 Laravel Dashboard 中 webhook 的瓷砖

1.0.0 2020-06-26 20:37 UTC

This package is auto-updated.

Last update: 2024-09-27 05:59:49 UTC


README

Latest Version on Packagist Total Downloads

此瓷砖可用于 Laravel Dashboard 中显示数据库中的 webhook。

Screenshot

安装

您可以通过 composer 安装此包

composer require ingoldsby/laravel-dashboard-display-webhook-tile

此包使用 spatie/laravel-webhook-client 作为 webhook 提供程序。

使用方法

dashboard 配置文件中,您必须在 tiles 键中添加此配置。您可以为每个要显示的 webhook 瓦片在 configurations 键中添加配置。在此示例中,webhook_calls 表已修改以捕获传入请求的标头。由于请求的格式,需要一个偏移量(在这种情况下为 0)才能获取正确的项目。

// in config/dashboard.php

return [
    // ...
    'tiles' => [
        'webhook' => [
            'configurations' => [
                'default' => [
                    'column' => 'headers',
                    'value' => 'x-shopify-topic',
                    'offset' => 0,
                ]
            ],
            'refresh_interval_in_seconds' => 60,
        ]
    ],
];

此示例显示了多个配置,第二个名为 payload,与 webhook_calls 表中的默认列相匹配。注意:此示例中的默认列不需要偏移量,因此不包括在内。

// in config/dashboard.php

return [
    // ...
    'tiles' => [
        'webhook' => [
            'configurations' => [
                'default' => [
                    'column' => 'headers',
                    'value' => 'x-shopify-topic',
                    'offset' => 0,
                ],
                'payload' => [
                    'column' => 'payload',
                    'value' => 'id',
                ],
            ],
            'refresh_interval_in_seconds' => 60,
        ]
    ],
];

app\Console\Kernel.php 中,您应安排 \Ingoldsby\DisplayWebhookTile\Commands\FetchDisplayWebhookCommand 运行。您可以决定命令运行的频率。

// in app/console/Kernel.php

protected function schedule(Schedule $schedule)
{
    // ...
    $schedule->command(\Ingoldsby\DisplayWebhookTile\Commands\FetchDisplayWebhookCommand::class)->everyMinute();
}

要显示另一个配置的 webhook 详细信息,只需将配置名称作为参数添加即可。

// in app/console/Kernel.php

protected function schedule(Schedule $schedule)
{
    // ...
    $schedule->command(\Ingoldsby\DisplayWebhookTile\Commands\FetchDisplayWebhookCommand::class, ['alternate-configuration-name'])->everyMinute();
}

在您的仪表板视图中,您可以使用瓷砖

  • livewire:display-webhook-tile
<x-dashboard>
    <livewire:display-webhook-tile position="a1" />
</x-dashboard>

要显示另一个配置的 webhook 详细信息,请将配置名称传递给 configuration-name 属性。

<x-dashboard>
    <livewire:display-webhook-tile position="a1" configuration-name="alternate-configuration-name" />
</x-dashboard>

除非您使用 title 属性传递字符串,否则瓷砖的默认标题将是 最新 Webhook

<x-dashboard>
    <livewire:display-webhook-tile position="a1" configuration-name="alternate-configuration-name" title="Title of tile" />
</x-dashboard>

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何与安全相关的问题,请通过电子邮件而不是使用问题跟踪器。

支持 Spatie

我从 Spatie 的各种包中学到了很多,包括 Mailcoach,如果您想了解更多,建议您查看它们。

通过观看 Spatie 的付费视频课程了解如何创建像他们一样的包

Laravel Package training

Spatie 在创建 一流的开放源代码包 上投入了大量资源。您可以通过 购买他们的一款付费产品 来支持他们。

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件