57 lines
1.2 KiB
PHP
57 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Pdf;
|
|
|
|
use App\Member\Member;
|
|
use App\Payment\Payment;
|
|
use Carbon\Carbon;
|
|
use Generator;
|
|
use Illuminate\Support\Collection;
|
|
|
|
interface PdfRepository
|
|
{
|
|
|
|
public function getSubject(): string;
|
|
|
|
public function setFilename(string $filename): self;
|
|
|
|
public function getFilename(): string;
|
|
|
|
public function getView(): string;
|
|
|
|
public function getTemplate(): string;
|
|
|
|
public function getPositions(Collection $page): array;
|
|
|
|
public function getFamilyName(Collection $page): string;
|
|
|
|
public function getAddress(Collection $page): string;
|
|
|
|
public function getZip(Collection $page): string;
|
|
|
|
public function getLocation(Collection $page): string;
|
|
|
|
public function createable(Member $member): bool;
|
|
|
|
public function getPayments(Member $member): Collection;
|
|
|
|
public function linkLabel(): string;
|
|
|
|
public function getUntil(): Carbon;
|
|
|
|
public function getUsage(Collection $page): string;
|
|
|
|
public function allLabel(): string;
|
|
|
|
public function getEmail(Collection $page): string;
|
|
|
|
public function getDescription(): array;
|
|
|
|
public function afterSingle(Payment $payment): void;
|
|
|
|
public function getMailSubject(): string;
|
|
|
|
public function allPayments(): Generator;
|
|
|
|
}
|