pulse setting

This commit is contained in:
NoBody313
2025-04-20 11:26:30 +07:00
parent ed14fc0a98
commit 1b59bd6512
4 changed files with 24 additions and 6 deletions
+6 -1
View File
@@ -5,7 +5,6 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Concerns\HasUuids; use Illuminate\Database\Eloquent\Concerns\HasUuids;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Str;
class Admin extends Authenticatable class Admin extends Authenticatable
{ {
@@ -15,6 +14,7 @@ class Admin extends Authenticatable
'name', 'name',
'email', 'email',
'password', 'password',
'role'
]; ];
protected $hidden = [ protected $hidden = [
@@ -26,4 +26,9 @@ class Admin extends Authenticatable
'email_verified_at' => 'datetime', 'email_verified_at' => 'datetime',
'password' => 'hashed', 'password' => 'hashed',
]; ];
public function isAdmin(): bool
{
return $this->role === 'admin';
}
} }
+11
View File
@@ -2,10 +2,14 @@
namespace App\Providers; namespace App\Providers;
use App\Models\Admin;
use Dedoc\Scramble\Scramble; use Dedoc\Scramble\Scramble;
use Dedoc\Scramble\Support\Generator\OpenApi; use Dedoc\Scramble\Support\Generator\OpenApi;
use Dedoc\Scramble\Support\Generator\SecurityScheme; use Dedoc\Scramble\Support\Generator\SecurityScheme;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use Laravel\Pulse\Facades\Pulse;
class AppServiceProvider extends ServiceProvider class AppServiceProvider extends ServiceProvider
{ {
@@ -22,6 +26,7 @@ class AppServiceProvider extends ServiceProvider
*/ */
public function boot(): void public function boot(): void
{ {
if (Auth::guard('monitoring')->user() && Auth::guard('monitoring')->user()->email === 'superadminMonitoring@humicengineering.com') {
Scramble::configure() Scramble::configure()
->withDocumentTransformers(function (OpenApi $openApi) { ->withDocumentTransformers(function (OpenApi $openApi) {
$openApi->secure( $openApi->secure(
@@ -29,4 +34,10 @@ class AppServiceProvider extends ServiceProvider
); );
}); });
} }
Gate::define('viewPulse', function ($user = null) {
$monitoringUser = request()->user('monitoring');
return $monitoringUser && $monitoringUser->email === 'superadminMonitoring@humicengineering.com';
});
}
} }
@@ -17,6 +17,7 @@ return new class extends Migration
$table->string('email')->unique(); $table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable(); $table->timestamp('email_verified_at')->nullable();
$table->string('password'); $table->string('password');
$table->string('role')->default('users');
$table->rememberToken(); $table->rememberToken();
$table->timestamps(); $table->timestamps();
}); });
+1
View File
@@ -16,6 +16,7 @@ class AdminSeeder extends Seeder
'email' => 'superadminMonitoring@humicengineering.com', 'email' => 'superadminMonitoring@humicengineering.com',
'password' => bcrypt('SuperAdminMonitoringHumic#123'), 'password' => bcrypt('SuperAdminMonitoringHumic#123'),
'email_verified_at' => now(), 'email_verified_at' => now(),
'role' => 'admin',
'remember_token' => Str::random(10), 'remember_token' => Str::random(10),
]); ]);
} }