Proof-PDF + Extra-PM-Verkauf ueber die Credit-Wallet (Decision-Update 2.1/2.3)
- ProofPdfService: Veroeffentlichungsnachweis 3 Credits pauschal, einmal pro
PM (Zweitdownload kostenfrei); ProofPdfRenderer erzeugt das PDF on-demand
aus vorhandenen PM-Daten (kein externer Renderer); GET-Download-Endpoint
/admin/me/press-releases/{id}/nachweis hinter downloadProof-Policy + Kauf-Gate
- ExtraPmPurchaseService: tier-gestaffelter Nachkauf (19/15/12/10/8) aus der
Wallet; verbucht als bezahlter SinglePurchase(ExtraPm) und greift damit in
die bestehende Kontingent-/Slot-Mechanik. InsufficientCreditsException
liefert das Mini-Checkout-Signal (required/available/shortfall)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
0ff874efc8
commit
c89589beb0
8 changed files with 609 additions and 0 deletions
17
app/Exceptions/ProofPdfNotAvailableException.php
Normal file
17
app/Exceptions/ProofPdfNotAvailableException.php
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?php
|
||||
|
||||
namespace App\Exceptions;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
/**
|
||||
* Wird geworfen, wenn für eine PM kein Veröffentlichungsnachweis erstellt
|
||||
* werden kann — der Nachweis setzt eine veröffentlichte Meldung voraus (§2.3).
|
||||
*/
|
||||
class ProofPdfNotAvailableException extends RuntimeException
|
||||
{
|
||||
public static function notPublished(): self
|
||||
{
|
||||
return new self('Ein Veröffentlichungsnachweis ist nur für veröffentlichte Pressemitteilungen verfügbar.');
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue