37 lines
871 B
PHP
37 lines
871 B
PHP
<?php
|
|
|
|
namespace App\Domains\Admin\Actions\CreateParentGroup;
|
|
|
|
use App\Enumerations\ParticipantGroupType;
|
|
use App\Models\ParentGroup;
|
|
|
|
class CreateParentGroupAction
|
|
{
|
|
public function __construct(private CreateParentGroupRequest $request)
|
|
{
|
|
}
|
|
|
|
public function execute(): CreateParentGroupResponse
|
|
{
|
|
$response = new CreateParentGroupResponse();
|
|
|
|
$name = trim($this->request->name);
|
|
|
|
if ($name === '') {
|
|
$response->message = 'Bitte einen Namen angeben.';
|
|
|
|
return $response;
|
|
}
|
|
|
|
$response->parentGroup = ParentGroup::create([
|
|
'name' => $name,
|
|
'is_fallback' => false,
|
|
]);
|
|
|
|
$response->success = true;
|
|
$response->message = sprintf('%s „%s" wurde angelegt.', ParticipantGroupType::ParentGroup->label(), $name);
|
|
|
|
return $response;
|
|
}
|
|
}
|