Completed
Push — master ( d49014...393727 )
by Vincenzo
02:54
created
api/database/migrations/CreateMatchPlayersTable.php 2 patches
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -5,22 +5,22 @@
 block discarded – undo
5 5
 
6 6
 class CreateMatchPlayersTable
7 7
 {
8
-    /**
9
-     * Run the migrations.
10
-     *
11
-     * @return void
12
-     */
13
-    public function run()
14
-    {
15
-        Capsule::schema()->dropIfExists('match_players');
16
-        Capsule::schema()->create('match_players', function (Blueprint $table) {
17
-            $table->increments('id');
18
-            $table->integer('match_id');
19
-            $table->integer('team_id');
20
-            $table->integer('player_id')->default(0);
21
-            $table->unsignedTinyInteger('goals')->default(0);
22
-            $table->unsignedTinyInteger('vote')->default(6);
23
-            $table->timestamps();
24
-        });
25
-    }
8
+	/**
9
+	 * Run the migrations.
10
+	 *
11
+	 * @return void
12
+	 */
13
+	public function run()
14
+	{
15
+		Capsule::schema()->dropIfExists('match_players');
16
+		Capsule::schema()->create('match_players', function (Blueprint $table) {
17
+			$table->increments('id');
18
+			$table->integer('match_id');
19
+			$table->integer('team_id');
20
+			$table->integer('player_id')->default(0);
21
+			$table->unsignedTinyInteger('goals')->default(0);
22
+			$table->unsignedTinyInteger('vote')->default(6);
23
+			$table->timestamps();
24
+		});
25
+	}
26 26
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -13,7 +13,7 @@
 block discarded – undo
13 13
     public function run()
14 14
     {
15 15
         Capsule::schema()->dropIfExists('match_players');
16
-        Capsule::schema()->create('match_players', function (Blueprint $table) {
16
+        Capsule::schema()->create('match_players', function(Blueprint $table) {
17 17
             $table->increments('id');
18 18
             $table->integer('match_id');
19 19
             $table->integer('team_id');
Please login to merge, or discard this patch.
api/tests/ModelsTest.php 1 patch
Indentation   +222 added lines, -222 removed lines patch added patch discarded remove patch
@@ -8,227 +8,227 @@
 block discarded – undo
8 8
 {
9 9
 
10 10
 
11
-    /**
12
-     * @group Player
13
-     */
14
-    public function testGetRandomPlayer()
15
-    {
16
-        $rndF = new \App\Lib\DsManager\Helpers\RandomFiller();
17
-        $player = $rndF->getPlayer(null, $rndF->getLocale());
18
-        $array = $player->toArray();
19
-        $this->assertNotEmpty($array);
20
-
21
-        $newPlayer = \App\Lib\DsManager\Models\Player::fromArray($array);
22
-        $this->assertNotEmpty($newPlayer->toArray());
23
-    }
24
-
25
-    /**
26
-     * @group Coach
27
-     */
28
-    public function testGetRandomCoach()
29
-    {
30
-        $rndF = new \App\Lib\DsManager\Helpers\RandomFiller();
31
-        $coach = $rndF->getCoach();
32
-        $this->assertNotEmpty($coach->toArray());
33
-    }
34
-
35
-    /**
36
-     * @group Coaches
37
-     */
38
-    public function testGetRandomCoaches()
39
-    {
40
-        foreach (\App\Lib\Helpers\Config::get('generic.localesSmall') as $nat) {
41
-            $rndF = new \App\Lib\DsManager\Helpers\RandomFiller($nat);
42
-            $coach = $rndF->getCoach();
43
-            $this->assertNotEmpty($coach->toArray());
44
-        }
45
-    }
46
-
47
-    /**
48
-     * @group Players
49
-     */
50
-    public function testGetRandomPlayers()
51
-    {
52
-        foreach (\App\Lib\Helpers\Config::get('generic.localesSmall') as $nat) {
53
-            $rndF = new \App\Lib\DsManager\Helpers\RandomFiller($nat);
54
-            $player = $rndF->getPlayer();
55
-            $this->assertNotEmpty($player->toArray());
56
-        }
57
-    }
58
-
59
-    /**
60
-     * @group Team
61
-     */
62
-    public function testGetRandomTeam()
63
-    {
64
-        $rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
65
-        $team = $rndF->getTeam();
66
-        $this->assertNotEmpty($team);
67
-        $this->assertNotEmpty($team->name);
68
-        $this->assertNotEmpty($team->getAvgSkill());
69
-
70
-        //After Adding a player
71
-        $player = $rndF->getPlayer();
72
-        $this->assertNotEmpty($player->toArray());
73
-        $team->roster[] = $player;
74
-        $this->assertNotEmpty($team->getAvgSkill());
75
-        $this->assertNotEmpty($team->getAvgAge());
76
-
77
-        $this->assertNotEmpty($team->coach->toArray());
78
-
79
-        $teamArray = $team->toArray();
80
-        $this->assertNotEmpty($teamArray);
81
-
82
-        $newTeam = \App\Lib\DsManager\Models\Team::fromArray($teamArray);
83
-        $this->assertNotEmpty($newTeam->toArray());
84
-
85
-    }
86
-
87
-    /**
88
-     * @group Teams
89
-     */
90
-    public function testGetRandomTeams()
91
-    {
92
-        $rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
93
-
94
-        for ($i = 1; $i <= 20; $i++) {
95
-            $team = $rndF->getTeam();
96
-            $this->assertGreaterThanOrEqual(
97
-                \App\Lib\Helpers\Config::get('generic.rosters')['min'],
98
-                count($team->roster)
99
-            );
100
-            $this->assertNotEmpty($team->name);
101
-            $this->assertNotEmpty($team->nationality);
102
-            $this->assertNotEmpty($team->getAvgSkill());
103
-            $this->assertNotEmpty($team->getAvgAge());
104
-        }
105
-    }
106
-
107
-    /**
108
-     * @group Match
109
-     */
110
-    public function testGetRandomMatch()
111
-    {
112
-        for ($i = 1; $i <= 30; $i++) {
113
-            $rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
114
-            $spanish = $rndF->getTeam();
115
-            $rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
116
-            $italian = $rndF->getTeam();
117
-            $this->assertNotEmpty($spanish);
118
-            $this->assertNotEmpty($italian);
119
-            $this->assertNotEmpty($italian->name);
120
-            $this->assertNotEmpty($spanish);
121
-            $this->assertNotEmpty($spanish->name);
122
-
123
-            $this->assertNotEmpty($italian->getAvgSkill());
124
-            $this->assertNotEmpty($spanish->getAvgSkill());
125
-            $result = (new \App\Lib\DsManager\Models\Match($italian, $spanish))->simulate()->toArray();
126
-            $this->assertNotEmpty($result);
127
-            $this->assertGreaterThanOrEqual(0, $result['goal_home']);
128
-            $this->assertGreaterThanOrEqual(0, $result['goal_away']);
129
-
130
-        }
131
-    }
132
-
133
-    /**
134
-     * @group Match
135
-     * @group MatchResult
136
-     * @group matchresultoutput
137
-     */
138
-    public function testMatchFromExistingTeams()
139
-    {
140
-        $teamHome = 1;
141
-        $teamAway = 2;
142
-        $homeOrm = \App\Lib\DsManager\Models\Orm\Team::with('roster', 'coach')->where(['id' => $teamHome])->first();
143
-        $awayOrm = \App\Lib\DsManager\Models\Orm\Team::with('roster', 'coach')->where(['id' => $teamAway])->first();
144
-        $home = \App\Lib\DsManager\Models\Team::fromArray($homeOrm->toArray());
145
-        $away = \App\Lib\DsManager\Models\Team::fromArray($awayOrm->toArray());
146
-
147
-        $match = new \App\Lib\DsManager\Models\Match($home, $away);
148
-        $result = $match->simulate()->toArray();
149
-        $this->assertNotEmpty($result);
150
-        $this->assertGreaterThanOrEqual(0, $result['goal_away']);
151
-        $this->assertGreaterThanOrEqual(0, $result['goal_home']);
152
-        if ($result['goal_home'] > 0) {
153
-            $this->assertNotEmpty($result['info']['scorers']['home']);
154
-            foreach ($result['info']['scorers']['home'] as $scorerHome) {
155
-                $this->assertEquals($scorerHome->team_id, $teamHome);
156
-            }
157
-        } else {
158
-            $this->assertEmpty($result['info']['scorers']['home']);
159
-        }
160
-        if ($result['goal_away'] > 0) {
161
-            $this->assertNotEmpty($result['info']['scorers']['away']);
162
-            foreach ($result['info']['scorers']['away'] as $scorerAway) {
163
-                $this->assertEquals($scorerAway->team_id, $teamAway);
164
-            }
165
-        } else {
166
-            $this->assertEmpty($result['info']['scorers']['away']);
167
-        }
168
-        if ($result['goal_home'] == $result['goal_away']) {
169
-            $this->assertTrue($result['info']['is_draw']);
170
-        } else {
171
-            $this->assertFalse($result['info']['is_draw']);
172
-        }
173
-    }
174
-
175
-    /**
176
-     * @group Matches
177
-     */
178
-    public function testGetRandomMatchesOneTeam()
179
-    {
180
-        $rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
181
-        $myTeam = $rndF->getTeam();
182
-        $myTeam->id = 1000;
183
-        $win = 0;
184
-        $lost = 0;
185
-        $draw = 0;
186
-
187
-        for ($i = 1; $i <= 2; $i++) {
188
-
189
-            $randomLocale = \App\Lib\Helpers\Config::get('generic.localesSmall');
190
-            shuffle($randomLocale);
191
-            $randomLocale = $randomLocale[0];
192
-            $rndF = new \App\Lib\DsManager\Helpers\RandomFiller($randomLocale);
193
-            $opponent = $rndF->getTeam();
194
-            $opponent->id = 6000;
195
-            $result = (new \App\Lib\DsManager\Models\Match($opponent, $myTeam))->simulate()->toArray();
196
-            $this->assertNotEmpty($result);
197
-            $result = $result['info'];
198
-            if (!$result['is_draw']) {
199
-                if ($result['winner_id'] == $myTeam->id) {
200
-                    $win++;
201
-                } else {
202
-                    $lost++;
203
-                }
204
-            } else {
205
-                $draw++;
206
-            }
207
-        }
208
-        $this->assertGreaterThanOrEqual(0, $win);
209
-        $this->assertGreaterThanOrEqual(0, $lost);
210
-        $this->assertGreaterThanOrEqual(0, $draw);
211
-    }
212
-
213
-    /**
214
-     * @group Module
215
-     */
216
-    public function testModule()
217
-    {
218
-        $rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
219
-        $team = $rndF->getTeam();
220
-
221
-        $modules = \App\Lib\Helpers\Config::get("modules.modules");
222
-        $modules = array_keys($modules);
223
-        foreach ($modules as $mod) {
224
-            $module = new \App\Lib\DsManager\Models\Module($mod);
225
-            $this->assertNotEmpty($module);
226
-            $this->assertNotNull($module->isDefensive());
227
-            $this->assertNotNull($module->isBalanced());
228
-            $this->assertNotNull($module->isOffensive());
229
-            $this->assertTrue(is_array($module->getRoleNeeded()));
230
-        }
231
-        $this->assertGreaterThan(0, $team->playersPerRoleArray());
232
-    }
11
+	/**
12
+	 * @group Player
13
+	 */
14
+	public function testGetRandomPlayer()
15
+	{
16
+		$rndF = new \App\Lib\DsManager\Helpers\RandomFiller();
17
+		$player = $rndF->getPlayer(null, $rndF->getLocale());
18
+		$array = $player->toArray();
19
+		$this->assertNotEmpty($array);
20
+
21
+		$newPlayer = \App\Lib\DsManager\Models\Player::fromArray($array);
22
+		$this->assertNotEmpty($newPlayer->toArray());
23
+	}
24
+
25
+	/**
26
+	 * @group Coach
27
+	 */
28
+	public function testGetRandomCoach()
29
+	{
30
+		$rndF = new \App\Lib\DsManager\Helpers\RandomFiller();
31
+		$coach = $rndF->getCoach();
32
+		$this->assertNotEmpty($coach->toArray());
33
+	}
34
+
35
+	/**
36
+	 * @group Coaches
37
+	 */
38
+	public function testGetRandomCoaches()
39
+	{
40
+		foreach (\App\Lib\Helpers\Config::get('generic.localesSmall') as $nat) {
41
+			$rndF = new \App\Lib\DsManager\Helpers\RandomFiller($nat);
42
+			$coach = $rndF->getCoach();
43
+			$this->assertNotEmpty($coach->toArray());
44
+		}
45
+	}
46
+
47
+	/**
48
+	 * @group Players
49
+	 */
50
+	public function testGetRandomPlayers()
51
+	{
52
+		foreach (\App\Lib\Helpers\Config::get('generic.localesSmall') as $nat) {
53
+			$rndF = new \App\Lib\DsManager\Helpers\RandomFiller($nat);
54
+			$player = $rndF->getPlayer();
55
+			$this->assertNotEmpty($player->toArray());
56
+		}
57
+	}
58
+
59
+	/**
60
+	 * @group Team
61
+	 */
62
+	public function testGetRandomTeam()
63
+	{
64
+		$rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
65
+		$team = $rndF->getTeam();
66
+		$this->assertNotEmpty($team);
67
+		$this->assertNotEmpty($team->name);
68
+		$this->assertNotEmpty($team->getAvgSkill());
69
+
70
+		//After Adding a player
71
+		$player = $rndF->getPlayer();
72
+		$this->assertNotEmpty($player->toArray());
73
+		$team->roster[] = $player;
74
+		$this->assertNotEmpty($team->getAvgSkill());
75
+		$this->assertNotEmpty($team->getAvgAge());
76
+
77
+		$this->assertNotEmpty($team->coach->toArray());
78
+
79
+		$teamArray = $team->toArray();
80
+		$this->assertNotEmpty($teamArray);
81
+
82
+		$newTeam = \App\Lib\DsManager\Models\Team::fromArray($teamArray);
83
+		$this->assertNotEmpty($newTeam->toArray());
84
+
85
+	}
86
+
87
+	/**
88
+	 * @group Teams
89
+	 */
90
+	public function testGetRandomTeams()
91
+	{
92
+		$rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
93
+
94
+		for ($i = 1; $i <= 20; $i++) {
95
+			$team = $rndF->getTeam();
96
+			$this->assertGreaterThanOrEqual(
97
+				\App\Lib\Helpers\Config::get('generic.rosters')['min'],
98
+				count($team->roster)
99
+			);
100
+			$this->assertNotEmpty($team->name);
101
+			$this->assertNotEmpty($team->nationality);
102
+			$this->assertNotEmpty($team->getAvgSkill());
103
+			$this->assertNotEmpty($team->getAvgAge());
104
+		}
105
+	}
106
+
107
+	/**
108
+	 * @group Match
109
+	 */
110
+	public function testGetRandomMatch()
111
+	{
112
+		for ($i = 1; $i <= 30; $i++) {
113
+			$rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
114
+			$spanish = $rndF->getTeam();
115
+			$rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
116
+			$italian = $rndF->getTeam();
117
+			$this->assertNotEmpty($spanish);
118
+			$this->assertNotEmpty($italian);
119
+			$this->assertNotEmpty($italian->name);
120
+			$this->assertNotEmpty($spanish);
121
+			$this->assertNotEmpty($spanish->name);
122
+
123
+			$this->assertNotEmpty($italian->getAvgSkill());
124
+			$this->assertNotEmpty($spanish->getAvgSkill());
125
+			$result = (new \App\Lib\DsManager\Models\Match($italian, $spanish))->simulate()->toArray();
126
+			$this->assertNotEmpty($result);
127
+			$this->assertGreaterThanOrEqual(0, $result['goal_home']);
128
+			$this->assertGreaterThanOrEqual(0, $result['goal_away']);
129
+
130
+		}
131
+	}
132
+
133
+	/**
134
+	 * @group Match
135
+	 * @group MatchResult
136
+	 * @group matchresultoutput
137
+	 */
138
+	public function testMatchFromExistingTeams()
139
+	{
140
+		$teamHome = 1;
141
+		$teamAway = 2;
142
+		$homeOrm = \App\Lib\DsManager\Models\Orm\Team::with('roster', 'coach')->where(['id' => $teamHome])->first();
143
+		$awayOrm = \App\Lib\DsManager\Models\Orm\Team::with('roster', 'coach')->where(['id' => $teamAway])->first();
144
+		$home = \App\Lib\DsManager\Models\Team::fromArray($homeOrm->toArray());
145
+		$away = \App\Lib\DsManager\Models\Team::fromArray($awayOrm->toArray());
146
+
147
+		$match = new \App\Lib\DsManager\Models\Match($home, $away);
148
+		$result = $match->simulate()->toArray();
149
+		$this->assertNotEmpty($result);
150
+		$this->assertGreaterThanOrEqual(0, $result['goal_away']);
151
+		$this->assertGreaterThanOrEqual(0, $result['goal_home']);
152
+		if ($result['goal_home'] > 0) {
153
+			$this->assertNotEmpty($result['info']['scorers']['home']);
154
+			foreach ($result['info']['scorers']['home'] as $scorerHome) {
155
+				$this->assertEquals($scorerHome->team_id, $teamHome);
156
+			}
157
+		} else {
158
+			$this->assertEmpty($result['info']['scorers']['home']);
159
+		}
160
+		if ($result['goal_away'] > 0) {
161
+			$this->assertNotEmpty($result['info']['scorers']['away']);
162
+			foreach ($result['info']['scorers']['away'] as $scorerAway) {
163
+				$this->assertEquals($scorerAway->team_id, $teamAway);
164
+			}
165
+		} else {
166
+			$this->assertEmpty($result['info']['scorers']['away']);
167
+		}
168
+		if ($result['goal_home'] == $result['goal_away']) {
169
+			$this->assertTrue($result['info']['is_draw']);
170
+		} else {
171
+			$this->assertFalse($result['info']['is_draw']);
172
+		}
173
+	}
174
+
175
+	/**
176
+	 * @group Matches
177
+	 */
178
+	public function testGetRandomMatchesOneTeam()
179
+	{
180
+		$rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
181
+		$myTeam = $rndF->getTeam();
182
+		$myTeam->id = 1000;
183
+		$win = 0;
184
+		$lost = 0;
185
+		$draw = 0;
186
+
187
+		for ($i = 1; $i <= 2; $i++) {
188
+
189
+			$randomLocale = \App\Lib\Helpers\Config::get('generic.localesSmall');
190
+			shuffle($randomLocale);
191
+			$randomLocale = $randomLocale[0];
192
+			$rndF = new \App\Lib\DsManager\Helpers\RandomFiller($randomLocale);
193
+			$opponent = $rndF->getTeam();
194
+			$opponent->id = 6000;
195
+			$result = (new \App\Lib\DsManager\Models\Match($opponent, $myTeam))->simulate()->toArray();
196
+			$this->assertNotEmpty($result);
197
+			$result = $result['info'];
198
+			if (!$result['is_draw']) {
199
+				if ($result['winner_id'] == $myTeam->id) {
200
+					$win++;
201
+				} else {
202
+					$lost++;
203
+				}
204
+			} else {
205
+				$draw++;
206
+			}
207
+		}
208
+		$this->assertGreaterThanOrEqual(0, $win);
209
+		$this->assertGreaterThanOrEqual(0, $lost);
210
+		$this->assertGreaterThanOrEqual(0, $draw);
211
+	}
212
+
213
+	/**
214
+	 * @group Module
215
+	 */
216
+	public function testModule()
217
+	{
218
+		$rndF = new \App\Lib\DsManager\Helpers\RandomFiller("it_IT");
219
+		$team = $rndF->getTeam();
220
+
221
+		$modules = \App\Lib\Helpers\Config::get("modules.modules");
222
+		$modules = array_keys($modules);
223
+		foreach ($modules as $mod) {
224
+			$module = new \App\Lib\DsManager\Models\Module($mod);
225
+			$this->assertNotEmpty($module);
226
+			$this->assertNotNull($module->isDefensive());
227
+			$this->assertNotNull($module->isBalanced());
228
+			$this->assertNotNull($module->isOffensive());
229
+			$this->assertTrue(is_array($module->getRoleNeeded()));
230
+		}
231
+		$this->assertGreaterThan(0, $team->playersPerRoleArray());
232
+	}
233 233
 
234 234
 }
Please login to merge, or discard this patch.
api/Lib/DsManager/Helpers/Randomizer.php 1 patch
Indentation   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -10,22 +10,22 @@
 block discarded – undo
10 10
  */
11 11
 class Randomizer
12 12
 {
13
-    /**
14
-     * @param $percentage
15
-     * @return bool
16
-     */
17
-    public static function boolOnPercentage($percentage)
18
-    {
19
-        return (rand(0, 100) < $percentage);
20
-    }
13
+	/**
14
+	 * @param $percentage
15
+	 * @return bool
16
+	 */
17
+	public static function boolOnPercentage($percentage)
18
+	{
19
+		return (rand(0, 100) < $percentage);
20
+	}
21 21
 
22
-    /**
23
-     * @param $skill
24
-     * @return int
25
-     */
26
-    public static function voteFromSkill($skill)
27
-    {
28
-        return rand((2 * ($skill - 100) / 25), 10);
29
-    }
22
+	/**
23
+	 * @param $skill
24
+	 * @return int
25
+	 */
26
+	public static function voteFromSkill($skill)
27
+	{
28
+		return rand((2 * ($skill - 100) / 25), 10);
29
+	}
30 30
 
31 31
 }
32 32
\ No newline at end of file
Please login to merge, or discard this patch.
api/Lib/DsManager/Models/Orm/MatchResult.php 1 patch
Indentation   +105 added lines, -105 removed lines patch added patch discarded remove patch
@@ -9,118 +9,118 @@
 block discarded – undo
9 9
  */
10 10
 class MatchResult extends Match
11 11
 {
12
-    /**
13
-     * @var array
14
-     */
15
-    protected $fillable = [
16
-        'goal_home',
17
-        'goal_away',
18
-        'info',
19
-        'simulated'
20
-    ];
12
+	/**
13
+	 * @var array
14
+	 */
15
+	protected $fillable = [
16
+		'goal_home',
17
+		'goal_away',
18
+		'info',
19
+		'simulated'
20
+	];
21 21
 
22
-    protected $hidden = [
23
-        'home_team_id',
24
-        'away_team_id',
25
-        'created_at',
26
-        'updated_at'
27
-    ];
22
+	protected $hidden = [
23
+		'home_team_id',
24
+		'away_team_id',
25
+		'created_at',
26
+		'updated_at'
27
+	];
28 28
 
29
-    /**
30
-     * @var array
31
-     */
32
-    protected $casts = [
33
-        'info' => 'json',
34
-        'simulated' => 'boolean'
35
-    ];
29
+	/**
30
+	 * @var array
31
+	 */
32
+	protected $casts = [
33
+		'info' => 'json',
34
+		'simulated' => 'boolean'
35
+	];
36 36
 
37
-    public static function resolveAttributes(array $attributes, $matchId)
38
-    {
39
-        self::generateAppearances(
40
-            [
41
-                $attributes['home_team_id'],
42
-                $attributes['away_team_id']
43
-            ],
44
-            $matchId
45
-        );
46
-        if (array_key_exists('info', $attributes)) {
47
-            if (array_key_exists('scorers', $attributes['info'])) {
48
-                foreach ($attributes['info']['scorers']['home'] as $scorerHome) {
49
-                    self::addScorer($matchId, $attributes['home_team_id'], $scorerHome->id);
50
-                }
51
-                foreach ($attributes['info']['scorers']['away'] as $scorerAway) {
52
-                    self::addScorer($matchId, $attributes['away_team_id'], $scorerAway->id);
53
-                }
54
-                unset($attributes['info']['scorers']);
55
-            }
56
-            $attributes['info'] = json_encode($attributes['info']);
57
-        }
58
-        return $attributes;
59
-    }
37
+	public static function resolveAttributes(array $attributes, $matchId)
38
+	{
39
+		self::generateAppearances(
40
+			[
41
+				$attributes['home_team_id'],
42
+				$attributes['away_team_id']
43
+			],
44
+			$matchId
45
+		);
46
+		if (array_key_exists('info', $attributes)) {
47
+			if (array_key_exists('scorers', $attributes['info'])) {
48
+				foreach ($attributes['info']['scorers']['home'] as $scorerHome) {
49
+					self::addScorer($matchId, $attributes['home_team_id'], $scorerHome->id);
50
+				}
51
+				foreach ($attributes['info']['scorers']['away'] as $scorerAway) {
52
+					self::addScorer($matchId, $attributes['away_team_id'], $scorerAway->id);
53
+				}
54
+				unset($attributes['info']['scorers']);
55
+			}
56
+			$attributes['info'] = json_encode($attributes['info']);
57
+		}
58
+		return $attributes;
59
+	}
60 60
 
61
-    private static function addScorer($matchId, $teamId, $playerId)
62
-    {
63
-        $scorer = MatchPlayer::where(
64
-            [
65
-                'match_id' => $matchId,
66
-                'team_id' => $teamId,
67
-                'player_id' => $playerId
68
-            ]
69
-        )->first();
70
-        if (!empty($scorer)) {
71
-            $scorer->goals = $scorer->goals + 1;
72
-            $scorer->vote = $scorer->vote <= 9 ? $scorer->vote + rand(0, 1) : $scorer->vote;
73
-            $scorer->save();
74
-        } else {
75
-            MatchPlayer::create(
76
-                [
77
-                    'match_id' => $matchId,
78
-                    'team_id' => $teamId,
79
-                    'player_id' => $playerId,
80
-                    'goals' => 1
81
-                ]
82
-            );
83
-        }
84
-    }
61
+	private static function addScorer($matchId, $teamId, $playerId)
62
+	{
63
+		$scorer = MatchPlayer::where(
64
+			[
65
+				'match_id' => $matchId,
66
+				'team_id' => $teamId,
67
+				'player_id' => $playerId
68
+			]
69
+		)->first();
70
+		if (!empty($scorer)) {
71
+			$scorer->goals = $scorer->goals + 1;
72
+			$scorer->vote = $scorer->vote <= 9 ? $scorer->vote + rand(0, 1) : $scorer->vote;
73
+			$scorer->save();
74
+		} else {
75
+			MatchPlayer::create(
76
+				[
77
+					'match_id' => $matchId,
78
+					'team_id' => $teamId,
79
+					'player_id' => $playerId,
80
+					'goals' => 1
81
+				]
82
+			);
83
+		}
84
+	}
85 85
 
86
-    private static function generateAppearances(
87
-        $teamIds,
88
-        $matchId
89
-    )
90
-    {
91
-        foreach ($teamIds as $id) {
92
-            $players = Player::where('team_id', $id)->get()->random(11);
93
-            foreach ($players as $player) {
94
-                MatchPlayer::create(
95
-                    [
96
-                        'match_id' => $matchId,
97
-                        'team_id' => $id,
98
-                        'player_id' => $player->id,
99
-                        'vote' => Randomizer::voteFromSkill($player->skillAvg)
100
-                    ]
101
-                );
102
-            }
103
-        }
104
-    }
86
+	private static function generateAppearances(
87
+		$teamIds,
88
+		$matchId
89
+	)
90
+	{
91
+		foreach ($teamIds as $id) {
92
+			$players = Player::where('team_id', $id)->get()->random(11);
93
+			foreach ($players as $player) {
94
+				MatchPlayer::create(
95
+					[
96
+						'match_id' => $matchId,
97
+						'team_id' => $id,
98
+						'player_id' => $player->id,
99
+						'vote' => Randomizer::voteFromSkill($player->skillAvg)
100
+					]
101
+				);
102
+			}
103
+		}
104
+	}
105 105
 
106
-    public function scorers()
107
-    {
108
-        return $this->belongsToMany(
109
-            Player::class,
110
-            'match_players',
111
-            'match_id'
112
-        )->withPivot(
113
-            'team_id',
114
-            'goals'
115
-        )->where(
116
-            'goals', '>', 0
117
-        );
118
-    }
106
+	public function scorers()
107
+	{
108
+		return $this->belongsToMany(
109
+			Player::class,
110
+			'match_players',
111
+			'match_id'
112
+		)->withPivot(
113
+			'team_id',
114
+			'goals'
115
+		)->where(
116
+			'goals', '>', 0
117
+		);
118
+	}
119 119
 
120
-    public function scopeComplete($query)
121
-    {
122
-        return parent::scopeComplete($query)->with('scorers');
123
-    }
120
+	public function scopeComplete($query)
121
+	{
122
+		return parent::scopeComplete($query)->with('scorers');
123
+	}
124 124
 
125 125
 
126 126
 }
127 127
\ No newline at end of file
Please login to merge, or discard this patch.
api/Lib/DsManager/Models/Orm/Player.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -9,70 +9,70 @@
 block discarded – undo
9 9
 class Player extends DsManagerOrm
10 10
 {
11 11
 
12
-    /**
13
-     * @var string
14
-     */
15
-    protected $table = 'players';
12
+	/**
13
+	 * @var string
14
+	 */
15
+	protected $table = 'players';
16 16
 
17
-    /**
18
-     * @var array
19
-     */
20
-    protected $fillable = [
21
-        'name',
22
-        'surname',
23
-        'age',
24
-        'nationality',
25
-        'skillAvg',
26
-        'wageReq',
27
-        'val',
28
-        'role',
29
-        'team_id'
30
-    ];
17
+	/**
18
+	 * @var array
19
+	 */
20
+	protected $fillable = [
21
+		'name',
22
+		'surname',
23
+		'age',
24
+		'nationality',
25
+		'skillAvg',
26
+		'wageReq',
27
+		'val',
28
+		'role',
29
+		'team_id'
30
+	];
31 31
 
32
-    /**
33
-     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
34
-     */
35
-    public function team()
36
-    {
37
-        return $this->belongsTo(Team::class);
38
-    }
32
+	/**
33
+	 * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
34
+	 */
35
+	public function team()
36
+	{
37
+		return $this->belongsTo(Team::class);
38
+	}
39 39
 
40
-    public function lastMatches()
41
-    {
42
-        return $this->hasMany(MatchPlayer::class)
43
-            ->orderBy('updated_at', 'DESC')
44
-            ->limit(5);
45
-    }
40
+	public function lastMatches()
41
+	{
42
+		return $this->hasMany(MatchPlayer::class)
43
+			->orderBy('updated_at', 'DESC')
44
+			->limit(5);
45
+	}
46 46
 
47
-    public function goals()
48
-    {
49
-        return $this->hasOne(MatchPlayer::class)
50
-            ->selectRaw('player_id, sum(goals) as count')
51
-            ->groupBy('player_id');
52
-    }
47
+	public function goals()
48
+	{
49
+		return $this->hasOne(MatchPlayer::class)
50
+			->selectRaw('player_id, sum(goals) as count')
51
+			->groupBy('player_id');
52
+	}
53 53
 
54
-    public function appearances()
55
-    {
56
-        return $this->hasOne(MatchPlayer::class)
57
-            ->selectRaw('player_id, count(match_id) as count')
58
-            ->groupBy('player_id');
59
-    }
54
+	public function appearances()
55
+	{
56
+		return $this->hasOne(MatchPlayer::class)
57
+			->selectRaw('player_id, count(match_id) as count')
58
+			->groupBy('player_id');
59
+	}
60 60
 
61
-    public function avg()
62
-    {
63
-        return $this->hasOne(MatchPlayer::class)
64
-            ->selectRaw('player_id, round(avg(vote),2) as avg')
65
-            ->groupBy('player_id');
66
-    }
61
+	public function avg()
62
+	{
63
+		return $this->hasOne(MatchPlayer::class)
64
+			->selectRaw('player_id, round(avg(vote),2) as avg')
65
+			->groupBy('player_id');
66
+	}
67 67
 
68
-    public function scopeStatistics($query)
69
-    {
70
-        return $query->with(
71
-            'goals',
72
-            'appearances',
73
-            'avg',
74
-            'lastMatches',
75
-            'team'
76
-        );
77
-    }
68
+	public function scopeStatistics($query)
69
+	{
70
+		return $query->with(
71
+			'goals',
72
+			'appearances',
73
+			'avg',
74
+			'lastMatches',
75
+			'team'
76
+		);
77
+	}
78 78
 }
79 79
\ No newline at end of file
Please login to merge, or discard this patch.