hasMany(ManageModuleLink::class, 'principal_xid', 'id'); } public function feedbacks() { return $this->hasMany(ManageFeedback::class, 'principal_xid', 'id'); } public function getresturant() { return $this->hasMany(IamPrincipalRestaurantRole::class, 'principal_xid', 'id'); } public function getCustomerCount() { // Fetch the count of customers $customerCount = IamPrincipal::where('principal_type_xid', '=', 3)->count(); return $customerCount; } public function getJWTIdentifier() { return $this->getKey(); } public function getJWTCustomClaims() { return []; } /** * The attributes that are mass assignable. * * @var array */ /** * The attributes that should be hidden for serialization. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; public function getPermissionGranted($id, $module) { // $id is used as authuser id // $moudle is the slug of sidebar module $isSubAdmin = IamPrincipal::where('id', $id)->where('principal_type_xid', 2)->first(); // 'is_admin',1 is for checking the login user is subadmin or not $isMainAdmin = IamPrincipal::where('id', $id)->where('principal_type_xid', 1)->first(); if ($isMainAdmin) { return true; } elseif ($isSubAdmin) { //search for module $isModule = ManageModule::where('slug', $module)->first(); if ($isModule) { $isSubAdminModuleLink = ManageModuleLink::where('principal_xid', $id) ->where('manage_modules_xid', $isModule->id)->first(); // dd($id,$module,$isSubAdmin->id,$isModule,$isSubAdminModuleLink); if ($isSubAdminModuleLink) { return true; } else { return false; } } else { return false; } } else { return false; } } // public function orders() // { // return $this->hasMany(OrderedPassport::class, 'iam_principal_xid','id'); // } // public function notification() // { // return $this->hasMany(NotificationDetails::class,'principal_xid', 'id'); // } public function state() { return $this->belongsTo(ManageState::class, 'state_xid', 'id'); } public function roles() { return $this->hasMany(IamPrincipalRestaurantRole::class, 'id', 'principal_xid'); } // public function restaurants() // { // return $this->hasMany(ManageRestaurant::class, 'restaurant_id', 'id'); // } public function restaurant() { return $this->hasMany(ManageRestaurant::class, 'id', 'restaurant_xid'); } public function contactMessages() { return $this->hasMany(ManageContactus::class, 'principal_xid', 'id'); } public function isSubscribed() { return $this->hasMany(Subscriptions::class, 'iam_principal_xid', 'id'); } }