Passed
Push — master ( b28c40...f61e74 )
by Petr
08:06
created

GroupsRecord::getGroupParents()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
ccs 0
cts 5
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace kalanis\kw_auth\Sources\Mapper\Database;
4
5
6
use kalanis\kw_auth\Interfaces\IGroup;
7
use kalanis\kw_mapper\Interfaces\IEntryType;
8
use kalanis\kw_mapper\Records\ASimpleRecord;
9
10
11
/**
12
 * Class GroupsRecord
13
 * @package kalanis\kw_auth\Sources\Mapper\Database
14
 * @property int $id
15
 * @property string $name
16
 * @property string $desc
17
 * @property int $status
18
 * @property int $authorId
19
 * @property int $parentId
20
 * @property UsersRecord[] $authors
21
 * @property UsersRecord[] $members
22
 * @property GroupsRecord[] $parents
23
 * @codeCoverageIgnore remote source
24
 */
25
class GroupsRecord extends ASimpleRecord implements IGroup
26
{
27
    public function addEntries(): void
28
    {
29
        $this->addEntry('id', IEntryType::TYPE_INTEGER, 2048);
30
        $this->addEntry('name', IEntryType::TYPE_STRING, 512);
31
        $this->addEntry('desc', IEntryType::TYPE_STRING, 512);
32
        $this->addEntry('authorId', IEntryType::TYPE_INTEGER, 128);
33
        $this->addEntry('parentId', IEntryType::TYPE_INTEGER, 2048);
34
        $this->addEntry('status', IEntryType::TYPE_INTEGER, 4);
35
        $this->addEntry('authors', IEntryType::TYPE_ARRAY, []);
36
        $this->addEntry('members', IEntryType::TYPE_ARRAY, []);
37
        $this->addEntry('parents', IEntryType::TYPE_ARRAY, []);
38
        $this->setMapper(GroupsMapper::class);
39
    }
40
41
    public function getGroupId(): int
42
    {
43
        return intval($this->id);
44
    }
45
46
    public function getGroupName(): string
47
    {
48
        return strval($this->name);
49
    }
50
51
    public function getGroupDesc(): string
52
    {
53
        return strval($this->desc);
54
    }
55
56
    public function getGroupAuthorId(): int
57
    {
58
        return intval($this->authorId);
59
    }
60
61
    public function getGroupStatus(): int
62
    {
63
        return intval($this->status);
64
    }
65
66
    public function getGroupParents(): array
67
    {
68
        return array_map(function (GroupsRecord $record) {
69
            return intval($record->id);
70
        }, $this->parents);
71
    }
72
}
73