Stack   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 4
c 0
b 0
f 0
lcom 1
cbo 1
dl 0
loc 36
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A setCards() 0 3 1
A jsonSerialize() 0 17 2
1
<?php
2
/**
3
 * @copyright Copyright (c) 2016 Julius Härtl <[email protected]>
4
 *
5
 * @author Julius Härtl <[email protected]>
6
 *
7
 * @license GNU AGPL version 3 or any later version
8
 *
9
 *  This program is free software: you can redistribute it and/or modify
10
 *  it under the terms of the GNU Affero General Public License as
11
 *  published by the Free Software Foundation, either version 3 of the
12
 *  License, or (at your option) any later version.
13
 *
14
 *  This program is distributed in the hope that it will be useful,
15
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 *  GNU Affero General Public License for more details.
18
 *
19
 *  You should have received a copy of the GNU Affero General Public License
20
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 *
22
 */
23
24
namespace OCA\Deck\Db;
25
26
use JsonSerializable;
27
28
29
class Stack extends RelationalEntity implements JsonSerializable {
30
31
	public $id;
32
	protected $title;
33
	protected $boardId;
34
	protected $cards = array();
35
	protected $order;
36
37
	public function __construct() {
38
		$this->addType('id', 'integer');
39
		$this->addType('boardId', 'integer');
40
		$this->addType('order', 'integer');
41
	}
42
43
	public function setCards($cards) {
44
		$this->cards = $cards;
45
	}
46
47
	public function jsonSerialize() {
48
		if (!empty($this->cards)) {
49
			return [
50
				'id' => $this->id,
51
				'title' => $this->title,
52
				'order' => $this->order,
53
				'boardId' => $this->boardId,
54
				'cards' => $this->cards
55
			];
56
		}
57
		return [
58
			'id' => $this->id,
59
			'title' => $this->title,
60
			'order' => $this->order,
61
			'boardId' => $this->boardId
62
		];
63
	}
64
}