2022-11-18 15:55:44 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Member\Actions;
|
|
|
|
|
|
|
|
use App\Member\Member;
|
|
|
|
use App\Member\MemberResource;
|
|
|
|
use Inertia\Inertia;
|
|
|
|
use Inertia\Response;
|
|
|
|
use Lorisleiva\Actions\Concerns\AsAction;
|
|
|
|
|
|
|
|
class MemberShowAction
|
|
|
|
{
|
|
|
|
use AsAction;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return array{data: MemberResource}
|
|
|
|
*/
|
|
|
|
public function handle(Member $member): array
|
|
|
|
{
|
|
|
|
return [
|
2022-11-19 00:09:53 +01:00
|
|
|
'data' => new MemberResource($member
|
|
|
|
->load('memberships')
|
2022-12-13 23:11:32 +01:00
|
|
|
->load('payments.subscription.children')
|
2022-11-19 00:09:53 +01:00
|
|
|
->load('nationality')
|
|
|
|
->load('region')
|
2022-11-22 00:37:34 +01:00
|
|
|
->load('subscription')
|
|
|
|
->load('courses.course')
|
2022-11-19 00:09:53 +01:00
|
|
|
),
|
2023-05-02 23:13:00 +02:00
|
|
|
'meta' => MemberResource::meta(),
|
2022-11-18 15:55:44 +01:00
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
public function asController(Member $member): Response
|
|
|
|
{
|
|
|
|
session()->put('menu', 'member');
|
|
|
|
session()->put('title', 'Mitglied '.$member->fullname);
|
|
|
|
|
2022-11-19 00:09:53 +01:00
|
|
|
return Inertia::render('member/ShowView', $this->handle($member));
|
2022-11-18 15:55:44 +01:00
|
|
|
}
|
|
|
|
}
|