This commit is contained in:
2026-08-15 13:37:07 +03:30
commit ed719317f3
76 changed files with 14009 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
<?php
namespace App\Http\Controllers;
abstract class Controller
{
//
}
+48
View File
@@ -0,0 +1,48 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class Admin
*
* @property int $id
* @property string $first_name
* @property string $last_name
* @property string $email
* @property string $mobile
* @property string $password
* @property int $status
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @package App\Models
*/
class Admin extends Model
{
protected $table = 'admins';
public static $snakeAttributes = false;
protected $casts = [
'status' => 'int'
];
protected $hidden = [
'password'
];
protected $fillable = [
'first_name',
'last_name',
'email',
'mobile',
'password',
'status'
];
}
+34
View File
@@ -0,0 +1,34 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* Class Airport
*
* @property int $id
* @property string $name
* @property string $city
* @property string $country
* @property string $code
*
* @package App\Models
*/
class Airport extends Model
{
protected $table = 'airports';
public $timestamps = false;
public static $snakeAttributes = false;
protected $fillable = [
'name',
'city',
'country',
'code'
];
}
+64
View File
@@ -0,0 +1,64 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* Class Comment
*
* @property int $id
* @property int $user_id
* @property int $commentable_id
* @property string $commentable_type
* @property string $body
* @property int $status
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @property User $user
* @property Comment $comment
* @property Collection|Comment[] $comments
*
* @package App\Models
*/
class Comment extends Model
{
protected $table = 'comments';
public static $snakeAttributes = false;
protected $casts = [
'user_id' => 'int',
'commentable_id' => 'int',
'status' => 'int'
];
protected $fillable = [
'user_id',
'commentable_id',
'commentable_type',
'body',
'status'
];
public function user()
{
return $this->belongsTo(User::class);
}
public function comment()
{
return $this->belongsTo(Comment::class, 'commentable_id');
}
public function comments()
{
return $this->hasMany(Comment::class, 'commentable_id');
}
}
+59
View File
@@ -0,0 +1,59 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* Class Favorite
*
* @property int $id
* @property int $user_id
* @property int $favoritable_id
* @property string $favoritable_type
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @property User $user
* @property Favorite $favorite
* @property Collection|Favorite[] $favorites
*
* @package App\Models
*/
class Favorite extends Model
{
protected $table = 'favorites';
public static $snakeAttributes = false;
protected $casts = [
'user_id' => 'int',
'favoritable_id' => 'int'
];
protected $fillable = [
'user_id',
'favoritable_id',
'favoritable_type'
];
public function user()
{
return $this->belongsTo(User::class);
}
public function favorite()
{
return $this->belongsTo(Favorite::class, 'favoritable_id');
}
public function favorites()
{
return $this->hasMany(Favorite::class, 'favoritable_id');
}
}
+47
View File
@@ -0,0 +1,47 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class File
*
* @property int $id
* @property int|null $fileable_id
* @property string $fileable_type
* @property string $name
* @property string $extension
* @property int $size
* @property string $original_name
* @property string $path
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @package App\Models
*/
class File extends Model
{
protected $table = 'files';
public static $snakeAttributes = false;
protected $casts = [
'fileable_id' => 'int',
'size' => 'int'
];
protected $fillable = [
'fileable_id',
'fileable_type',
'name',
'extension',
'size',
'original_name',
'path'
];
}
+75
View File
@@ -0,0 +1,75 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* Class Flight
*
* @property int $id
* @property int $travel_type_id
* @property string $flight_number
* @property string $airline_name
* @property string $origin
* @property string $destination
* @property Carbon $departure_date
* @property Carbon $departure_time
* @property Carbon $arrival_date
* @property Carbon $arrival_time
* @property string $duration
* @property float $price
* @property int $capacity
* @property int $status
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @property Collection|Tour[] $tours
*
* @package App\Models
*/
class Flight extends Model
{
protected $table = 'flights';
public static $snakeAttributes = false;
protected $casts = [
'travel_type_id' => 'int',
'departure_date' => 'datetime',
'departure_time' => 'datetime',
'arrival_date' => 'datetime',
'arrival_time' => 'datetime',
'price' => 'float',
'capacity' => 'int',
'status' => 'int'
];
protected $fillable = [
'travel_type_id',
'flight_number',
'airline_name',
'origin',
'destination',
'departure_date',
'departure_time',
'arrival_date',
'arrival_time',
'duration',
'price',
'capacity',
'status'
];
public function tours()
{
return $this->belongsToMany(Tour::class, 'tour_flights')
->withPivot('id')
->withTimestamps();
}
}
+47
View File
@@ -0,0 +1,47 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class Payment
*
* @property int $id
* @property int $user_id
* @property int $payable_id
* @property float $amount
* @property string $authority
* @property string $transaction_id
* @property int $status
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @package App\Models
*/
class Payment extends Model
{
protected $table = 'payments';
public static $snakeAttributes = false;
protected $casts = [
'user_id' => 'int',
'payable_id' => 'int',
'amount' => 'float',
'status' => 'int'
];
protected $fillable = [
'user_id',
'payable_id',
'amount',
'authority',
'transaction_id',
'status'
];
}
+73
View File
@@ -0,0 +1,73 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* Class Tour
*
* @property int $id
* @property int $travel_type_id
* @property string $title
* @property string $slug
* @property string $description
* @property string $duration
* @property Carbon $start_date
* @property Carbon $end_date
* @property float $price
* @property int $capacity
* @property int $status
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @property TravelType $travelType
* @property Collection|Flight[] $flights
*
* @package App\Models
*/
class Tour extends Model
{
protected $table = 'tours';
public static $snakeAttributes = false;
protected $casts = [
'travel_type_id' => 'int',
'start_date' => 'datetime',
'end_date' => 'datetime',
'price' => 'float',
'capacity' => 'int',
'status' => 'int'
];
protected $fillable = [
'travel_type_id',
'title',
'slug',
'description',
'duration',
'start_date',
'end_date',
'price',
'capacity',
'status'
];
public function travelType()
{
return $this->belongsTo(TravelType::class);
}
public function flights()
{
return $this->belongsToMany(Flight::class, 'tour_flights')
->withPivot('id')
->withTimestamps();
}
}
+50
View File
@@ -0,0 +1,50 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class TourFlight
*
* @property int $id
* @property int $tour_id
* @property int $flight_id
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @property Flight $flight
* @property Tour $tour
*
* @package App\Models
*/
class TourFlight extends Model
{
protected $table = 'tour_flights';
public static $snakeAttributes = false;
protected $casts = [
'tour_id' => 'int',
'flight_id' => 'int'
];
protected $fillable = [
'tour_id',
'flight_id'
];
public function flight()
{
return $this->belongsTo(Flight::class);
}
public function tour()
{
return $this->belongsTo(Tour::class);
}
}
+46
View File
@@ -0,0 +1,46 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* Class TravelType
*
* @property int $id
* @property string $title
* @property string $slug
* @property int $status
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @property Collection|Tour[] $tours
*
* @package App\Models
*/
class TravelType extends Model
{
protected $table = 'travel_types';
public static $snakeAttributes = false;
protected $casts = [
'status' => 'int'
];
protected $fillable = [
'title',
'slug',
'status'
];
public function tours()
{
return $this->hasMany(Tour::class);
}
}
+67
View File
@@ -0,0 +1,67 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
/**
* Class User
*
* @property int $id
* @property string $first_name
* @property string $last_name
* @property string $email
* @property string $mobile
* @property string $password
* @property string|null $national_code
* @property Carbon|null $birth_date
* @property int $status
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @property Collection|Comment[] $comments
* @property Collection|Favorite[] $favorites
*
* @package App\Models
*/
class User extends Model
{
protected $table = 'users';
public static $snakeAttributes = false;
protected $casts = [
'birth_date' => 'datetime',
'status' => 'int'
];
protected $hidden = [
'password'
];
protected $fillable = [
'first_name',
'last_name',
'email',
'mobile',
'password',
'national_code',
'birth_date',
'status'
];
public function comments()
{
return $this->hasMany(Comment::class);
}
public function favorites()
{
return $this->hasMany(Favorite::class);
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
//
}
}