First Commit

This commit is contained in:
marco
2026-09-01 09:22:30 -03:00
commit a43ae23eb4
407 changed files with 36138 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
<?php
namespace App\Providers;
use App\Models\AiProvider;
use App\Models\LegalDocument;
use App\Models\PromptGeneration;
use App\Models\PromptProject;
use App\Models\PromptTemplate;
use App\Models\User;
use App\Policies\AiProviderPolicy;
use App\Policies\LegalDocumentPolicy;
use App\Policies\PromptGenerationPolicy;
use App\Policies\PromptProjectPolicy;
use App\Policies\PromptTemplatePolicy;
use App\Policies\UserPolicy;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Gate;
class AuthServiceProvider extends ServiceProvider
{
/**
* Register any authentication / authorization services.
*/
public function boot(): void
{
$this->registerPolicies();
Gate::define('superadmin', function (User $user) {
return $user->role === 'superadmin';
});
Gate::before(function (User $user, string $ability) {
if ($user->role === 'superadmin') {
return true;
}
});
Gate::resource(PromptProject::class, PromptProjectPolicy::class);
Gate::resource(PromptGeneration::class, PromptGenerationPolicy::class);
Gate::resource(AiProvider::class, AiProviderPolicy::class);
Gate::resource(User::class, UserPolicy::class);
Gate::resource(PromptTemplate::class, PromptTemplatePolicy::class);
Gate::resource(LegalDocument::class, LegalDocumentPolicy::class);
}
}