Implement package limit notification system

This commit is contained in:
Codex Agent
2025-11-01 13:19:07 +01:00
parent 81cdee428e
commit 2c14493604
87 changed files with 4557 additions and 290 deletions

View File

@@ -0,0 +1,15 @@
<?php
namespace App\Events\Packages;
use App\Models\EventPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class EventPackageGalleryExpired
{
use Dispatchable;
use SerializesModels;
public function __construct(public EventPackage $eventPackage) {}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Events\Packages;
use App\Models\EventPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class EventPackageGalleryExpiring
{
use Dispatchable;
use SerializesModels;
public function __construct(
public EventPackage $eventPackage,
public int $daysRemaining,
) {}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Events\Packages;
use App\Models\EventPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class EventPackageGuestLimitReached
{
use Dispatchable;
use SerializesModels;
public function __construct(
public EventPackage $eventPackage,
public int $limit,
) {}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Events\Packages;
use App\Models\EventPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class EventPackageGuestThresholdReached
{
use Dispatchable;
use SerializesModels;
public function __construct(
public EventPackage $eventPackage,
public float $threshold,
public int $limit,
public int $used,
) {}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Events\Packages;
use App\Models\EventPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class EventPackagePhotoLimitReached
{
use Dispatchable;
use SerializesModels;
public function __construct(
public EventPackage $eventPackage,
public int $limit,
) {}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Events\Packages;
use App\Models\EventPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class EventPackagePhotoThresholdReached
{
use Dispatchable;
use SerializesModels;
public function __construct(
public EventPackage $eventPackage,
public float $threshold,
public int $limit,
public int $used,
) {}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Events\Packages;
use App\Models\Tenant;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class TenantCreditsLow
{
use Dispatchable;
use SerializesModels;
public function __construct(
public Tenant $tenant,
public int $balance,
public int $threshold,
) {}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Events\Packages;
use App\Models\TenantPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class TenantPackageEventLimitReached
{
use Dispatchable;
use SerializesModels;
public function __construct(
public TenantPackage $tenantPackage,
public int $limit,
) {}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Events\Packages;
use App\Models\TenantPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class TenantPackageEventThresholdReached
{
use Dispatchable;
use SerializesModels;
public function __construct(
public TenantPackage $tenantPackage,
public float $threshold,
public int $limit,
public int $used,
) {}
}

View File

@@ -0,0 +1,15 @@
<?php
namespace App\Events\Packages;
use App\Models\TenantPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class TenantPackageExpired
{
use Dispatchable;
use SerializesModels;
public function __construct(public TenantPackage $tenantPackage) {}
}

View File

@@ -0,0 +1,15 @@
<?php
namespace App\Events\Packages;
use App\Models\TenantPackage;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class TenantPackageExpiring
{
use Dispatchable;
use SerializesModels;
public function __construct(public TenantPackage $tenantPackage, public int $daysRemaining) {}
}