أُنشئ من Tokal/Test
Fix API reliability and CORS config for hosted deployment
هذا الالتزام موجود في:
@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
class Notification extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
public $timestamps = false;
|
||||
|
||||
protected $fillable = [
|
||||
'user_id',
|
||||
|
||||
@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
class PricingRule extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
public $timestamps = false;
|
||||
|
||||
protected $fillable = [
|
||||
'scope',
|
||||
|
||||
@@ -8,16 +8,28 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
class ReservationFee extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
public $timestamps = false;
|
||||
|
||||
protected $fillable = [
|
||||
'reservation_id',
|
||||
'pricing_rule_id',
|
||||
'price_per_person',
|
||||
'party_size',
|
||||
'total_fee',
|
||||
'total_amount',
|
||||
'currency',
|
||||
];
|
||||
|
||||
public function setTotalAmountAttribute($value): void
|
||||
{
|
||||
$this->attributes['total_fee'] = $value;
|
||||
}
|
||||
|
||||
public function getTotalAmountAttribute()
|
||||
{
|
||||
return $this->attributes['total_fee'] ?? null;
|
||||
}
|
||||
|
||||
public function reservation()
|
||||
{
|
||||
return $this->belongsTo(Reservation::class);
|
||||
|
||||
@@ -8,18 +8,32 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
class ReservationReminder extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
public $timestamps = false;
|
||||
|
||||
protected $fillable = [
|
||||
'reservation_id',
|
||||
'user_id',
|
||||
'remind_at',
|
||||
'send_at',
|
||||
'sent_at',
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
'remind_at' => 'datetime',
|
||||
'send_at' => 'datetime',
|
||||
'sent_at' => 'datetime',
|
||||
];
|
||||
|
||||
public function setSendAtAttribute($value): void
|
||||
{
|
||||
$this->attributes['remind_at'] = $value;
|
||||
}
|
||||
|
||||
public function getSendAtAttribute()
|
||||
{
|
||||
return $this->attributes['remind_at'] ?? null;
|
||||
}
|
||||
|
||||
public function reservation()
|
||||
{
|
||||
return $this->belongsTo(Reservation::class);
|
||||
|
||||
@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
class Role extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
public $timestamps = false;
|
||||
|
||||
protected $fillable = [
|
||||
'name',
|
||||
|
||||
@@ -8,11 +8,12 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
class SeatingArea extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
public $timestamps = false;
|
||||
|
||||
protected $fillable = [
|
||||
'venue_id',
|
||||
'name',
|
||||
'description',
|
||||
'is_active',
|
||||
];
|
||||
|
||||
public function venue()
|
||||
|
||||
@@ -4,19 +4,48 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class VenueTable extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public $timestamps = false;
|
||||
protected static ?string $labelColumn = null;
|
||||
|
||||
protected $fillable = [
|
||||
'venue_id',
|
||||
'seating_area_id',
|
||||
'name',
|
||||
'table_number',
|
||||
'capacity',
|
||||
'is_active',
|
||||
];
|
||||
|
||||
public static function labelColumn(): string
|
||||
{
|
||||
if (self::$labelColumn !== null) {
|
||||
return self::$labelColumn;
|
||||
}
|
||||
|
||||
self::$labelColumn = Schema::hasColumn('venue_tables', 'name')
|
||||
? 'name'
|
||||
: 'table_number';
|
||||
|
||||
return self::$labelColumn;
|
||||
}
|
||||
|
||||
public function setNameAttribute($value): void
|
||||
{
|
||||
$this->attributes[self::labelColumn()] = $value;
|
||||
}
|
||||
|
||||
public function getNameAttribute()
|
||||
{
|
||||
$column = self::labelColumn();
|
||||
return $this->attributes[$column] ?? null;
|
||||
}
|
||||
|
||||
public function venue()
|
||||
{
|
||||
return $this->belongsTo(Venue::class);
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم