add notifications logic and add support of both JWT and Sanctum

This commit is contained in:
root
2026-03-11 01:20:31 -04:00
parent f6be51576c
commit 182036cc41
141 changed files with 8685 additions and 648 deletions
+4
View File
@@ -7,9 +7,11 @@ use App\Services\Attendance\AttendanceRecordSyncService;
use App\Services\Attendance\SemesterRangeService;
use App\Services\Attendance\StudentAttendanceWriterService;
use App\Services\Attendance\TeacherAttendanceSubmissionService;
use App\Services\Attendance\AttendanceAutoPublishService;
use App\Services\Invoices\InvoiceConfigService;
use App\Services\Invoices\InvoiceGradeService;
use App\Services\Invoices\InvoiceTuitionService;
use App\Services\Staff\StaffTimeOffLinkService;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Routing\Redirector;
use Illuminate\Support\ServiceProvider;
@@ -23,6 +25,8 @@ class AppServiceProvider extends ServiceProvider
$this->app->singleton(AttendanceRecordSyncService::class);
$this->app->singleton(StudentAttendanceWriterService::class);
$this->app->singleton(TeacherAttendanceSubmissionService::class);
$this->app->singleton(AttendanceAutoPublishService::class);
$this->app->singleton(StaffTimeOffLinkService::class);
$this->app->singleton(InvoiceConfigService::class);
$this->app->bind(InvoiceGradeService::class, function ($app) {
+109
View File
@@ -0,0 +1,109 @@
<?php
namespace App\Providers;
use App\Events\WhatsappInvitesSend;
use App\Listeners\AttendanceConsequenceListener;
use App\Listeners\BelowSixtyEmailListener;
use App\Listeners\SchoolEventListener;
use App\Listeners\WhatsappInviteListener;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider
{
protected $listen = [
'attendance.follow_up' => [
AttendanceConsequenceListener::class . '@followUp',
],
'attendance.final_warning' => [
AttendanceConsequenceListener::class . '@finalWarning',
],
'attendance.dismissal' => [
AttendanceConsequenceListener::class . '@dismissal',
],
'below60.email' => [
BelowSixtyEmailListener::class,
],
'admissionUnderReview' => [
SchoolEventListener::class . '@handleAdmissionUnderReview',
],
'paymentPending' => [
SchoolEventListener::class . '@handlePaymentPending',
],
'studentEnrolled' => [
SchoolEventListener::class . '@handleStudentEnrolled',
],
'withdrawUnderReview' => [
SchoolEventListener::class . '@handleWithdrawUnderReview',
],
'refundPending' => [
SchoolEventListener::class . '@handleRefundPending',
],
'withdrawn' => [
SchoolEventListener::class . '@handleWithdrawn',
],
'denied' => [
SchoolEventListener::class . '@handleDenied',
],
'waitlist' => [
SchoolEventListener::class . '@handleWaitlist',
],
'enrollmentStatusChanged' => [
SchoolEventListener::class . '@handleEnrollmentStatusChanged',
],
'paymentReceived' => [
SchoolEventListener::class . '@handlePaymentReceived',
],
'extraCharge' => [
SchoolEventListener::class . '@handleExtraCharge',
],
'newAccountAdded' => [
SchoolEventListener::class . '@handleNewAccountAdded',
],
'studentRegistered' => [
SchoolEventListener::class . '@handleStudentRegistered',
],
'delete_unverified_user' => [
SchoolEventListener::class . '@handleDeleteUnverifiedUser',
],
'userRegistered' => [
SchoolEventListener::class . '@handleUserRegistered',
],
'userProfileUpdated' => [
SchoolEventListener::class . '@handleUserProfileUpdated',
],
'userDeactivated' => [
SchoolEventListener::class . '@handleUserDeactivated',
],
'scoresPosted' => [
SchoolEventListener::class . '@handleScoresPosted',
],
'finalScoreReleased' => [
SchoolEventListener::class . '@handleFinalScoreReleased',
],
'studentMarkedAbsent' => [
SchoolEventListener::class . '@handleStudentMarkedAbsent',
],
'studentMarkedLate' => [
SchoolEventListener::class . '@handleStudentMarkedLate',
],
'paymentMissed' => [
SchoolEventListener::class . '@handlePaymentMissed',
],
'classScheduleUpdated' => [
SchoolEventListener::class . '@handleClassScheduleUpdated',
],
'newMessageReceived' => [
SchoolEventListener::class . '@handleNewMessageReceived',
],
'systemAnnouncementPosted' => [
SchoolEventListener::class . '@handleSystemAnnouncementPosted',
],
'customNotification' => [
SchoolEventListener::class . '@handleCustomNotification',
],
WhatsappInvitesSend::class => [
WhatsappInviteListener::class,
],
];
}