First Commit

This commit is contained in:
marco
2026-09-01 10:46:29 -03:00
commit bf96b77e9c
10000 changed files with 3508600 additions and 0 deletions
@@ -0,0 +1,66 @@
<?php
use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Schema\Blueprint;
class CreateAuthPermissionsTables
{
public function up()
{
// User Permissions
if (!Capsule::schema()->hasTable('user_permissions')) {
Capsule::schema()->create('user_permissions', function (Blueprint $table) {
$table->increments('user_permissions_id');
$table->integer('user_permissions_user_id')->unsigned();
$table->integer('user_permissions_bus_id')->unsigned()->nullable(); // Permission might be global or company specific
$table->string('user_permissions_permission');
$table->integer('user_permissions_granted_by')->unsigned()->nullable();
$table->timestamp('user_permissions_granted_at')->useCurrent();
$table->timestamp('user_permissions_expires_at')->nullable();
$table->timestamps();
$table->foreign('user_permissions_user_id')->references('users_id')->on('users')->onDelete('cascade');
// Optional: foreign key for bus_id if module order permits
});
}
// Role Permissions
if (!Capsule::schema()->hasTable('role_permissions')) {
Capsule::schema()->create('role_permissions', function (Blueprint $table) {
$table->increments('role_permissions_id');
$table->string('role_permissions_role');
$table->integer('role_permissions_bus_id')->unsigned()->nullable();
$table->string('role_permissions_permission');
$table->integer('role_permissions_created_by')->unsigned()->nullable();
$table->timestamps();
});
}
// Activity Logs
if (!Capsule::schema()->hasTable('activity_logs')) {
Capsule::schema()->create('activity_logs', function (Blueprint $table) {
$table->increments('activity_logs_id');
$table->integer('activity_logs_user_id')->unsigned()->nullable();
$table->integer('activity_logs_bus_id')->unsigned()->nullable();
$table->string('activity_logs_action');
$table->string('activity_logs_resource_type')->nullable();
$table->string('activity_logs_resource_id')->nullable();
$table->json('activity_logs_old_values')->nullable();
$table->json('activity_logs_new_values')->nullable();
$table->string('activity_logs_ip_address')->nullable();
$table->string('activity_logs_user_agent')->nullable();
$table->timestamps();
$table->index('activity_logs_user_id');
$table->index('activity_logs_bus_id');
});
}
}
public function down()
{
Capsule::schema()->dropIfExists('activity_logs');
Capsule::schema()->dropIfExists('role_permissions');
Capsule::schema()->dropIfExists('user_permissions');
}
}