refactor: Remove FeedStatus enum and its references from FeedResource, Feed model, and migration

This commit is contained in:
Yoga Pangestu 2026-02-17 19:40:31 +07:00
parent 56038a3bf7
commit 244a548a4c
4 changed files with 0 additions and 65 deletions

View File

@ -1,42 +0,0 @@
<?php
namespace App\Enums;
use App\Traits\Enum\WithComment;
use App\Traits\Enum\WithValue;
use Filament\Support\Contracts\HasColor;
use Filament\Support\Contracts\HasLabel;
enum FeedStatus: int implements HasColor, HasLabel
{
use WithComment, WithValue;
case AVAILABLE = 1;
case OUT_OF_STOCK = 2;
case DISCONTINUED = 3;
public function getLabel(): ?string
{
return match ($this) {
self::AVAILABLE => 'Tersedia',
self::OUT_OF_STOCK => 'Habis',
self::DISCONTINUED => 'Tidak Digunakan',
};
}
public function getColor(): string|array|null
{
return match ($this) {
self::AVAILABLE => 'success',
self::OUT_OF_STOCK => 'danger',
self::DISCONTINUED => 'gray',
};
}
public static function options(): array
{
return collect(self::cases())
->mapWithKeys(fn ($case) => [$case->value => $case->getLabel()])
->toArray();
}
}

View File

@ -2,7 +2,6 @@
namespace App\Filament\Resources\Master\Feeds;
use App\Enums\FeedStatus;
use App\Filament\Actions\Cheerful\DeleteAction;
use App\Filament\Actions\Cheerful\EditAction;
use App\Filament\Actions\Cheerful\ForceDeleteAction;
@ -22,7 +21,6 @@
use Filament\Support\Icons\Heroicon;
use Filament\Support\RawJs;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Filters\TrashedFilter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
@ -65,13 +63,6 @@ public static function form(Schema $schema): Schema
->searchable()
->preload(),
Select::make('status')
->label('Status')
->options(FeedStatus::class)
->required()
->native(false)
->default(FeedStatus::AVAILABLE),
TextInput::make('price')
->label('Harga')
->placeholder('1,000,000')
@ -118,19 +109,9 @@ public static function table(Table $table): Table
->label('Harga')
->money('IDR', decimalPlaces: 0),
TextColumn::make('status')
->label('Status')
->badge()
->sortable(),
...TimestampColumns::make(),
])
->filters([
SelectFilter::make('status')
->label('Status')
->options(FeedStatus::class)
->native(false),
TrashedFilter::make()
->native(false),
])

View File

@ -2,7 +2,6 @@
namespace App\Models;
use App\Enums\FeedStatus;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
@ -22,7 +21,6 @@ protected function casts(): array
return [
'stock' => 'decimal:2',
'price' => 'integer',
'status' => FeedStatus::class,
];
}

View File

@ -1,6 +1,5 @@
<?php
use App\Enums\FeedStatus;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
@ -18,7 +17,6 @@ public function up(): void
$table->foreignId('unit_id')->constrained()->cascadeOnDelete();
$table->decimal('stock', 15, 2)->default(0);
$table->unsignedInteger('price');
$table->enum('status', FeedStatus::cases())->default(FeedStatus::AVAILABLE->value)->comment(FeedStatus::comment());
$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->nullable()->useCurrentOnUpdate();
$table->softDeletes();