Files
anonaddy/app/Http/Controllers/ShowRecipientController.php
2020-10-06 16:21:27 +01:00

44 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers;
class ShowRecipientController extends Controller
{
public function index()
{
$recipients = user()->recipients()->with([
'aliases:alias_id,aliasable_id,email',
'domainsUsingAsDefault.aliases:id,aliasable_id,email',
'AdditionalUsernamesUsingAsDefault.aliases:id,aliasable_id,email'
])->latest()->get();
$recipients->each(function ($recipient) {
if ($recipient->domainsUsingAsDefault) {
$domainAliases = $recipient->domainsUsingAsDefault->flatMap(function ($domain) {
return $domain->aliases;
});
$recipient->setRelation('aliases', $recipient->aliases->concat($domainAliases)->unique('email'));
}
if ($recipient->AdditionalUsernamesUsingAsDefault) {
$AdditionalUsernameAliases = $recipient->AdditionalUsernamesUsingAsDefault->flatMap(function ($domain) {
return $domain->aliases;
});
$recipient->setRelation('aliases', $recipient->aliases->concat($AdditionalUsernameAliases)->unique('email'));
}
});
$count = $recipients->count();
$recipients->each(function ($item, $key) use ($count) {
$item['key'] = $count - $key;
});
return view('recipients.index', [
'recipients' => $recipients,
'aliasesUsingDefault' => user()->aliasesUsingDefault()->take(5)->get(),
'aliasesUsingDefaultCount' => user()->aliasesUsingDefault()->count(),
]);
}
}