UpdateIndexMapping::postCheck()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 0

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 0
dl 0
loc 2
ccs 1
cts 1
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
crap 1
1
<?php
2
namespace Triadev\EsMigration\Business\Migration;
3
4
use Elasticsearch\Client;
5
6
class UpdateIndexMapping extends AbstractMigration
7
{
8
    /**
9
     * Get validation rules
10
     *
11
     * @return array
12
     */
13 5
    public function getValidationRules(): array
14
    {
15
        return [
16 5
            'index' => 'required|string',
17
            'type' => 'required|string',
18
            'ignore_conflicts' => 'boolean',
19
            'body' => 'required|array',
20
            'body.properties' => 'required|array'
21
        ];
22
    }
23
    
24
    /**
25
     * Pre check
26
     *
27
     * @param Client $esClient
28
     * @param array $params
29
     *
30
     * @throws \Exception
31
     */
32 2
    public function preCheck(Client $esClient, array $params)
33
    {
34 2
        $index = $params['index'];
35 2
        if (!$esClient->indices()->exists(['index' => $index])) {
36 1
            throw new \Exception(sprintf("Index not exist: %s", $index));
37
        }
38 1
    }
39
    
40
    /**
41
     * Start migration
42
     *
43
     * @param Client $esClient
44
     * @param array $params
45
     */
46 1
    public function startMigration(Client $esClient, array $params)
47
    {
48 1
        $esClient->indices()->putMapping($params);
49 1
    }
50
    
51
    /**
52
     * Post check
53
     *
54
     * @param Client $esClient
55
     * @param array $params
56
     *
57
     * @throws \Exception
58
     */
59 1
    public function postCheck(Client $esClient, array $params)
60
    {
61
        //
62 1
    }
63
}
64