'datetime', ]; const ADMIN = 1; public function manyRoles() { return $this->hasMany(PrincipalRoleLink::class); } public function checkRoleWithPermission($resource, $permission) { return true; $checkRole = User::with('manyRoles.roles')->where('id', \Auth::user()->id)->get(); $totalRolesAssigned = array(); foreach ($checkRole as $data) { foreach ($data->manyRoles as $role) { array_push($totalRolesAssigned, $role->roles->slug); } } if (in_array('super-admin', $totalRolesAssigned)) { return true; } foreach ($totalRolesAssigned as $slug) { $roleData = Role::where('slug', $slug)->first(); if ($roleData) { $appResource = AppResource::where('slug', $resource)->first(); $permission = Permission::where('slug', $permission)->first(); if ($appResource && $permission) { $appResourceAction = AppResourceAction::where('app_resource_xid', $appResource->id)->where('app_action_xid', $permission->id)->first(); if ($appResourceAction) { $isRoleLinkWithResource = RoleAppResouceActionLink::where('app_resource_action_xid', $appResourceAction->id)->where('role_xid', $roleData->id)->exists(); if ($isRoleLinkWithResource) { return true; } } } } } return false; } public function scopeAdmins(Builder $query): void { $query->where('role', 1); } public function scopeUsers(Builder $query): void { $query->where('role', false); } public function scopeActive(Builder $query): void { $query->where('status', true); } // const path = 'https://jerichoalternatives.in/public/uploads/profile/img/'; public function getProfileImageAttribute($value) { if ($value) return imagePath('public/uploads/profile/img/') . $value; } public function activeInvestments(){ return $this->hasMany(MonthlyUpdateMaster::class,'users_id')->where('holding_status', 'Holding'); } public function investments(){ return $this->hasMany(MonthlyUpdateMaster::class,'users_id'); } public function total(){ return $this->hasMany(Chat::class,'user_id')->where(['by' => 'User','read_at' => null]); } }