+function user(): User
+{
+ return auth()->user() ?: User::getDefault();
+}
+
+/**
+ * Check if current user is a signed in user.
+ */
+function signedInUser(): bool
+{
+ return auth()->user() && !auth()->user()->isDefault();
+}
+
+/**
+ * Check if the current user has general access.
+ */
+function hasAppAccess(): bool
+{
+ return !auth()->guest() || setting('app-public');
+}
+
+/**
+ * Check if the current user has a permission. If an ownable element
+ * is passed in the jointPermissions are checked against that particular item.
+ */
+function userCan(string $permission, Model $ownable = null): bool