From 0c0a3026ce1232d2e38743e925fcf82eace7a910 Mon Sep 17 00:00:00 2001 From: Benjamin Nussbaum Date: Tue, 25 Mar 2025 21:21:18 +0100 Subject: [PATCH] feat: add menu item to seed example receipts --- .../Commands/ExampleReceiptsSeederCommand.php | 20 +++++++ database/seeders/ExampleReceiptsSeeder.php | 22 ++++---- .../views/livewire/plugins/index.blade.php | 56 ++++++++++++++----- 3 files changed, 74 insertions(+), 24 deletions(-) create mode 100644 app/Console/Commands/ExampleReceiptsSeederCommand.php diff --git a/app/Console/Commands/ExampleReceiptsSeederCommand.php b/app/Console/Commands/ExampleReceiptsSeederCommand.php new file mode 100644 index 0000000..f94ff8a --- /dev/null +++ b/app/Console/Commands/ExampleReceiptsSeederCommand.php @@ -0,0 +1,20 @@ +argument('user_id'); + $seeder->run($user_id); + } +} diff --git a/database/seeders/ExampleReceiptsSeeder.php b/database/seeders/ExampleReceiptsSeeder.php index 9f3971e..6b64397 100644 --- a/database/seeders/ExampleReceiptsSeeder.php +++ b/database/seeders/ExampleReceiptsSeeder.php @@ -10,13 +10,13 @@ class ExampleReceiptsSeeder extends Seeder /** * Run the database seeds. */ - public function run(): void + public function run($user_id = 1): void { - Plugin::create( + Plugin::updateOrCreate( [ 'uuid' => '9e46c6cf-358c-4bfe-8998-436b3a207fec', 'name' => 'ÖBB Departures', - 'user_id' => '1', + 'user_id' => $user_id, 'data_payload' => null, 'data_stale_minutes' => 15, 'data_strategy' => 'polling', @@ -31,11 +31,11 @@ class ExampleReceiptsSeeder extends Seeder ] ); - Plugin::create( + Plugin::updateOrCreate( [ 'uuid' => '3b046eda-34e9-4232-b935-c33b989a284b', 'name' => 'Weather', - 'user_id' => '1', + 'user_id' => $user_id, 'data_payload' => null, 'data_stale_minutes' => 60, 'data_strategy' => 'polling', @@ -50,11 +50,11 @@ class ExampleReceiptsSeeder extends Seeder ] ); - Plugin::create( + Plugin::updateOrCreate( [ 'uuid' => '21464b16-5f5a-4099-a967-f5c915e3da54', 'name' => 'Zen Quotes', - 'user_id' => '1', + 'user_id' => $user_id, 'data_payload' => null, 'data_stale_minutes' => 720, 'data_strategy' => 'polling', @@ -69,11 +69,11 @@ class ExampleReceiptsSeeder extends Seeder ] ); - Plugin::create( + Plugin::updateOrCreate( [ 'uuid' => '8d472959-400f-46ee-afb2-4a9f1cfd521f', 'name' => 'This Day in History', - 'user_id' => '1', + 'user_id' => $user_id, 'data_payload' => null, 'data_stale_minutes' => 720, 'data_strategy' => 'polling', @@ -88,11 +88,11 @@ class ExampleReceiptsSeeder extends Seeder ] ); - Plugin::create( + Plugin::updateOrCreate( [ 'uuid' => '4349fdad-a273-450b-aa00-3d32f2de788d', 'name' => 'Home Assistant', - 'user_id' => '1', + 'user_id' => $user_id, 'data_payload' => null, 'data_stale_minutes' => 30, 'data_strategy' => 'polling', diff --git a/resources/views/livewire/plugins/index.blade.php b/resources/views/livewire/plugins/index.blade.php index 138525b..673ed2a 100644 --- a/resources/views/livewire/plugins/index.blade.php +++ b/resources/views/livewire/plugins/index.blade.php @@ -8,7 +8,7 @@ new class extends Component { public int $data_stale_minutes = 60; public string $data_strategy = "polling"; public string $polling_url; - public string $polling_verb ="get"; + public string $polling_verb = "get"; public $polling_header; public array $plugins; @@ -49,16 +49,22 @@ new class extends Component { } - public function mount(): void { - $userPlugins =auth()->user()?->plugins?->map(function ($plugin) { + $userPlugins = auth()->user()?->plugins?->map(function ($plugin) { return $plugin->toArray(); })->toArray(); $this->plugins = array_merge($this->native_plugins, $userPlugins ?? []); } + public function seedExamplePlugins(): void + { +// \Artisan::call('db:seed', ['--class' => 'ExampleReceiptsSeeder']); + \Artisan::call(\App\Console\Commands\ExampleReceiptsSeederCommand::class, ['user_id' => auth()->id()]); + + } + }; ?> @@ -66,9 +72,29 @@ new class extends Component {

Plugins

- - Add Plugin - + + + + Add Plugin + + + + + + Seed Example Plugins + {{-- --}} + {{-- --}} + {{-- Import Receipt ZIP File--}} + {{-- --}} + {{-- --}} + {{-- --}} + {{-- New Native Plugin--}} + {{-- --}} + + + + +
@@ -84,26 +110,28 @@ new class extends Component {
-
- +
-
- + - +
@@ -124,9 +152,11 @@ new class extends Component { @foreach($plugins as $plugin)
- +
- +

{{$plugin['name']}}