git commit "feat: create database tables and relationships"

This commit is contained in:
2026-08-15 11:58:31 +03:30
commit d57ee423e0
74 changed files with 13680 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
<?php
namespace App\Http\Controllers;
abstract class Controller
{
//
}
+51
View File
@@ -0,0 +1,51 @@
<?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 $username
* @property string $email
* @property string $mobile
* @property string $password
* @property string|null $image
* @property int $status
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
*
* @package App\Models
*/
class Admin extends Model
{
protected $table = 'admins';
protected $casts = [
'status' => 'int'
];
protected $hidden = [
'password'
];
protected $fillable = [
'first_name',
'last_name',
'username',
'email',
'mobile',
'password',
'image',
'status'
];
}
+57
View File
@@ -0,0 +1,57 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class Comment
*
* @property int $id
* @property int $user_id
* @property int $tour_id
* @property int $rating
* @property string|null $comment
* @property int $status
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
*
* @property Tour $tour
* @property User $user
*
* @package App\Models
*/
class Comment extends Model
{
protected $table = 'comments';
protected $casts = [
'user_id' => 'int',
'tour_id' => 'int',
'rating' => 'int',
'status' => 'int'
];
protected $fillable = [
'user_id',
'tour_id',
'rating',
'comment',
'status'
];
public function tour()
{
return $this->belongsTo(Tour::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
}
+45
View File
@@ -0,0 +1,45 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class Favorite
*
* @property int $id
* @property int $user_id
* @property string $favoritable_type
* @property int $favoritable_id
* @property Carbon|null $created_at
*
* @property User $user
*
* @package App\Models
*/
class Favorite extends Model
{
protected $table = 'favorites';
public $timestamps = false;
protected $casts = [
'user_id' => 'int',
'favoritable_id' => 'int'
];
protected $fillable = [
'user_id',
'favoritable_type',
'favoritable_id'
];
public function user()
{
return $this->belongsTo(User::class);
}
}
+41
View File
@@ -0,0 +1,41 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class File
*
* @property int $id
* @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';
protected $casts = [
'size' => 'int'
];
protected $fillable = [
'name',
'extension',
'size',
'original_name',
'path'
];
}
+58
View File
@@ -0,0 +1,58 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class Flight
*
* @property int $id
* @property string|null $airline
* @property string|null $flight_number
* @property string|null $origin
* @property string|null $destination
* @property Carbon|null $departure_date
* @property Carbon|null $departure_time
* @property Carbon|null $arrival_time
* @property string|null $flight_class
* @property int|null $capacity
* @property float|null $price
* @property int|null $status
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
*
* @package App\Models
*/
class Flight extends Model
{
protected $table = 'flights';
protected $casts = [
'departure_date' => 'datetime',
'departure_time' => 'datetime',
'arrival_time' => 'datetime',
'capacity' => 'int',
'price' => 'float',
'status' => 'int'
];
protected $fillable = [
'airline',
'flight_number',
'origin',
'destination',
'departure_date',
'departure_time',
'arrival_time',
'flight_class',
'capacity',
'price',
'status'
];
}
+58
View File
@@ -0,0 +1,58 @@
<?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 string $title
* @property string $summary
* @property string $description
* @property string $image
* @property int $travel_type_id
* @property float $price
* @property Carbon $departure_date
* @property int $status
* @property Carbon $created_at
* @property Carbon $updated_at
*
* @property Collection|Comment[] $comments
*
* @package App\Models
*/
class Tour extends Model
{
protected $table = 'tours';
protected $casts = [
'travel_type_id' => 'int',
'price' => 'float',
'departure_date' => 'datetime',
'status' => 'int'
];
protected $fillable = [
'title',
'summary',
'description',
'image',
'travel_type_id',
'price',
'departure_date',
'status'
];
public function comments()
{
return $this->hasMany(Comment::class);
}
}
+36
View File
@@ -0,0 +1,36 @@
<?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|null $created_at
*
* @package App\Models
*/
class TourFlight extends Model
{
protected $table = 'tour_flights';
public $timestamps = false;
protected $casts = [
'tour_id' => 'int',
'flight_id' => 'int'
];
protected $fillable = [
'tour_id',
'flight_id'
];
}
+35
View File
@@ -0,0 +1,35 @@
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class TravelType
*
* @property int $id
* @property string $name
* @property int $status
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
*
* @package App\Models
*/
class TravelType extends Model
{
protected $table = 'travel_types';
protected $casts = [
'status' => 'int'
];
protected $fillable = [
'name',
'status'
];
}
+79
View File
@@ -0,0 +1,79 @@
<?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 $Firstname
* @property string $Lastname
* @property string $national_code
* @property int $gender
* @property int $marital_status
* @property string|null $spouse_name
* @property string $mobile
* @property string $email
* @property string|null $profile_image
* @property string $username
* @property string $password
* @property string|null $province
* @property string|null $city
* @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';
protected $casts = [
'gender' => 'int',
'marital_status' => 'int',
'status' => 'int'
];
protected $hidden = [
'password'
];
protected $fillable = [
'Firstname',
'Lastname',
'national_code',
'gender',
'marital_status',
'spouse_name',
'mobile',
'email',
'profile_image',
'username',
'password',
'province',
'city',
'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
{
//
}
}