Passed
Push — master ( 3f23ea...c594c9 )
by Jan
05:15 queued 11s
created

DatabaseUpdatedLogEntry   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 37
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getOldVersion() 0 3 1
A isSuccessful() 0 4 1
A getNewVersion() 0 3 1
A __construct() 0 5 1
1
<?php
2
/**
3
 * This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
4
 *
5
 * Copyright (C) 2019 - 2020 Jan Böhmer (https://github.com/jbtronics)
6
 *
7
 * This program is free software; you can redistribute it and/or
8
 * modify it under the terms of the GNU General Public License
9
 * as published by the Free Software Foundation; either version 2
10
 * of the License, or (at your option) any later version.
11
 *
12
 * This program is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 * GNU General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU General Public License
18
 * along with this program; if not, write to the Free Software
19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
20
 */
21
22
namespace App\Entity\LogSystem;
23
24
use App\Exceptions\LogEntryObsoleteException;
25
use Doctrine\ORM\Mapping as ORM;
26
27
/**
28
 * @ORM\Entity()
29
 */
30
class DatabaseUpdatedLogEntry extends AbstractLogEntry
31
{
32
    protected $typeString = "database_updated";
33
34
    public function __construct(string $oldVersion, string $newVersion)
35
    {
36
        parent::__construct();
37
        $this->extra['o'] = $oldVersion;
38
        $this->extra['n'] = $newVersion;
39
    }
40
41
    /**
42
     * Checks if the database update was successful.
43
     * @return bool
44
     */
45
    public function isSuccessful(): bool
46
    {
47
        //We dont save unsuccessful updates now, so just assume it to save space.
48
        return $this->extra['s'] ?? true;
49
    }
50
51
    /**
52
     * Gets the database version before update.
53
     * @return int
54
     */
55
    public function getOldVersion(): string
56
    {
57
        return (string) $this->extra['o'];
0 ignored issues
show
Bug Best Practice introduced by
The expression return (string)$this->extra['o'] returns the type string which is incompatible with the documented return type integer.
Loading history...
58
    }
59
60
    /**
61
     * Gets the (target) database version after update.
62
     * @return int
63
     */
64
    public function getNewVersion(): string
65
    {
66
        return (string) $this->extra['n'];
0 ignored issues
show
Bug Best Practice introduced by
The expression return (string)$this->extra['n'] returns the type string which is incompatible with the documented return type integer.
Loading history...
67
    }
68
69
}