generated from worksome/package-skeleton-laravel
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCVDetail.php
99 lines (86 loc) · 2.08 KB
/
CVDetail.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
declare(strict_types=1);
namespace Worksome\Ceevee\Support;
final class CVDetail
{
/**
* @param array<int, Skill> $skills
* @param array<int, Link> $links
* @param array<int, Education> $education
* @param array<int, Employment> $employmentHistory
* @param array<int, Language> $languagesSpoken
*/
public function __construct(
private array $skills,
private int|null $monthsOfExperience,
private string|null $summary,
private array $links,
private string|null $profilePicture,
private array $education,
private ContactInformation $contactInformation,
private array $employmentHistory,
private array $languagesSpoken,
private mixed $rawResponse = null,
) {
}
public function monthsOfExperience(): int|null
{
return $this->monthsOfExperience;
}
public function summary(): string|null
{
return $this->summary;
}
/**
* @return array<int, Skill>
*/
public function skills(): array
{
return $this->skills;
}
/**
* @return array<int, Link>
*/
public function links(): array
{
return $this->links;
}
/**
* The profile picture of the applicant, if one
* has been provided, as a base 64 encoded
* string.
*/
public function profilePicture(): string|null
{
return $this->profilePicture;
}
/**
* @return array<int, Education>
*/
public function education(): array
{
return $this->education;
}
public function contactInformation(): ContactInformation
{
return $this->contactInformation;
}
/**
* @return array<int, Employment>
*/
public function employmentHistory(): array
{
return $this->employmentHistory;
}
/**
* @return array<int, Language>
*/
public function languagesSpoken(): array
{
return $this->languagesSpoken;
}
public function fullResponse(): mixed
{
return $this->rawResponse;
}
}