feat: meal post type

This commit is contained in:
2026-05-17 19:27:32 +02:00
parent bfe11fea98
commit c9b51f3225
5 changed files with 50 additions and 1 deletions
+15
View File
@@ -0,0 +1,15 @@
<?php
namespace App\Enums;
enum MealPostType: string
{
case BREAKFAST = 'breakfast';
case LUNCH = 'lunch';
case DINNER = 'dinner';
case BRUNCH = 'brunch';
case SNACK = 'snack';
case DRINK = 'drink';
case SUPPLEMENT = "supplement";
case OTHER = "other";
}
+3 -1
View File
@@ -2,6 +2,7 @@
namespace App\Http\Requests;
use App\Enums\MealPostType;
use App\Enums\MealPostVisibility;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
@@ -22,7 +23,8 @@ class MealPostsRequest extends FormRequest
'fats' => ['nullable', 'numeric', 'min:0'],
'title' => [$isCreating ? 'required' : 'sometimes', 'string', 'max:255'],
'eaten_at' => [$isCreating ? 'required' : 'sometimes', 'date'],
'visibility' => ['sometimes', Rule::enum(MealPostVisibility::class)],
'type' => [$isCreating ? 'required' : 'sometimes', Rule::enum(MealPostType::class)],
'visibility' => [$isCreating ? 'required' :'sometimes', Rule::enum(MealPostVisibility::class)],
];
}
+1
View File
@@ -25,6 +25,7 @@ class MealPostsResource extends JsonResource
'fats' => $this->fats,
'title' => $this->title,
'visibility' => $this->visibility,
'type' => $this->type,
'eatenAt' => $this->eaten_at,
'createdAt' => $this->created_at,
'updatedAt' => $this->updated_at,
+3
View File
@@ -2,6 +2,7 @@
namespace App\Models;
use App\Enums\MealPostType;
use App\Enums\MealPostVisibility;
use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
@@ -24,6 +25,7 @@ class MealPosts extends Model
'title',
'eaten_at',
'visibility',
'type',
];
protected $attributes = [
@@ -40,6 +42,7 @@ class MealPosts extends Model
return [
'eaten_at' => 'datetime',
'visibility' => MealPostVisibility::class,
'type' => MealPostType::class
];
}
}