Prune the upstream Mini/QR mobile subsystem from POS
Deploy Ladill POS / deploy (push) Successful in 33s

POS was forked from Ladill Mini and carried Mini's entire mobile/QR
subsystem (API, QR codes, wallet, payments, push, Afia) which polluted the
ladill_pos schema with 8 unused tables and left ~half the test suite red.

Remove the dead subsystem: Api/Mini/Qr/Public/Search/WellKnown controllers,
Mini/Qr/Afia/Notifications services, the 8 unused models, QrCodePolicy,
Support/Qr + Support/Events, the two mini: scheduled commands, the Mini/QR
view trees, and their (failing) tests. Empty routes/api.php (POS is web-only)
and strip dead schedules from routes/console.php.

Keep QrTeamMember — it is the platform team-membership model that POS's
SetActingAccount middleware and SSO login depend on for multi-account access.
Also keep notifications + personal_access_tokens (used by POS).

Drops 7 migrations (qr product/settings, mini_payments, push tokens); the 8
orphan tables are dropped from the live ladill_pos DB separately. Test suite
is green (8 passed) and all routes resolve.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
isaacclad
2026-06-24 00:08:16 +00:00
co-authored by Claude Opus 4.8
parent 57862acb47
commit 46b5091b1e
119 changed files with 3 additions and 15877 deletions
@@ -1,38 +0,0 @@
<?php
namespace App\Notifications;
use App\Models\QrCode;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class EventProgrammeSharedNotification extends Notification implements ShouldQueue
{
use Queueable;
public function __construct(
private readonly QrCode $event,
private readonly QrCode $programme,
private readonly ?string $attendeeName = null,
) {}
public function via(mixed $notifiable): array
{
return ['mail'];
}
public function toMail(mixed $notifiable): MailMessage
{
$eventName = $this->event->content()['name'] ?? $this->event->label;
return (new MailMessage())
->subject('Programme for ' . $eventName)
->view('mail.notifications.event-programme', [
'eventName' => $eventName,
'programmeUrl' => $this->programme->publicUrl(),
'attendeeName' => $this->attendeeName,
]);
}
}
@@ -1,42 +0,0 @@
<?php
namespace App\Notifications\Mini;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Notification;
class MiniAlertNotification extends Notification implements ShouldQueue
{
use Queueable;
/**
* @param array<string, mixed> $extra
*/
public function __construct(
private readonly string $title,
private readonly string $message,
private readonly string $icon,
private readonly ?string $url,
private readonly string $milestone,
private readonly array $extra = [],
) {}
/** @return list<string> */
public function via(object $notifiable): array
{
return ['database'];
}
/** @return array<string, mixed> */
public function toArray(object $notifiable): array
{
return array_merge([
'title' => $this->title,
'message' => $this->message,
'icon' => $this->icon,
'url' => $this->url,
'milestone' => $this->milestone,
], $this->extra);
}
}