Setup Client model

This commit is contained in:
Matt Young 2026-01-27 19:58:39 -06:00
parent 3e6d9ea8b0
commit 2ee0c786c7
3 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,9 @@
<?php
namespace App\Enums;
enum ClientStatus: string
{
case ACTIVE = 'active';
case INACTIVE = 'inactive';
}

21
app/Models/Client.php Normal file
View File

@ -0,0 +1,21 @@
<?php
namespace App\Models;
use App\Enums\ClientStatus;
use Illuminate\Database\Eloquent\Model;
class Client extends Model
{
protected $fillable = [
'name',
'abbreviation',
'audition_date',
'status',
];
protected $casts = [
'audition_date' => 'date',
'status' => ClientStatus::class,
];
}

View File

@ -0,0 +1,31 @@
<?php
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::create('clients', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('abbreviation')->nullable();
$table->date('audition_date');
$table->string('status')->default('active');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('clients');
}
};