initial commit

This commit is contained in:
Inshal
2024-10-25 01:05:27 +05:00
commit 94cd8a1dc9
1710 changed files with 273609 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\ServiceProvider;
use Illuminate\Contracts\Foundation\Application;
use App\Services\Auth\JwtGuard;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace App\Providers;
// use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The model to policy mappings for the application.
*
* @var array<class-string, class-string>
*/
protected $policies = [
'App\Admin' => 'App\Policies\AdminPolicy',
'App\Models\Cart' => 'App\Policies\OrdersPolicy',
'App\Models\Permission' => 'App\Policies\PermissionsPolicy',
'App\Models\Patient' => 'App\Policies\PatientPolicy',
'App\Models\Role' => 'App\Policies\RolePolicy',
'App\Models\PlanV1' => 'App\Policies\ProductsPolicy',
'App\Models\Telemedpro' => 'App\Policies\ProvidersPolicy',
'App\Models\Subscription' => 'App\Policies\SubscriptionPolicy',
'App\Models\ProfileQuestion' => 'App\Policies\AnalyticsPolicy',
'App\Models\Appointment' => 'App\Policies\AppointmentPolicy',
'App\Models\Prescription' => 'App\Policies\PrescriptionsPolicy',
'App\Models\Setting' => 'App\Policies\SiteSettingsPolicy',
];
/**
* Register any authentication / authorization services.
*/
public function boot(): void
{
//
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Broadcast;
use Illuminate\Support\ServiceProvider;
class BroadcastServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*/
public function boot(): void
{
Broadcast::routes(['middleware' => ['api', 'auth:patient,agent']]);
require base_path('routes/channels.php');
}
}

View File

@@ -0,0 +1,47 @@
<?php
namespace App\Providers;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Event;
class EventServiceProvider extends ServiceProvider
{
/**
* The event to listener mappings for the application.
*
* @var array<class-string, array<int, class-string>>
*/
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
\App\Events\AppointmentBooked::class => [
\App\Listeners\SendAppointmentBookedEmail::class,
],
\App\Events\PatientRegistered::class => [
\App\Listeners\SendPatientRegisteredEmail::class,
],
\App\Events\PaymentProcessed::class => [
\App\Listeners\SendPaymentProcessedEmail::class,
]
];
/**
* Register any events for your application.
*/
public function boot(): void
{
//
}
/**
* Determine if events and listeners should be automatically discovered.
*/
public function shouldDiscoverEvents(): bool
{
return false;
}
}

View File

@@ -0,0 +1,122 @@
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Route;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
class RouteServiceProvider extends ServiceProvider
{
/**
* The path to your application's "home" route.
*
* Typically, users are redirected here after authentication.
*
* @var string
*/
public const HOME = '/';
/**
* This namespace is applied to your controller routes.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $namespace = 'App\Http\Controllers';
/**
* Define your route model bindings, pattern filters, etc.
*
* @return void
*/
public function boot()
{
//
parent::boot();
}
/**
* Define the routes for the application.
*
* @return void
*/
public function map()
{
$this->mapApiRoutes();
$this->mapAdminRoutes();
$this->mapAgentRoutes();
$this->mapDoctorRoutes();
$this->mapPatientRoutes();
$this->mapWebRoutes();
}
/**
* Define the "web" routes for the application.
*
* These routes all receive session state, CSRF protection, etc.
*
* @return void
*/
protected function mapWebRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
}
protected function mapAdminRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/admin.php'));
}
protected function mapAgentRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/agent.php'));
}
protected function mapDoctorRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/doctor.php'));
}
/**
* Define the "api" routes for the application.
*
* These routes are typically stateless.
*
* @return void
*/
protected function mapApiRoutes()
{
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
/**
* Define the "patient" routes for the application.
*
* These routes are typically stateless.
*
* @return void
*/
protected function mapPatientRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/patient.php'));
}
}