Files
shahrzadzandi09/app/Models/Admin.php
T
2026-08-17 19:58:01 +03:30

94 lines
1.8 KiB
PHP

<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use App\Enums\AdminStatus;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
//use Illuminate\Foundation\Auth\Admin as Authenticate;
//use Illuminate\Foundation\Auth\Admin as Authenticate;
/**
* Class Admin
*
* @property int $id
* @property string $full_name
* @property string $username
* @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 User
{
protected $table = 'admins';
public static $snakeAttributes = false;
protected $casts = [
'status' => 'int',
];
protected $hidden = [
'password',
];
protected $fillable = [
'full_name',
'username',
'email',
'mobile',
'password',
'status',
];
public function permissions()
{
return $this->belongsToMany(
Permission::class,
'admin_permission',
'admin_id',
'permission_id'
);
}
/**
* بررسی دسترسی مدیر به ماژول مدیریت کاربران
*
* @param string $action view|edit|delete|password
*/
public function canManageUsers(string $action): bool
{
// مدیریت کاربران فقط برای مدیر فعال مجاز است
return $this->status == 1;
}
public function canManageTravelTypes(string $action): bool
{
return $this->status == 1;
}
public function canManageFlights(string $action): bool
{
return $this->status == 1;
}
public function canManageTours(string $action): bool
{
return $this->status == 1;
}
}