Test Failed
Push — main ( c8793a...2b1633 )
by Davide
06:02 queued 11s
created

GlossaryVariantService::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 3
rs 10
1
<?php
2
3
4
namespace App\Services;
5
6
7
use App\Models\Glossary;
8
use App\Models\GlossaryVariant;
9
use App\Repositories\GlossaryVariantRepositoryInterface;
10
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
11
12
class GlossaryVariantService
13
{
14
    private GlossaryVariantRepositoryInterface $glossaryVariantRepository;
15
16
    /**
17
     * GlossaryVariantService constructor.
18
     * @param  GlossaryVariantRepositoryInterface  $glossaryVariantRepository
19
     */
20
    public function __construct(GlossaryVariantRepositoryInterface $glossaryVariantRepository)
21
    {
22
        $this->glossaryVariantRepository = $glossaryVariantRepository;
23
    }
24
25
    /**
26
     * Create one glossary variant that has the same name of the Glossary term
27
     *
28
     * @param  Glossary  $glossary
29
     * @return GlossaryVariant
30
     */
31
    public function createGlossaryVariant(Glossary $glossary): GlossaryVariant
32
    {
33
        $data = [
34
            'lang' => [],
35
            'glossary_id' => $glossary->id
36
        ];
37
        $lang = [];
38
        foreach (LaravelLocalization::getSupportedLocales() as $key => $locale) {
39
            $lang[$key] = $glossary->term;
40
        }
41
        $data['lang'] = $lang;
42
        return $this->glossaryVariantRepository->store($data);
43
    }
44
}
45