-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathScoritoFormatter.php
69 lines (57 loc) · 1.58 KB
/
ScoritoFormatter.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
declare(strict_types = 1);
class ScoritoFormatter
{
public static function formatQualities(array $rider): array
{
$map = [
0 => 'Scorito GC',
1 => 'Scorito Climb',
2 => 'Scorito Time trial',
3 => 'Scorito Sprint',
4 => 'Scorito Punch',
5 => 'Scorito Hill',
6 => 'Scorito Cobbles',
];
$qualities = $rider['Qualities'];
unset($rider['Qualities']);
$rider = array_merge($rider, array_fill_keys($map, 0));
foreach ($qualities as $quality) {
$rider[$map[$quality['Type']]] = $quality['Value'];
}
return $rider;
}
public static function formatType(array $rider): array
{
$mapping = [
0 => 'Other',
1 => 'GC',
2 => 'Climber',
3 => 'TT',
4 => 'Sprinter',
5 => 'Attacker',
6 => 'Support',
7 => 'Cobbles',
8 => 'Hills',
];
$rider['Type'] = $mapping[$rider['Type']];
return $rider;
}
public static function formatTeam(array $rider, array $teams): array
{
foreach ($teams as $team) {
if ($team['Id'] === $rider['TeamId']) {
$rider['Team'] = $team['Name'];
}
}
return $rider;
}
public static function filterColumns(array $rider): array
{
unset($rider['EventRiderId']);
unset($rider['Status']);
unset($rider['TeamId']);
unset($rider['RiderId']);
return $rider;
}
}