Update dependencies and enhance components

- Added "halaxa/json-machine" dependency to composer.json.
- Updated content hash in composer.lock to reflect changes.
- Improved SpatieMediaLibraryFileEntry component documentation.
- Expanded FillJsonData seeder to include new migrators for card types, orders, and pin orders.
- Updated Tailwind CSS version in app.css.
- Refactored various JavaScript components for better performance and readability.
- Added a test route in web.php for debugging purpose
This commit is contained in:
Mekan1206
2025-12-21 02:41:27 +05:00
parent 6df3a27383
commit 4fc242bc7d
32 changed files with 1317 additions and 726 deletions

View File

@@ -11,14 +11,55 @@ class FillJsonData extends Seeder
*/
public function run(): void
{
$this->seedUsers();
}
protected function seedUsers(): void
{
User::factory()->create([
'id' => 1,
'username' => 'nurmuhammet',
]);
(new Migrators\UsersMigrator)->migrate();
}
protected function seedLoanTypes(): void
{
(new Migrators\LoanTypesMigrator)->migrate();
}
protected function seedProvinces(): void
{
(new Migrators\ProvincesMigrator)->migrate();
}
protected function seedBranches(): void
{
(new Migrators\BranchesMigrator)->migrate();
}
protected function loanOrderRequiredDocs(): void
{
(new Migrators\LoanOrderRequiredDocsMigrator)->migrate();
}
protected function seedLoanOrders(): void
{
(new Migrators\LoanOrdersMigrator)->migrate();
}
protected function seedCardStates(): void
{
(new Migrators\CardStatesMigrator)->migrate();
}
protected function seedCardTypes(): void
{
(new Migrators\CardTypesMigrator)->migrate();
}
protected function cardOrders(): void
{
(new Migrators\CardOrdersMigrator)->migrate();
}
protected function cardPinOrders(): void
{
(new Migrators\CardPinOrdersMigrator)->migrate();
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace Database\Seeders\Migrators;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class BranchesMigrator
{
public function migrate(): void
{
DB::table('branches')->truncate();
$path = database_path('data/nurmuhammetsdb/branches.json');
$rawData = File::json($path);
foreach ($rawData as $data) {
DB::table('branches')
->insert($data);
}
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace Database\Seeders\Migrators;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class CardOrdersMigrator
{
public function migrate(): void
{
DB::table('card_orders')->truncate();
$path = database_path('data/nurmuhammetsdb/card_orders.json');
$rawData = File::json($path);
foreach ($rawData as $data) {
DB::table('card_orders')
->insert($data);
}
}
}

View File

@@ -0,0 +1,29 @@
<?php
namespace Database\Seeders\Migrators;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class CardPinOrdersMigrator
{
public function migrate(): void
{
DB::table('card_pin_orders')->truncate();
$path = database_path('data/nurmuhammetsdb/card_pins.json');
$rawData = File::json($path);
foreach ($rawData as $data) {
if (! empty($data['deleted_at'])) {
continue;
}
unset($data['deleted_at']);
DB::table('card_pin_orders')
->insert($data);
}
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace Database\Seeders\Migrators;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class CardStatesMigrator
{
public function migrate(): void
{
DB::table('card_states')->truncate();
$path = database_path('data/nurmuhammetsdb/card_states.json');
$rawData = File::json($path);
foreach ($rawData as $data) {
DB::table('card_states')
->insert($data);
}
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace Database\Seeders\Migrators;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class CardTypesMigrator
{
public function migrate(): void
{
DB::table('card_types')->truncate();
$path = database_path('data/nurmuhammetsdb/card_types.json');
$rawData = File::json($path);
foreach ($rawData as $data) {
DB::table('card_types')
->insert($data);
}
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace Database\Seeders\Migrators;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class LoanOrderRequiredDocsMigrator
{
public function migrate(): void
{
DB::table('loan_order_required_docs')->truncate();
$path = database_path('data/nurmuhammetsdb/loan_order_required_docs.json');
$rawData = File::json($path);
foreach ($rawData as $data) {
DB::table('loan_order_required_docs')
->insert($data);
}
}
}

View File

@@ -0,0 +1,32 @@
<?php
namespace Database\Seeders\Migrators;
use JsonMachine\JsonMachine;
use JsonMachine\Items;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\LazyCollection;
use Cerbero\LazyJson\LazyJson;
class LoanOrdersMigrator
{
public function migrate(): void
{
// Running on seeder file, may not work.
DB::table('loan_orders')->truncate();
$path = database_path('data/nurmuhammetsdb/loan_orders.json');
$items = Items::fromFile($path);
foreach ($items as $id => $item) {
if (! $item) {
continue;
}
DB::table('loan_orders')->insert((array) $item);
}
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace Database\Seeders\Migrators;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class LoanTypesMigrator
{
public function migrate(): void
{
DB::table('loan_types')->truncate();
$path = database_path('data/nurmuhammetsdb/loan_types.json');
$rawData = File::json($path);
foreach ($rawData as $data) {
DB::table('loan_types')
->insert($data);
}
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace Database\Seeders\Migrators;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class ProvincesMigrator
{
public function migrate(): void
{
DB::table('provinces')->truncate();
$path = database_path('data/nurmuhammetsdb/provinces.json');
$rawData = File::json($path);
foreach ($rawData as $data) {
DB::table('provinces')
->insert($data);
}
}
}

View File

@@ -0,0 +1,53 @@
<?php
namespace Database\Seeders\Migrators;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class UsersMigrator
{
public function migrate(): void
{
DB::table('users')->truncate();
$path = database_path('data/nurmuhammetsdb/users.json');
$data = File::json($path);
foreach ($data as $user) {
DB::table('users')
->insert([
'id' => $user['id'],
'name' => $user['name'],
'email' => $user['email'],
'email_verified_at' => $user['email_verified_at'],
'password' => $user['password'],
'remember_token' => $user['remember_token'],
'created_at' => $user['created_at'],
'updated_at' => $user['updated_at'],
'username' => $user['username'],
'first_name' => $this->extractFirstName($user['name']),
'last_name' => $this->extractLastName($user['name']),
'phone' => $user['phone'],
'phone_verified_at' => $user['phone_verified_at'],
'locale' => $user['locale'],
'password_must_be_changed' => $user['password_must_be_changed'],
'options' => $user['options'],
'must_fill_profile' => false,
'custom_fields' => null,
'active' => $user['active'],
]);
}
}
protected function extractFirstName(string $name): string
{
return explode(' ', $name)[0] ?? '';
}
protected function extractLastName(string $name): string
{
return explode(' ', $name)[1] ?? '';
}
}