diff --git a/app/Modules/ActivityLog/ActivityLogModule.php b/app/Modules/ActivityLog/ActivityLogModule.php new file mode 100644 index 0000000..d3f6c68 --- /dev/null +++ b/app/Modules/ActivityLog/ActivityLogModule.php @@ -0,0 +1,64 @@ +enabled; + } + + /** + * Disable module + */ + public function disable(): void + { + $this->enabled = false; + } + + /** + * Enable module + */ + public function enable(): void + { + $this->enabled = true; + } + + /** + * Check if module has a filament resource + */ + public function hasFilamentResource(): bool + { + return false; + } + + /** + * Get module composer requirements + */ + public function getComposerRequirements(): array + { + return []; + } + + /** + * Get module composer suggestions + */ + public function getComposerSuggestions(): array + { + return []; + } +} diff --git a/app/Modules/ActivityLog/Repositories/ActivityLogRepository.php b/app/Modules/ActivityLog/Repositories/ActivityLogRepository.php new file mode 100644 index 0000000..d39b6f5 --- /dev/null +++ b/app/Modules/ActivityLog/Repositories/ActivityLogRepository.php @@ -0,0 +1,10 @@ +create(config('activitylog.table_name'), function (Blueprint $table) { - $table->bigIncrements('id'); - $table->string('log_name')->nullable(); - $table->text('description'); - $table->nullableMorphs('subject', 'subject'); - $table->nullableMorphs('causer', 'causer'); - $table->json('properties')->nullable(); - $table->timestamps(); - $table->index('log_name'); - }); - } - - public function down() - { - Schema::connection(config('activitylog.database_connection'))->dropIfExists(config('activitylog.table_name')); - } -} diff --git a/database/migrations/2025_12_21_064100_add_event_column_to_activity_log_table.php b/database/migrations/2025_12_21_064100_add_event_column_to_activity_log_table.php deleted file mode 100644 index 78d9a0e..0000000 --- a/database/migrations/2025_12_21_064100_add_event_column_to_activity_log_table.php +++ /dev/null @@ -1,22 +0,0 @@ -table(config('activitylog.table_name'), function (Blueprint $table) { - $table->string('event')->nullable()->after('subject_type'); - }); - } - - public function down() - { - Schema::connection(config('activitylog.database_connection'))->table(config('activitylog.table_name'), function (Blueprint $table) { - $table->dropColumn('event'); - }); - } -} diff --git a/database/migrations/2025_12_21_064101_add_batch_uuid_column_to_activity_log_table.php b/database/migrations/2025_12_21_064101_add_batch_uuid_column_to_activity_log_table.php deleted file mode 100644 index 320ef5c..0000000 --- a/database/migrations/2025_12_21_064101_add_batch_uuid_column_to_activity_log_table.php +++ /dev/null @@ -1,22 +0,0 @@ -table(config('activitylog.table_name'), function (Blueprint $table) { - $table->uuid('batch_uuid')->nullable()->after('properties'); - }); - } - - public function down() - { - Schema::connection(config('activitylog.database_connection'))->table(config('activitylog.table_name'), function (Blueprint $table) { - $table->dropColumn('batch_uuid'); - }); - } -} diff --git a/database/migrations/2025_12_21_184759_create_action_events_table.php b/database/migrations/2025_12_21_184759_create_action_events_table.php new file mode 100644 index 0000000..e1a7974 --- /dev/null +++ b/database/migrations/2025_12_21_184759_create_action_events_table.php @@ -0,0 +1,47 @@ +id(); + $table->string('batch_id')->nullable(); + $table->unsignedBigInteger('user_id')->nullable()->index(); + + $table->string('name')->index(); + + $table->string('actionable_type')->nullable()->index(); + $table->unsignedBigInteger('actionable_id')->nullable()->index(); + + $table->string('target_type')->nullable()->index(); + $table->unsignedBigInteger('target_id')->nullable()->index(); + + $table->string('model_type')->nullable()->index(); + $table->unsignedBigInteger('model_id')->nullable()->index(); + + $table->text('fields')->nullable(); + $table->string('status')->index()->default('finished'); + $table->text('exception')->nullable(); + $table->json('original')->nullable(); + $table->json('changes')->nullable(); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('action_events'); + } +}; diff --git a/database/seeders/FillJsonData.php b/database/seeders/FillJsonData.php index 25950c0..531c11f 100644 --- a/database/seeders/FillJsonData.php +++ b/database/seeders/FillJsonData.php @@ -11,7 +11,7 @@ class FillJsonData extends Seeder */ public function run(): void { - $this->seedVisaMasterPaymentOrders(); + } protected function seedUsers(): void @@ -68,4 +68,9 @@ class FillJsonData extends Seeder { (new Migrators\VisaMasterPaymentOrdersMigrator)->migrate(); } + + protected function seedActionEvents(): void + { + (new Migrators\ActionEventsMigrator)->migrate(); + } } diff --git a/database/seeders/Migrators/ActionEventsMigrator.php b/database/seeders/Migrators/ActionEventsMigrator.php new file mode 100644 index 0000000..632607e --- /dev/null +++ b/database/seeders/Migrators/ActionEventsMigrator.php @@ -0,0 +1,26 @@ +truncate(); + + $path = database_path('data/tested/action_events.json'); + + $items = Items::fromFile($path); + + foreach ($items as $id => $item) { + if (! $item) { + continue; + } + + DB::table('action_events')->insert((array) $item); + } + } +} \ No newline at end of file diff --git a/database/seeders/Migrators/LoanOrdersMigrator.php b/database/seeders/Migrators/LoanOrdersMigrator.php index 35fa46b..711ff6a 100644 --- a/database/seeders/Migrators/LoanOrdersMigrator.php +++ b/database/seeders/Migrators/LoanOrdersMigrator.php @@ -10,8 +10,6 @@ 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'); diff --git a/routes/web.php b/routes/web.php index 0b85efb..e12ff7d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,10 +1,13 @@ migrate(); + return 'done'; }); // Route::middleware(['auth'])->group(function () {