diff --git a/database/factories/TaskFactory.php b/database/factories/TaskFactory.php index 83ec7cc..0c79cf1 100644 --- a/database/factories/TaskFactory.php +++ b/database/factories/TaskFactory.php @@ -4,7 +4,7 @@ use Carbon\Carbon; use Illuminate\Database\Eloquent\Factories\Factory; -use LaravelEnso\Tasks\Enums\Flags; +use LaravelEnso\Tasks\Enums\Flag; use LaravelEnso\Tasks\Models\Task; use LaravelEnso\Users\Models\User; @@ -20,13 +20,17 @@ public function definition() return [ 'name' => $this->faker->name, 'description' => $this->faker->text, - 'flag' => $this->faker->boolean ? Flags::keys()->random() : null, + 'flag' => $this->faker->boolean + ? Flag::random()->value + : null, 'completed' => $this->faker->boolean, 'reminder' => $reminder, 'allocated_to' => $user->id, 'created_by' => $user->id, 'updated_by' => $user->id, - 'reminded_at' => $reminder && $this->faker->boolean ? $this->faker->dateTimeBetween($reminder, Carbon::createFromTimestamp($reminder->getTimestamp())->addMinute()) : null, + 'reminded_at' => $reminder && $this->faker->boolean + ? $this->faker->dateTimeBetween($reminder, Carbon::createFromTimestamp($reminder->getTimestamp())->addMinute()) + : null, ]; } } diff --git a/src/Calendars/TaskCalendar.php b/src/Calendars/TaskCalendar.php index bbd14e1..c7b2bbb 100644 --- a/src/Calendars/TaskCalendar.php +++ b/src/Calendars/TaskCalendar.php @@ -5,7 +5,7 @@ use Carbon\Carbon; use Illuminate\Support\Collection; use LaravelEnso\Calendar\Contracts\CustomCalendar; -use LaravelEnso\Calendar\Enums\Colors; +use LaravelEnso\Calendar\Enums\Color; use LaravelEnso\Tasks\Models\Task; class TaskCalendar implements CustomCalendar @@ -22,7 +22,7 @@ public function name(): string public function color(): string { - return Colors::Red; + return Color::Red->value; } public function private(): bool diff --git a/src/Calendars/TaskEvent.php b/src/Calendars/TaskEvent.php index 1659e22..21a0e6b 100644 --- a/src/Calendars/TaskEvent.php +++ b/src/Calendars/TaskEvent.php @@ -7,7 +7,7 @@ use LaravelEnso\Calendar\Contracts\ProvidesEvent; use LaravelEnso\Calendar\Contracts\Routable; use LaravelEnso\Calendar\DTOs\Route; -use LaravelEnso\Calendar\Enums\Frequencies; +use LaravelEnso\Calendar\Enums\Frequency; use LaravelEnso\Tasks\Models\Task; class TaskEvent implements ProvidesEvent, Routable @@ -53,7 +53,7 @@ public function getCalendar(): Calendar public function frequency(): int { - return Frequencies::Once; + return Frequency::Once->value; } public function recurrenceEnds(): ?Carbon diff --git a/src/EnumServiceProvider.php b/src/EnumServiceProvider.php index b644633..a79ada8 100644 --- a/src/EnumServiceProvider.php +++ b/src/EnumServiceProvider.php @@ -3,11 +3,8 @@ namespace LaravelEnso\Tasks; use LaravelEnso\Enums\EnumServiceProvider as ServiceProvider; -use LaravelEnso\Tasks\Enums\Flags; class EnumServiceProvider extends ServiceProvider { - public $register = [ - 'flags' => Flags::class, - ]; + public $register = []; } diff --git a/src/Enums/Flag.php b/src/Enums/Flag.php new file mode 100644 index 0000000..0723846 --- /dev/null +++ b/src/Enums/Flag.php @@ -0,0 +1,18 @@ + "{$this->requiredOrFilled()}|string|max:256", 'description' => 'filled|max:4096', - 'flag' => 'nullable|in:'.Flags::keys()->implode(','), + 'flag' => ['nullable', Rule::in(array_column(Flag::cases(), 'value'))], 'reminder' => 'nullable|date', 'allocated_to' => "{$this->requiredOrFilled()}|exists:users,id", 'completed' => "{$this->requiredOrFilled()}|boolean", diff --git a/src/Tables/Templates/tasks.json b/src/Tables/Templates/tasks.json index a0ee75f..4ca865c 100644 --- a/src/Tables/Templates/tasks.json +++ b/src/Tables/Templates/tasks.json @@ -25,7 +25,7 @@ "sortable", "slot" ], - "enum": "LaravelEnso\\Tasks\\Enums\\Flags" + "enum": "LaravelEnso\\Tasks\\Enums\\Flag" }, { "label": "Reminder", "name": "reminder",