24 lines
714 B
PHP
24 lines
714 B
PHP
<?php declare(strict_types=1);
|
|
|
|
namespace App\Services\ProjectTranslation;
|
|
|
|
use App\Models\Project;
|
|
use App\Models\ProjectLanguage;
|
|
use App\Repositories\ProjectTranslationRepository;
|
|
|
|
final readonly class TranslationTextCommand
|
|
{
|
|
public function __construct(
|
|
private ProjectTranslationRepository $translationRepository,
|
|
) { }
|
|
|
|
public function execute(Project $project, ProjectLanguage $language, array $codes): TranslationText
|
|
{
|
|
$translations = $this->translationRepository
|
|
->getProjectTranslationByCodes($project->id, $language->id, $codes)
|
|
->all()->pluck('text', 'code');
|
|
|
|
return TranslationText::init($language, $translations->toArray());
|
|
}
|
|
}
|