From 1ccd24e71547b04b4ec112448108397810cd62fe Mon Sep 17 00:00:00 2001 From: mina-esn Date: Sun, 16 Aug 2026 11:24:29 +0330 Subject: [PATCH] feat: add user enums and Persian validation messages --- app/Enums/UserGender.php | 10 ++++++++++ app/Enums/UserMarital.php | 10 ++++++++++ app/Enums/UserStatus.php | 9 +++++++++ app/Models/User.php | 39 ++++++++++++++++++++++++++++----------- lang/fa/validation.php | 13 ++++++++++--- 5 files changed, 67 insertions(+), 14 deletions(-) create mode 100644 app/Enums/UserGender.php create mode 100644 app/Enums/UserMarital.php create mode 100644 app/Enums/UserStatus.php diff --git a/app/Enums/UserGender.php b/app/Enums/UserGender.php new file mode 100644 index 0000000..5a4a97e --- /dev/null +++ b/app/Enums/UserGender.php @@ -0,0 +1,10 @@ + 'int', + 'city_id' => 'int', + 'province_id' => 'int', 'gender' => 'int', 'marital_status' => 'int', - 'user_city' => 'int' + 'status' => 'bool' ]; protected $hidden = [ @@ -59,6 +65,8 @@ class User extends Model 'first_name', 'last_name', 'file_id', + 'city_id', + 'province_id', 'national_code', 'gender', 'marital_status', @@ -67,8 +75,7 @@ class User extends Model 'email', 'username', 'password', - 'user_province', - 'user_city' + 'status' ]; public function file() @@ -76,6 +83,16 @@ class User extends Model return $this->belongsTo(File::class); } + public function province() + { + return $this->belongsTo(Province::class); + } + + public function city() + { + return $this->belongsTo(City::class); + } + public function bookings() { return $this->hasMany(Booking::class); diff --git a/lang/fa/validation.php b/lang/fa/validation.php index 48b113c..3c533be 100644 --- a/lang/fa/validation.php +++ b/lang/fa/validation.php @@ -68,7 +68,7 @@ return [ 'string' => 'گزینه :attribute باید بزرگتر یا مساوی :value کاراکتر باشد', ], 'image' => 'گزینه :attribute باید از نوع تصویر باشد', - 'hex_color'=>'فیلد :attribute باید یک رنگ هگزادسیمال معتبر باشد.', + 'hex_color' => 'فیلد :attribute باید یک رنگ هگزادسیمال معتبر باشد.', 'in' => 'گزینه انتخابی :attribute صحیح نمی باشد', 'in_array' => 'گزینه :attribute در :other وجود ندارد', 'integer' => 'گزینه :attribute باید از نوع عددی باشد', @@ -101,7 +101,7 @@ return [ ], 'max_digits' => 'گزینه :attribute نباید بیشتر از :max رقم باشد', 'mimes' => 'گزینه :attribute باید دارای یکی از این فرمت ها باشد: :values', - 'mimetypes' => 'گزینه :attribute باید دارای یکی از این فرمت ها باشد: :values', + 'mimetypes' => 'گزینه :attribute باید دارای یکی از این فرمت ها باشد: :values', 'min' => [ 'array' => 'گزینه :attribute باید حداقل :min آیتم داشته باشد', 'file' => 'گزینه :attribute باید حداقل :min کیلوبایت باشد', @@ -245,7 +245,14 @@ return [ 'value' => 'مقدار تنظیمات', 'message' => 'متن پیام', 'question' => 'سوال', - 'answer' => 'جواب' + 'answer' => 'جواب', + 'spouse_name' => 'مشخصات همسر', + 'marital_status' => 'وضعیت تاهل', + 'avatar' => 'تصویر', + 'province_id' => 'استان', + 'city_id' => 'شهر', + 'national_code' => 'کدملی' + ], ];