First Commit
This commit is contained in:
@@ -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');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user