feature(auth): add columns to users table
- add extra columns in users table - add traits for enum values as array - refactor enums to specific namespace
This commit is contained in:
parent
a8ffb42947
commit
ed914b531d
14
app/Enums/UserStatus.php
Normal file
14
app/Enums/UserStatus.php
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use App\Traits\EnumAsArray;
|
||||||
|
|
||||||
|
enum UserStatus: string
|
||||||
|
{
|
||||||
|
use EnumAsArray;
|
||||||
|
|
||||||
|
case Active = 'active';
|
||||||
|
case Blocked = 'blocked';
|
||||||
|
case Pending = 'pending';
|
||||||
|
}
|
||||||
@ -1,9 +1,13 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App;
|
namespace App\Enums;
|
||||||
|
|
||||||
|
use App\Traits\EnumAsArray;
|
||||||
|
|
||||||
enum UserTypes: string
|
enum UserTypes: string
|
||||||
{
|
{
|
||||||
|
use EnumAsArray;
|
||||||
|
|
||||||
case Admin = 'admin';
|
case Admin = 'admin';
|
||||||
case User = 'user';
|
case User = 'user';
|
||||||
case Broker = 'broker';
|
case Broker = 'broker';
|
||||||
11
app/Traits/EnumAsArray.php
Normal file
11
app/Traits/EnumAsArray.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Traits;
|
||||||
|
|
||||||
|
trait EnumAsArray
|
||||||
|
{
|
||||||
|
public static function values(): array
|
||||||
|
{
|
||||||
|
return array_column(self::cases(), 'value');
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Enums\UserStatus;
|
||||||
|
use App\Enums\UserTypes;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration {
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('users', function (Blueprint $table) {
|
||||||
|
$table->enum('status', UserStatus::values());
|
||||||
|
$table->enum('role', UserTypes::values());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('users', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('status', 'role');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
@ -1,5 +1,5 @@
|
|||||||
@php
|
@php
|
||||||
$options = \App\UserTypes::labels();
|
$options = \App\Enums\UserTypes::labels();
|
||||||
@endphp
|
@endphp
|
||||||
<x-layout>
|
<x-layout>
|
||||||
<section class="bg-linear-135 h-screen from-[#EFF6FF] to-[#FCF3F8] flex justify-center items-center">
|
<section class="bg-linear-135 h-screen from-[#EFF6FF] to-[#FCF3F8] flex justify-center items-center">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user