stackone_client 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (224) hide show
  1. checksums.yaml +7 -0
  2. data/lib/stackone/accounts.rb +224 -0
  3. data/lib/stackone/ats.rb +1289 -0
  4. data/lib/stackone/connect_sessions.rb +100 -0
  5. data/lib/stackone/connectors.rb +98 -0
  6. data/lib/stackone/crm.rb +323 -0
  7. data/lib/stackone/hris.rb +682 -0
  8. data/lib/stackone/marketing.rb +584 -0
  9. data/lib/stackone/models/operations/ats_create_application.rb +53 -0
  10. data/lib/stackone/models/operations/ats_create_candidate.rb +53 -0
  11. data/lib/stackone/models/operations/ats_create_candidate_note.rb +56 -0
  12. data/lib/stackone/models/operations/ats_create_offer.rb +53 -0
  13. data/lib/stackone/models/operations/ats_get_application.rb +88 -0
  14. data/lib/stackone/models/operations/ats_get_application_offer.rb +91 -0
  15. data/lib/stackone/models/operations/ats_get_application_scorecard.rb +91 -0
  16. data/lib/stackone/models/operations/ats_get_candidate.rb +88 -0
  17. data/lib/stackone/models/operations/ats_get_candidate_note.rb +91 -0
  18. data/lib/stackone/models/operations/ats_get_department.rb +88 -0
  19. data/lib/stackone/models/operations/ats_get_interview.rb +88 -0
  20. data/lib/stackone/models/operations/ats_get_interview_stage.rb +88 -0
  21. data/lib/stackone/models/operations/ats_get_job.rb +88 -0
  22. data/lib/stackone/models/operations/ats_get_job_posting.rb +91 -0
  23. data/lib/stackone/models/operations/ats_get_location.rb +88 -0
  24. data/lib/stackone/models/operations/ats_get_offer.rb +88 -0
  25. data/lib/stackone/models/operations/ats_get_rejected_reason.rb +88 -0
  26. data/lib/stackone/models/operations/ats_get_user.rb +88 -0
  27. data/lib/stackone/models/operations/ats_list_application_scorecards.rb +88 -0
  28. data/lib/stackone/models/operations/ats_list_applications.rb +85 -0
  29. data/lib/stackone/models/operations/ats_list_applications_offers.rb +88 -0
  30. data/lib/stackone/models/operations/ats_list_candidate_notes.rb +88 -0
  31. data/lib/stackone/models/operations/ats_list_candidates.rb +85 -0
  32. data/lib/stackone/models/operations/ats_list_departments.rb +85 -0
  33. data/lib/stackone/models/operations/ats_list_interview_stages.rb +85 -0
  34. data/lib/stackone/models/operations/ats_list_interviews.rb +85 -0
  35. data/lib/stackone/models/operations/ats_list_job_postings.rb +88 -0
  36. data/lib/stackone/models/operations/ats_list_jobs.rb +85 -0
  37. data/lib/stackone/models/operations/ats_list_locations.rb +85 -0
  38. data/lib/stackone/models/operations/ats_list_offers.rb +85 -0
  39. data/lib/stackone/models/operations/ats_list_rejected_reasons.rb +85 -0
  40. data/lib/stackone/models/operations/ats_list_users.rb +85 -0
  41. data/lib/stackone/models/operations/ats_update_application.rb +56 -0
  42. data/lib/stackone/models/operations/ats_update_candidate.rb +56 -0
  43. data/lib/stackone/models/operations/crm_create_contact.rb +53 -0
  44. data/lib/stackone/models/operations/crm_get_account.rb +88 -0
  45. data/lib/stackone/models/operations/crm_get_contact.rb +88 -0
  46. data/lib/stackone/models/operations/crm_get_list.rb +88 -0
  47. data/lib/stackone/models/operations/crm_list_accounts.rb +85 -0
  48. data/lib/stackone/models/operations/crm_list_contacts.rb +85 -0
  49. data/lib/stackone/models/operations/crm_list_lists.rb +85 -0
  50. data/lib/stackone/models/operations/crm_update_contact.rb +56 -0
  51. data/lib/stackone/models/operations/hris_create_employee.rb +53 -0
  52. data/lib/stackone/models/operations/hris_create_employee_time_off_request.rb +56 -0
  53. data/lib/stackone/models/operations/hris_create_time_off_request.rb +53 -0
  54. data/lib/stackone/models/operations/hris_get_company.rb +88 -0
  55. data/lib/stackone/models/operations/hris_get_employee.rb +94 -0
  56. data/lib/stackone/models/operations/hris_get_employees_time_off_request.rb +91 -0
  57. data/lib/stackone/models/operations/hris_get_employment.rb +88 -0
  58. data/lib/stackone/models/operations/hris_get_location.rb +88 -0
  59. data/lib/stackone/models/operations/hris_get_time_off_request.rb +88 -0
  60. data/lib/stackone/models/operations/hris_list_companies.rb +85 -0
  61. data/lib/stackone/models/operations/hris_list_employee_time_off_requests.rb +88 -0
  62. data/lib/stackone/models/operations/hris_list_employees.rb +91 -0
  63. data/lib/stackone/models/operations/hris_list_employments.rb +85 -0
  64. data/lib/stackone/models/operations/hris_list_locations.rb +85 -0
  65. data/lib/stackone/models/operations/hris_list_time_off_requests.rb +85 -0
  66. data/lib/stackone/models/operations/hris_update_employee.rb +56 -0
  67. data/lib/stackone/models/operations/hris_update_time_off_request.rb +56 -0
  68. data/lib/stackone/models/operations/marketing_create_email_template.rb +53 -0
  69. data/lib/stackone/models/operations/marketing_create_omni_channel_template.rb +53 -0
  70. data/lib/stackone/models/operations/marketing_create_push_template.rb +53 -0
  71. data/lib/stackone/models/operations/marketing_get_campaign.rb +88 -0
  72. data/lib/stackone/models/operations/marketing_get_email_template.rb +88 -0
  73. data/lib/stackone/models/operations/marketing_get_omni_channel_template.rb +88 -0
  74. data/lib/stackone/models/operations/marketing_get_push_template.rb +88 -0
  75. data/lib/stackone/models/operations/marketing_list_campaigns.rb +85 -0
  76. data/lib/stackone/models/operations/marketing_list_email_templates.rb +85 -0
  77. data/lib/stackone/models/operations/marketing_list_omni_channel_templates.rb +85 -0
  78. data/lib/stackone/models/operations/marketing_list_push_templates.rb +85 -0
  79. data/lib/stackone/models/operations/marketing_update_email_template.rb +56 -0
  80. data/lib/stackone/models/operations/marketing_update_omni_channel_template.rb +56 -0
  81. data/lib/stackone/models/operations/marketing_update_push_template.rb +56 -0
  82. data/lib/stackone/models/operations/stackone_authenticate_connect_session.rb +35 -0
  83. data/lib/stackone/models/operations/stackone_create_connect_session.rb +35 -0
  84. data/lib/stackone/models/operations/stackone_delete_account.rb +49 -0
  85. data/lib/stackone/models/operations/stackone_get_account.rb +49 -0
  86. data/lib/stackone/models/operations/stackone_get_account_meta_info.rb +49 -0
  87. data/lib/stackone/models/operations/stackone_get_connector_meta.rb +52 -0
  88. data/lib/stackone/models/operations/stackone_list_connectors_meta.rb +48 -0
  89. data/lib/stackone/models/operations/stackone_list_linked_accounts.rb +51 -0
  90. data/lib/stackone/models/operations/stackone_proxy_request.rb +49 -0
  91. data/lib/stackone/models/operations/stackone_update_account.rb +53 -0
  92. data/lib/stackone/models/shared/account.rb +55 -0
  93. data/lib/stackone/models/shared/accountaddress.rb +342 -0
  94. data/lib/stackone/models/shared/accountresult.rb +29 -0
  95. data/lib/stackone/models/shared/accountspaginated.rb +34 -0
  96. data/lib/stackone/models/shared/answer.rb +64 -0
  97. data/lib/stackone/models/shared/application.rb +75 -0
  98. data/lib/stackone/models/shared/applicationattachment.rb +63 -0
  99. data/lib/stackone/models/shared/applicationcandidate.rb +31 -0
  100. data/lib/stackone/models/shared/applicationresult.rb +29 -0
  101. data/lib/stackone/models/shared/applicationspaginated.rb +34 -0
  102. data/lib/stackone/models/shared/applicationstatusenumapimodel.rb +50 -0
  103. data/lib/stackone/models/shared/atscreateapplicationrequestdto.rb +45 -0
  104. data/lib/stackone/models/shared/atscreatecandidaterequestdto.rb +46 -0
  105. data/lib/stackone/models/shared/atscreatenotesrequestdto.rb +57 -0
  106. data/lib/stackone/models/shared/atscreateofferrequestdto.rb +41 -0
  107. data/lib/stackone/models/shared/atslocation.rb +28 -0
  108. data/lib/stackone/models/shared/atslocationresult.rb +29 -0
  109. data/lib/stackone/models/shared/atslocationspaginated.rb +34 -0
  110. data/lib/stackone/models/shared/atsupdateapplicationrequestdto.rb +48 -0
  111. data/lib/stackone/models/shared/atsupdatecandidatesrequestdto.rb +49 -0
  112. data/lib/stackone/models/shared/attachmenttype.rb +40 -0
  113. data/lib/stackone/models/shared/campaign.rb +120 -0
  114. data/lib/stackone/models/shared/campaignresult.rb +29 -0
  115. data/lib/stackone/models/shared/campaignspaginated.rb +34 -0
  116. data/lib/stackone/models/shared/candidate.rb +64 -0
  117. data/lib/stackone/models/shared/candidateemail.rb +28 -0
  118. data/lib/stackone/models/shared/candidateresult.rb +29 -0
  119. data/lib/stackone/models/shared/candidatespaginated.rb +34 -0
  120. data/lib/stackone/models/shared/channelsenum.rb +42 -0
  121. data/lib/stackone/models/shared/companiespaginated.rb +34 -0
  122. data/lib/stackone/models/shared/company.rb +37 -0
  123. data/lib/stackone/models/shared/companyresult.rb +29 -0
  124. data/lib/stackone/models/shared/compensation.rb +149 -0
  125. data/lib/stackone/models/shared/connectorsmeta.rb +73 -0
  126. data/lib/stackone/models/shared/connectsession.rb +68 -0
  127. data/lib/stackone/models/shared/connectsessionauthenticate.rb +25 -0
  128. data/lib/stackone/models/shared/connectsessioncreate.rb +72 -0
  129. data/lib/stackone/models/shared/connectsessiontoken.rb +71 -0
  130. data/lib/stackone/models/shared/contact.rb +52 -0
  131. data/lib/stackone/models/shared/contactresult.rb +29 -0
  132. data/lib/stackone/models/shared/contactspaginated.rb +34 -0
  133. data/lib/stackone/models/shared/countrycodeenum.rb +284 -0
  134. data/lib/stackone/models/shared/createcandidatenoteresult.rb +31 -0
  135. data/lib/stackone/models/shared/createemployeeresult.rb +31 -0
  136. data/lib/stackone/models/shared/createofferresult.rb +31 -0
  137. data/lib/stackone/models/shared/createresult.rb +31 -0
  138. data/lib/stackone/models/shared/createtemplateresult.rb +31 -0
  139. data/lib/stackone/models/shared/createtimeoffresult.rb +31 -0
  140. data/lib/stackone/models/shared/crmcreatecontactrequestdto.rb +43 -0
  141. data/lib/stackone/models/shared/department.rb +28 -0
  142. data/lib/stackone/models/shared/departmentresult.rb +29 -0
  143. data/lib/stackone/models/shared/departmentspaginated.rb +34 -0
  144. data/lib/stackone/models/shared/emailmessages.rb +93 -0
  145. data/lib/stackone/models/shared/employee.rb +1035 -0
  146. data/lib/stackone/models/shared/employeecustomfields.rb +83 -0
  147. data/lib/stackone/models/shared/employeeresult.rb +29 -0
  148. data/lib/stackone/models/shared/employeespaginated.rb +34 -0
  149. data/lib/stackone/models/shared/employment.rb +191 -0
  150. data/lib/stackone/models/shared/employmentresult.rb +29 -0
  151. data/lib/stackone/models/shared/employmentspaginated.rb +34 -0
  152. data/lib/stackone/models/shared/field.rb +56 -0
  153. data/lib/stackone/models/shared/hiringteam.rb +37 -0
  154. data/lib/stackone/models/shared/hriscreateemployeerequestdto.rb +8638 -0
  155. data/lib/stackone/models/shared/hriscreatetimeoffrequestdto.rb +93 -0
  156. data/lib/stackone/models/shared/hrislocation.rb +361 -0
  157. data/lib/stackone/models/shared/hrislocationresult.rb +29 -0
  158. data/lib/stackone/models/shared/hrislocationspaginated.rb +34 -0
  159. data/lib/stackone/models/shared/interview.rb +91 -0
  160. data/lib/stackone/models/shared/interviewer.rb +37 -0
  161. data/lib/stackone/models/shared/interviewpart.rb +40 -0
  162. data/lib/stackone/models/shared/interviewspaginated.rb +34 -0
  163. data/lib/stackone/models/shared/interviewsresult.rb +29 -0
  164. data/lib/stackone/models/shared/interviewstage.rb +37 -0
  165. data/lib/stackone/models/shared/interviewstageresult.rb +29 -0
  166. data/lib/stackone/models/shared/interviewstagespaginated.rb +34 -0
  167. data/lib/stackone/models/shared/job.rb +65 -0
  168. data/lib/stackone/models/shared/jobposting.rb +182 -0
  169. data/lib/stackone/models/shared/jobpostingresult.rb +29 -0
  170. data/lib/stackone/models/shared/jobpostingspaginated.rb +34 -0
  171. data/lib/stackone/models/shared/jobresult.rb +29 -0
  172. data/lib/stackone/models/shared/jobspaginated.rb +34 -0
  173. data/lib/stackone/models/shared/jobstatusenum.rb +43 -0
  174. data/lib/stackone/models/shared/linkedaccount.rb +75 -0
  175. data/lib/stackone/models/shared/linkedaccountmeta.rb +54 -0
  176. data/lib/stackone/models/shared/list.rb +67 -0
  177. data/lib/stackone/models/shared/listresult.rb +29 -0
  178. data/lib/stackone/models/shared/listspaginated.rb +34 -0
  179. data/lib/stackone/models/shared/location.rb +28 -0
  180. data/lib/stackone/models/shared/marketingcreateemailtemplaterequestdto.rb +34 -0
  181. data/lib/stackone/models/shared/marketingcreatepushtemplaterequestdto.rb +34 -0
  182. data/lib/stackone/models/shared/marketingcreatetemplaterequestdto.rb +34 -0
  183. data/lib/stackone/models/shared/message.rb +50 -0
  184. data/lib/stackone/models/shared/note.rb +69 -0
  185. data/lib/stackone/models/shared/notecontentapimodel.rb +25 -0
  186. data/lib/stackone/models/shared/noteresult.rb +29 -0
  187. data/lib/stackone/models/shared/notespaginated.rb +34 -0
  188. data/lib/stackone/models/shared/offer.rb +50 -0
  189. data/lib/stackone/models/shared/offerhistory.rb +37 -0
  190. data/lib/stackone/models/shared/offerspaginated.rb +34 -0
  191. data/lib/stackone/models/shared/offersresult.rb +29 -0
  192. data/lib/stackone/models/shared/offerstatusenum.rb +43 -0
  193. data/lib/stackone/models/shared/patchaccountdto.rb +21 -0
  194. data/lib/stackone/models/shared/proxyrequestbody.rb +69 -0
  195. data/lib/stackone/models/shared/pushmessages.rb +81 -0
  196. data/lib/stackone/models/shared/questionnaire.rb +28 -0
  197. data/lib/stackone/models/shared/rawresponse.rb +44 -0
  198. data/lib/stackone/models/shared/rejectedreason.rb +32 -0
  199. data/lib/stackone/models/shared/rejectedreasonresult.rb +29 -0
  200. data/lib/stackone/models/shared/rejectedreasonspaginated.rb +34 -0
  201. data/lib/stackone/models/shared/rejectedreasontypeenum.rb +40 -0
  202. data/lib/stackone/models/shared/resultlink.rb +28 -0
  203. data/lib/stackone/models/shared/scorecard.rb +65 -0
  204. data/lib/stackone/models/shared/scorecardsection.rb +31 -0
  205. data/lib/stackone/models/shared/scorecardspaginated.rb +34 -0
  206. data/lib/stackone/models/shared/security.rb +28 -0
  207. data/lib/stackone/models/shared/sociallink.rb +28 -0
  208. data/lib/stackone/models/shared/template.rb +37 -0
  209. data/lib/stackone/models/shared/templateresult.rb +29 -0
  210. data/lib/stackone/models/shared/templatespaginated.rb +34 -0
  211. data/lib/stackone/models/shared/timeoff.rb +102 -0
  212. data/lib/stackone/models/shared/timeoffpaginated.rb +34 -0
  213. data/lib/stackone/models/shared/timeoffresult.rb +29 -0
  214. data/lib/stackone/models/shared/updateresult.rb +31 -0
  215. data/lib/stackone/models/shared/user.rb +40 -0
  216. data/lib/stackone/models/shared/userresult.rb +29 -0
  217. data/lib/stackone/models/shared/userspaginated.rb +34 -0
  218. data/lib/stackone/proxy.rb +59 -0
  219. data/lib/stackone/sdk.rb +87 -0
  220. data/lib/stackone/sdkconfiguration.rb +53 -0
  221. data/lib/stackone/utils/metadata_fields.rb +154 -0
  222. data/lib/stackone/utils/utils.rb +774 -0
  223. data/lib/stackone_client.rb +229 -0
  224. metadata +393 -0
@@ -0,0 +1,1035 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'sorbet-runtime'
7
+ require 'faraday'
8
+
9
+ module StackOne
10
+ module Shared
11
+ # The employee avatar
12
+ class Avatar < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :base64, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('base64') } }
17
+
18
+ field :url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('url') } }
19
+
20
+
21
+ sig { params(base64: T.nilable(String), url: T.nilable(String)).void }
22
+ def initialize(base64: nil, url: nil)
23
+ @base64 = base64
24
+ @url = url
25
+ end
26
+ end
27
+
28
+
29
+ class EmployeeValue < T::Enum
30
+ enums do
31
+ FULL_TIME = new('full_time')
32
+ SHIFTS = new('shifts')
33
+ PART_TIME = new('part_time')
34
+ UNMAPPED_VALUE = new('unmapped_value')
35
+ end
36
+ end
37
+
38
+
39
+ # The employment work schedule type (e.g., full-time, part-time)
40
+ class EmploymentContractType < StackOne::Utils::FieldAugmented
41
+ extend T::Sig
42
+
43
+
44
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
45
+
46
+ field :value, Shared::EmployeeValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeValue, false) } }
47
+
48
+
49
+ sig { params(source_value: String, value: Shared::EmployeeValue).void }
50
+ def initialize(source_value: nil, value: nil)
51
+ @source_value = source_value
52
+ @value = value
53
+ end
54
+ end
55
+
56
+
57
+ class EmployeeSchemasValue < T::Enum
58
+ enums do
59
+ ACTIVE = new('active')
60
+ PENDING = new('pending')
61
+ TERMINATED = new('terminated')
62
+ LEAVE = new('leave')
63
+ INACTIVE = new('inactive')
64
+ UNKNOWN = new('unknown')
65
+ UNMAPPED_VALUE = new('unmapped_value')
66
+ end
67
+ end
68
+
69
+
70
+ # The employee employment status
71
+ class EmploymentStatus < StackOne::Utils::FieldAugmented
72
+ extend T::Sig
73
+
74
+
75
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
76
+
77
+ field :value, Shared::EmployeeSchemasValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasValue, false) } }
78
+
79
+
80
+ sig { params(source_value: String, value: Shared::EmployeeSchemasValue).void }
81
+ def initialize(source_value: nil, value: nil)
82
+ @source_value = source_value
83
+ @value = value
84
+ end
85
+ end
86
+
87
+ # EmployeeSchemasEmploymentTypeValue - The type of the employment.
88
+ class EmployeeSchemasEmploymentTypeValue < T::Enum
89
+ enums do
90
+ PERMANENT = new('permanent')
91
+ CONTRACTOR = new('contractor')
92
+ INTERN = new('intern')
93
+ APPRENTICE = new('apprentice')
94
+ FREELANCE = new('freelance')
95
+ TEMPORARY = new('temporary')
96
+ SEASONAL = new('seasonal')
97
+ VOLUNTEER = new('volunteer')
98
+ UNMAPPED_VALUE = new('unmapped_value')
99
+ end
100
+ end
101
+
102
+
103
+ # The employee employment type
104
+ class EmploymentType < StackOne::Utils::FieldAugmented
105
+ extend T::Sig
106
+
107
+ # The source value of the employment type.
108
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
109
+ # The type of the employment.
110
+ field :value, Shared::EmployeeSchemasEmploymentTypeValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasEmploymentTypeValue, false) } }
111
+
112
+
113
+ sig { params(source_value: String, value: Shared::EmployeeSchemasEmploymentTypeValue).void }
114
+ def initialize(source_value: nil, value: nil)
115
+ @source_value = source_value
116
+ @value = value
117
+ end
118
+ end
119
+
120
+
121
+ class EmployeeSchemasEthnicityValue < T::Enum
122
+ enums do
123
+ WHITE = new('white')
124
+ BLACK_OR_AFRICAN_AMERICAN = new('black_or_african_american')
125
+ ASIAN = new('asian')
126
+ HISPANIC_OR_LATINO = new('hispanic_or_latino')
127
+ AMERICAN_INDIAN_OR_ALASKA_NATIVE = new('american_indian_or_alaska_native')
128
+ NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER = new('native_hawaiian_or_pacific_islander')
129
+ TWO_OR_MORE_RACES = new('two_or_more_races')
130
+ NOT_DISCLOSED = new('not_disclosed')
131
+ OTHER = new('other')
132
+ UNMAPPED_VALUE = new('unmapped_value')
133
+ end
134
+ end
135
+
136
+
137
+ # The employee ethnicity
138
+ class Ethnicity < StackOne::Utils::FieldAugmented
139
+ extend T::Sig
140
+
141
+
142
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
143
+
144
+ field :value, Shared::EmployeeSchemasEthnicityValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasEthnicityValue, false) } }
145
+
146
+
147
+ sig { params(source_value: String, value: Shared::EmployeeSchemasEthnicityValue).void }
148
+ def initialize(source_value: nil, value: nil)
149
+ @source_value = source_value
150
+ @value = value
151
+ end
152
+ end
153
+
154
+
155
+ class EmployeeSchemasGenderValue < T::Enum
156
+ enums do
157
+ MALE = new('male')
158
+ FEMALE = new('female')
159
+ NON_BINARY = new('non_binary')
160
+ OTHER = new('other')
161
+ NOT_DISCLOSED = new('not_disclosed')
162
+ DIVERSE = new('diverse')
163
+ UNMAPPED_VALUE = new('unmapped_value')
164
+ end
165
+ end
166
+
167
+
168
+ # The employee gender
169
+ class Gender < StackOne::Utils::FieldAugmented
170
+ extend T::Sig
171
+
172
+
173
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
174
+
175
+ field :value, Shared::EmployeeSchemasGenderValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasGenderValue, false) } }
176
+
177
+
178
+ sig { params(source_value: String, value: Shared::EmployeeSchemasGenderValue).void }
179
+ def initialize(source_value: nil, value: nil)
180
+ @source_value = source_value
181
+ @value = value
182
+ end
183
+ end
184
+
185
+ # EmployeeSchemasHomeLocationValue - The ISO3166-1 Alpha2 Code of the Country
186
+ class EmployeeSchemasHomeLocationValue < T::Enum
187
+ enums do
188
+ AF = new('AF')
189
+ AL = new('AL')
190
+ DZ = new('DZ')
191
+ AS = new('AS')
192
+ AD = new('AD')
193
+ AO = new('AO')
194
+ AI = new('AI')
195
+ AQ = new('AQ')
196
+ AG = new('AG')
197
+ AR = new('AR')
198
+ AM = new('AM')
199
+ AW = new('AW')
200
+ AU = new('AU')
201
+ AT = new('AT')
202
+ AZ = new('AZ')
203
+ BS = new('BS')
204
+ BH = new('BH')
205
+ BD = new('BD')
206
+ BB = new('BB')
207
+ BY = new('BY')
208
+ BE = new('BE')
209
+ BZ = new('BZ')
210
+ BJ = new('BJ')
211
+ BM = new('BM')
212
+ BT = new('BT')
213
+ BO = new('BO')
214
+ BQ = new('BQ')
215
+ BA = new('BA')
216
+ BW = new('BW')
217
+ BV = new('BV')
218
+ BR = new('BR')
219
+ IO = new('IO')
220
+ BN = new('BN')
221
+ BG = new('BG')
222
+ BF = new('BF')
223
+ BI = new('BI')
224
+ KH = new('KH')
225
+ CM = new('CM')
226
+ CA = new('CA')
227
+ CV = new('CV')
228
+ KY = new('KY')
229
+ CF = new('CF')
230
+ TD = new('TD')
231
+ CL = new('CL')
232
+ CN = new('CN')
233
+ CX = new('CX')
234
+ CC = new('CC')
235
+ CO = new('CO')
236
+ KM = new('KM')
237
+ CG = new('CG')
238
+ CD = new('CD')
239
+ CK = new('CK')
240
+ CR = new('CR')
241
+ HR = new('HR')
242
+ CU = new('CU')
243
+ CW = new('CW')
244
+ CY = new('CY')
245
+ CZ = new('CZ')
246
+ CI = new('CI')
247
+ DK = new('DK')
248
+ DJ = new('DJ')
249
+ DM = new('DM')
250
+ DO = new('DO')
251
+ EC = new('EC')
252
+ EG = new('EG')
253
+ SV = new('SV')
254
+ GQ = new('GQ')
255
+ ER = new('ER')
256
+ EE = new('EE')
257
+ ET = new('ET')
258
+ FK = new('FK')
259
+ FO = new('FO')
260
+ FJ = new('FJ')
261
+ FI = new('FI')
262
+ FR = new('FR')
263
+ GF = new('GF')
264
+ PF = new('PF')
265
+ TF = new('TF')
266
+ GA = new('GA')
267
+ GM = new('GM')
268
+ GE = new('GE')
269
+ DE = new('DE')
270
+ GH = new('GH')
271
+ GI = new('GI')
272
+ GR = new('GR')
273
+ GL = new('GL')
274
+ GD = new('GD')
275
+ GP = new('GP')
276
+ GU = new('GU')
277
+ GT = new('GT')
278
+ GG = new('GG')
279
+ GN = new('GN')
280
+ GW = new('GW')
281
+ GY = new('GY')
282
+ HT = new('HT')
283
+ HM = new('HM')
284
+ VA = new('VA')
285
+ HN = new('HN')
286
+ HK = new('HK')
287
+ HU = new('HU')
288
+ IS = new('IS')
289
+ IN = new('IN')
290
+ ID = new('ID')
291
+ IR = new('IR')
292
+ IQ = new('IQ')
293
+ IE = new('IE')
294
+ IM = new('IM')
295
+ IL = new('IL')
296
+ IT = new('IT')
297
+ JM = new('JM')
298
+ JP = new('JP')
299
+ JE = new('JE')
300
+ JO = new('JO')
301
+ KZ = new('KZ')
302
+ KE = new('KE')
303
+ KI = new('KI')
304
+ KP = new('KP')
305
+ KR = new('KR')
306
+ KW = new('KW')
307
+ KG = new('KG')
308
+ LA = new('LA')
309
+ LV = new('LV')
310
+ LB = new('LB')
311
+ LS = new('LS')
312
+ LR = new('LR')
313
+ LY = new('LY')
314
+ LI = new('LI')
315
+ LT = new('LT')
316
+ LU = new('LU')
317
+ MO = new('MO')
318
+ MK = new('MK')
319
+ MG = new('MG')
320
+ MW = new('MW')
321
+ MY = new('MY')
322
+ MV = new('MV')
323
+ ML = new('ML')
324
+ MT = new('MT')
325
+ MH = new('MH')
326
+ MQ = new('MQ')
327
+ MR = new('MR')
328
+ MU = new('MU')
329
+ YT = new('YT')
330
+ MX = new('MX')
331
+ FM = new('FM')
332
+ MD = new('MD')
333
+ MC = new('MC')
334
+ MN = new('MN')
335
+ ME = new('ME')
336
+ MS = new('MS')
337
+ MA = new('MA')
338
+ MZ = new('MZ')
339
+ MM = new('MM')
340
+ NA = new('NA')
341
+ NR = new('NR')
342
+ NP = new('NP')
343
+ NL = new('NL')
344
+ NC = new('NC')
345
+ NZ = new('NZ')
346
+ NI = new('NI')
347
+ NE = new('NE')
348
+ NG = new('NG')
349
+ NU = new('NU')
350
+ NF = new('NF')
351
+ MP = new('MP')
352
+ NO = new('NO')
353
+ OM = new('OM')
354
+ PK = new('PK')
355
+ PW = new('PW')
356
+ PS = new('PS')
357
+ PA = new('PA')
358
+ PG = new('PG')
359
+ PY = new('PY')
360
+ PE = new('PE')
361
+ PH = new('PH')
362
+ PN = new('PN')
363
+ PL = new('PL')
364
+ PT = new('PT')
365
+ PR = new('PR')
366
+ QA = new('QA')
367
+ RO = new('RO')
368
+ RU = new('RU')
369
+ RW = new('RW')
370
+ RE = new('RE')
371
+ BL = new('BL')
372
+ SH = new('SH')
373
+ KN = new('KN')
374
+ LC = new('LC')
375
+ MF = new('MF')
376
+ PM = new('PM')
377
+ VC = new('VC')
378
+ WS = new('WS')
379
+ SM = new('SM')
380
+ ST = new('ST')
381
+ SA = new('SA')
382
+ SN = new('SN')
383
+ RS = new('RS')
384
+ SC = new('SC')
385
+ SL = new('SL')
386
+ SG = new('SG')
387
+ SX = new('SX')
388
+ SK = new('SK')
389
+ SI = new('SI')
390
+ SB = new('SB')
391
+ SO = new('SO')
392
+ ZA = new('ZA')
393
+ GS = new('GS')
394
+ SS = new('SS')
395
+ ES = new('ES')
396
+ LK = new('LK')
397
+ SD = new('SD')
398
+ SR = new('SR')
399
+ SJ = new('SJ')
400
+ SZ = new('SZ')
401
+ SE = new('SE')
402
+ CH = new('CH')
403
+ SY = new('SY')
404
+ TW = new('TW')
405
+ TJ = new('TJ')
406
+ TZ = new('TZ')
407
+ TH = new('TH')
408
+ TL = new('TL')
409
+ TG = new('TG')
410
+ TK = new('TK')
411
+ TO = new('TO')
412
+ TT = new('TT')
413
+ TN = new('TN')
414
+ TR = new('TR')
415
+ TM = new('TM')
416
+ TC = new('TC')
417
+ TV = new('TV')
418
+ UG = new('UG')
419
+ UA = new('UA')
420
+ AE = new('AE')
421
+ GB = new('GB')
422
+ US = new('US')
423
+ UM = new('UM')
424
+ UY = new('UY')
425
+ UZ = new('UZ')
426
+ VU = new('VU')
427
+ VE = new('VE')
428
+ VN = new('VN')
429
+ VG = new('VG')
430
+ VI = new('VI')
431
+ WF = new('WF')
432
+ EH = new('EH')
433
+ YE = new('YE')
434
+ ZM = new('ZM')
435
+ ZW = new('ZW')
436
+ UNMAPPED_VALUE = new('unmapped_value')
437
+ end
438
+ end
439
+
440
+
441
+ # The country code
442
+ class EmployeeCountry < StackOne::Utils::FieldAugmented
443
+ extend T::Sig
444
+
445
+ # The name of citizenship
446
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
447
+ # The ISO3166-1 Alpha2 Code of the Country
448
+ field :value, Shared::EmployeeSchemasHomeLocationValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasHomeLocationValue, false) } }
449
+
450
+
451
+ sig { params(source_value: String, value: Shared::EmployeeSchemasHomeLocationValue).void }
452
+ def initialize(source_value: nil, value: nil)
453
+ @source_value = source_value
454
+ @value = value
455
+ end
456
+ end
457
+
458
+ # EmployeeSchemasHomeLocationLocationTypeValue - The type of the location.
459
+ class EmployeeSchemasHomeLocationLocationTypeValue < T::Enum
460
+ enums do
461
+ HOME = new('home')
462
+ WORK = new('work')
463
+ UNMAPPED_VALUE = new('unmapped_value')
464
+ end
465
+ end
466
+
467
+
468
+ # The location type
469
+ class EmployeeLocationType < StackOne::Utils::FieldAugmented
470
+ extend T::Sig
471
+
472
+ # The source value of the location type.
473
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
474
+ # The type of the location.
475
+ field :value, Shared::EmployeeSchemasHomeLocationLocationTypeValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasHomeLocationLocationTypeValue, false) } }
476
+
477
+
478
+ sig { params(source_value: String, value: Shared::EmployeeSchemasHomeLocationLocationTypeValue).void }
479
+ def initialize(source_value: nil, value: nil)
480
+ @source_value = source_value
481
+ @value = value
482
+ end
483
+ end
484
+
485
+ # The employee home location
486
+ class HomeLocation < StackOne::Utils::FieldAugmented
487
+ extend T::Sig
488
+
489
+ # The city where the location is situated
490
+ field :city, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('city') } }
491
+ # The country code
492
+ field :country, T.nilable(Shared::EmployeeCountry), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('country') } }
493
+ # The created_at date
494
+ field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
495
+ # The employee ID
496
+ field :employee_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employee_id') } }
497
+ # The unique ID of the location
498
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
499
+ # The location type
500
+ field :location_type, T.nilable(Shared::EmployeeLocationType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('location_type') } }
501
+ # The name of the location
502
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
503
+ # The phone number of the location
504
+ field :phone_number, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phone_number') } }
505
+ # The state where the location is situated
506
+ field :state, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('state') } }
507
+ # The first line of the address
508
+ field :street_1, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('street_1') } }
509
+ # The second line of the address
510
+ field :street_2, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('street_2') } }
511
+ # The updated_at date
512
+ field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
513
+ # The ZIP code/Postal code of the location
514
+ field :zip_code, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('zip_code') } }
515
+
516
+
517
+ sig { params(city: T.nilable(String), country: T.nilable(Shared::EmployeeCountry), created_at: T.nilable(DateTime), employee_id: T.nilable(String), id: T.nilable(String), location_type: T.nilable(Shared::EmployeeLocationType), name: T.nilable(String), phone_number: T.nilable(String), state: T.nilable(String), street_1: T.nilable(String), street_2: T.nilable(String), updated_at: T.nilable(DateTime), zip_code: T.nilable(String)).void }
518
+ def initialize(city: nil, country: nil, created_at: nil, employee_id: nil, id: nil, location_type: nil, name: nil, phone_number: nil, state: nil, street_1: nil, street_2: nil, updated_at: nil, zip_code: nil)
519
+ @city = city
520
+ @country = country
521
+ @created_at = created_at
522
+ @employee_id = employee_id
523
+ @id = id
524
+ @location_type = location_type
525
+ @name = name
526
+ @phone_number = phone_number
527
+ @state = state
528
+ @street_1 = street_1
529
+ @street_2 = street_2
530
+ @updated_at = updated_at
531
+ @zip_code = zip_code
532
+ end
533
+ end
534
+
535
+
536
+ class EmployeeSchemasMaritalStatusValue < T::Enum
537
+ enums do
538
+ SINGLE = new('single')
539
+ MARRIED = new('married')
540
+ COMMON_LAW = new('common_law')
541
+ DIVORCED = new('divorced')
542
+ WIDOWED = new('widowed')
543
+ DOMESTIC_PARTNERSHIP = new('domestic_partnership')
544
+ SEPARATED = new('separated')
545
+ OTHER = new('other')
546
+ NOT_DISCLOSED = new('not_disclosed')
547
+ UNMAPPED_VALUE = new('unmapped_value')
548
+ end
549
+ end
550
+
551
+
552
+ # The employee marital status
553
+ class MaritalStatus < StackOne::Utils::FieldAugmented
554
+ extend T::Sig
555
+
556
+
557
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
558
+
559
+ field :value, Shared::EmployeeSchemasMaritalStatusValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasMaritalStatusValue, false) } }
560
+
561
+
562
+ sig { params(source_value: String, value: Shared::EmployeeSchemasMaritalStatusValue).void }
563
+ def initialize(source_value: nil, value: nil)
564
+ @source_value = source_value
565
+ @value = value
566
+ end
567
+ end
568
+
569
+ # EmployeeSchemasWorkLocationValue - The ISO3166-1 Alpha2 Code of the Country
570
+ class EmployeeSchemasWorkLocationValue < T::Enum
571
+ enums do
572
+ AF = new('AF')
573
+ AL = new('AL')
574
+ DZ = new('DZ')
575
+ AS = new('AS')
576
+ AD = new('AD')
577
+ AO = new('AO')
578
+ AI = new('AI')
579
+ AQ = new('AQ')
580
+ AG = new('AG')
581
+ AR = new('AR')
582
+ AM = new('AM')
583
+ AW = new('AW')
584
+ AU = new('AU')
585
+ AT = new('AT')
586
+ AZ = new('AZ')
587
+ BS = new('BS')
588
+ BH = new('BH')
589
+ BD = new('BD')
590
+ BB = new('BB')
591
+ BY = new('BY')
592
+ BE = new('BE')
593
+ BZ = new('BZ')
594
+ BJ = new('BJ')
595
+ BM = new('BM')
596
+ BT = new('BT')
597
+ BO = new('BO')
598
+ BQ = new('BQ')
599
+ BA = new('BA')
600
+ BW = new('BW')
601
+ BV = new('BV')
602
+ BR = new('BR')
603
+ IO = new('IO')
604
+ BN = new('BN')
605
+ BG = new('BG')
606
+ BF = new('BF')
607
+ BI = new('BI')
608
+ KH = new('KH')
609
+ CM = new('CM')
610
+ CA = new('CA')
611
+ CV = new('CV')
612
+ KY = new('KY')
613
+ CF = new('CF')
614
+ TD = new('TD')
615
+ CL = new('CL')
616
+ CN = new('CN')
617
+ CX = new('CX')
618
+ CC = new('CC')
619
+ CO = new('CO')
620
+ KM = new('KM')
621
+ CG = new('CG')
622
+ CD = new('CD')
623
+ CK = new('CK')
624
+ CR = new('CR')
625
+ HR = new('HR')
626
+ CU = new('CU')
627
+ CW = new('CW')
628
+ CY = new('CY')
629
+ CZ = new('CZ')
630
+ CI = new('CI')
631
+ DK = new('DK')
632
+ DJ = new('DJ')
633
+ DM = new('DM')
634
+ DO = new('DO')
635
+ EC = new('EC')
636
+ EG = new('EG')
637
+ SV = new('SV')
638
+ GQ = new('GQ')
639
+ ER = new('ER')
640
+ EE = new('EE')
641
+ ET = new('ET')
642
+ FK = new('FK')
643
+ FO = new('FO')
644
+ FJ = new('FJ')
645
+ FI = new('FI')
646
+ FR = new('FR')
647
+ GF = new('GF')
648
+ PF = new('PF')
649
+ TF = new('TF')
650
+ GA = new('GA')
651
+ GM = new('GM')
652
+ GE = new('GE')
653
+ DE = new('DE')
654
+ GH = new('GH')
655
+ GI = new('GI')
656
+ GR = new('GR')
657
+ GL = new('GL')
658
+ GD = new('GD')
659
+ GP = new('GP')
660
+ GU = new('GU')
661
+ GT = new('GT')
662
+ GG = new('GG')
663
+ GN = new('GN')
664
+ GW = new('GW')
665
+ GY = new('GY')
666
+ HT = new('HT')
667
+ HM = new('HM')
668
+ VA = new('VA')
669
+ HN = new('HN')
670
+ HK = new('HK')
671
+ HU = new('HU')
672
+ IS = new('IS')
673
+ IN = new('IN')
674
+ ID = new('ID')
675
+ IR = new('IR')
676
+ IQ = new('IQ')
677
+ IE = new('IE')
678
+ IM = new('IM')
679
+ IL = new('IL')
680
+ IT = new('IT')
681
+ JM = new('JM')
682
+ JP = new('JP')
683
+ JE = new('JE')
684
+ JO = new('JO')
685
+ KZ = new('KZ')
686
+ KE = new('KE')
687
+ KI = new('KI')
688
+ KP = new('KP')
689
+ KR = new('KR')
690
+ KW = new('KW')
691
+ KG = new('KG')
692
+ LA = new('LA')
693
+ LV = new('LV')
694
+ LB = new('LB')
695
+ LS = new('LS')
696
+ LR = new('LR')
697
+ LY = new('LY')
698
+ LI = new('LI')
699
+ LT = new('LT')
700
+ LU = new('LU')
701
+ MO = new('MO')
702
+ MK = new('MK')
703
+ MG = new('MG')
704
+ MW = new('MW')
705
+ MY = new('MY')
706
+ MV = new('MV')
707
+ ML = new('ML')
708
+ MT = new('MT')
709
+ MH = new('MH')
710
+ MQ = new('MQ')
711
+ MR = new('MR')
712
+ MU = new('MU')
713
+ YT = new('YT')
714
+ MX = new('MX')
715
+ FM = new('FM')
716
+ MD = new('MD')
717
+ MC = new('MC')
718
+ MN = new('MN')
719
+ ME = new('ME')
720
+ MS = new('MS')
721
+ MA = new('MA')
722
+ MZ = new('MZ')
723
+ MM = new('MM')
724
+ NA = new('NA')
725
+ NR = new('NR')
726
+ NP = new('NP')
727
+ NL = new('NL')
728
+ NC = new('NC')
729
+ NZ = new('NZ')
730
+ NI = new('NI')
731
+ NE = new('NE')
732
+ NG = new('NG')
733
+ NU = new('NU')
734
+ NF = new('NF')
735
+ MP = new('MP')
736
+ NO = new('NO')
737
+ OM = new('OM')
738
+ PK = new('PK')
739
+ PW = new('PW')
740
+ PS = new('PS')
741
+ PA = new('PA')
742
+ PG = new('PG')
743
+ PY = new('PY')
744
+ PE = new('PE')
745
+ PH = new('PH')
746
+ PN = new('PN')
747
+ PL = new('PL')
748
+ PT = new('PT')
749
+ PR = new('PR')
750
+ QA = new('QA')
751
+ RO = new('RO')
752
+ RU = new('RU')
753
+ RW = new('RW')
754
+ RE = new('RE')
755
+ BL = new('BL')
756
+ SH = new('SH')
757
+ KN = new('KN')
758
+ LC = new('LC')
759
+ MF = new('MF')
760
+ PM = new('PM')
761
+ VC = new('VC')
762
+ WS = new('WS')
763
+ SM = new('SM')
764
+ ST = new('ST')
765
+ SA = new('SA')
766
+ SN = new('SN')
767
+ RS = new('RS')
768
+ SC = new('SC')
769
+ SL = new('SL')
770
+ SG = new('SG')
771
+ SX = new('SX')
772
+ SK = new('SK')
773
+ SI = new('SI')
774
+ SB = new('SB')
775
+ SO = new('SO')
776
+ ZA = new('ZA')
777
+ GS = new('GS')
778
+ SS = new('SS')
779
+ ES = new('ES')
780
+ LK = new('LK')
781
+ SD = new('SD')
782
+ SR = new('SR')
783
+ SJ = new('SJ')
784
+ SZ = new('SZ')
785
+ SE = new('SE')
786
+ CH = new('CH')
787
+ SY = new('SY')
788
+ TW = new('TW')
789
+ TJ = new('TJ')
790
+ TZ = new('TZ')
791
+ TH = new('TH')
792
+ TL = new('TL')
793
+ TG = new('TG')
794
+ TK = new('TK')
795
+ TO = new('TO')
796
+ TT = new('TT')
797
+ TN = new('TN')
798
+ TR = new('TR')
799
+ TM = new('TM')
800
+ TC = new('TC')
801
+ TV = new('TV')
802
+ UG = new('UG')
803
+ UA = new('UA')
804
+ AE = new('AE')
805
+ GB = new('GB')
806
+ US = new('US')
807
+ UM = new('UM')
808
+ UY = new('UY')
809
+ UZ = new('UZ')
810
+ VU = new('VU')
811
+ VE = new('VE')
812
+ VN = new('VN')
813
+ VG = new('VG')
814
+ VI = new('VI')
815
+ WF = new('WF')
816
+ EH = new('EH')
817
+ YE = new('YE')
818
+ ZM = new('ZM')
819
+ ZW = new('ZW')
820
+ UNMAPPED_VALUE = new('unmapped_value')
821
+ end
822
+ end
823
+
824
+
825
+ # The country code
826
+ class EmployeeSchemasCountry < StackOne::Utils::FieldAugmented
827
+ extend T::Sig
828
+
829
+ # The name of citizenship
830
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
831
+ # The ISO3166-1 Alpha2 Code of the Country
832
+ field :value, Shared::EmployeeSchemasWorkLocationValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasWorkLocationValue, false) } }
833
+
834
+
835
+ sig { params(source_value: String, value: Shared::EmployeeSchemasWorkLocationValue).void }
836
+ def initialize(source_value: nil, value: nil)
837
+ @source_value = source_value
838
+ @value = value
839
+ end
840
+ end
841
+
842
+ # EmployeeSchemasWorkLocationLocationTypeValue - The type of the location.
843
+ class EmployeeSchemasWorkLocationLocationTypeValue < T::Enum
844
+ enums do
845
+ HOME = new('home')
846
+ WORK = new('work')
847
+ UNMAPPED_VALUE = new('unmapped_value')
848
+ end
849
+ end
850
+
851
+
852
+ # The location type
853
+ class EmployeeSchemasLocationType < StackOne::Utils::FieldAugmented
854
+ extend T::Sig
855
+
856
+ # The source value of the location type.
857
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
858
+ # The type of the location.
859
+ field :value, Shared::EmployeeSchemasWorkLocationLocationTypeValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeSchemasWorkLocationLocationTypeValue, false) } }
860
+
861
+
862
+ sig { params(source_value: String, value: Shared::EmployeeSchemasWorkLocationLocationTypeValue).void }
863
+ def initialize(source_value: nil, value: nil)
864
+ @source_value = source_value
865
+ @value = value
866
+ end
867
+ end
868
+
869
+ # The employee work location
870
+ class WorkLocation < StackOne::Utils::FieldAugmented
871
+ extend T::Sig
872
+
873
+ # The city where the location is situated
874
+ field :city, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('city') } }
875
+ # The country code
876
+ field :country, T.nilable(Shared::EmployeeSchemasCountry), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('country') } }
877
+ # The created_at date
878
+ field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
879
+ # The employee ID
880
+ field :employee_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employee_id') } }
881
+ # The unique ID of the location
882
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
883
+ # The location type
884
+ field :location_type, T.nilable(Shared::EmployeeSchemasLocationType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('location_type') } }
885
+ # The name of the location
886
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
887
+ # The phone number of the location
888
+ field :phone_number, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phone_number') } }
889
+ # The state where the location is situated
890
+ field :state, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('state') } }
891
+ # The first line of the address
892
+ field :street_1, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('street_1') } }
893
+ # The second line of the address
894
+ field :street_2, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('street_2') } }
895
+ # The updated_at date
896
+ field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
897
+ # The ZIP code/Postal code of the location
898
+ field :zip_code, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('zip_code') } }
899
+
900
+
901
+ sig { params(city: T.nilable(String), country: T.nilable(Shared::EmployeeSchemasCountry), created_at: T.nilable(DateTime), employee_id: T.nilable(String), id: T.nilable(String), location_type: T.nilable(Shared::EmployeeSchemasLocationType), name: T.nilable(String), phone_number: T.nilable(String), state: T.nilable(String), street_1: T.nilable(String), street_2: T.nilable(String), updated_at: T.nilable(DateTime), zip_code: T.nilable(String)).void }
902
+ def initialize(city: nil, country: nil, created_at: nil, employee_id: nil, id: nil, location_type: nil, name: nil, phone_number: nil, state: nil, street_1: nil, street_2: nil, updated_at: nil, zip_code: nil)
903
+ @city = city
904
+ @country = country
905
+ @created_at = created_at
906
+ @employee_id = employee_id
907
+ @id = id
908
+ @location_type = location_type
909
+ @name = name
910
+ @phone_number = phone_number
911
+ @state = state
912
+ @street_1 = street_1
913
+ @street_2 = street_2
914
+ @updated_at = updated_at
915
+ @zip_code = zip_code
916
+ end
917
+ end
918
+
919
+
920
+ class Employee < StackOne::Utils::FieldAugmented
921
+ extend T::Sig
922
+
923
+ # The employee first name
924
+ field :first_name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('first_name') } }
925
+ # The employee ID
926
+ field :id, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
927
+ # The employee last name
928
+ field :last_name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('last_name') } }
929
+ # The employee work email
930
+ field :work_email, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('work_email') } }
931
+ # The employee avatar
932
+ field :avatar, T.nilable(Shared::Avatar), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('avatar') } }
933
+ # The employee avatar Url
934
+ field :avatar_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('avatar_url') } }
935
+ # The employee birthday
936
+ field :birthday, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('birthday'), 'decoder': Utils.datetime_from_iso_format(true) } }
937
+ # The citizenships of the Employee
938
+ field :citizenships, T.nilable(T::Array[Shared::CountryCodeEnum]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('citizenships') } }
939
+ # The employee company name
940
+ field :company_name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('company_name') } }
941
+ # The created_at date
942
+ field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
943
+ # The employee custom fields
944
+ field :custom_fields, T.nilable(T::Array[Shared::EmployeeCustomFields]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('custom_fields') } }
945
+ # The employee date_of_birth
946
+ field :date_of_birth, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('date_of_birth'), 'decoder': Utils.datetime_from_iso_format(true) } }
947
+ # The employee department
948
+ field :department, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('department') } }
949
+ # The employee display name
950
+ field :display_name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('display_name') } }
951
+ # The employment work schedule type (e.g., full-time, part-time)
952
+ field :employment_contract_type, T.nilable(Shared::EmploymentContractType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employment_contract_type') } }
953
+ # The employee employment status
954
+ field :employment_status, T.nilable(Shared::EmploymentStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employment_status') } }
955
+ # The employee employment type
956
+ field :employment_type, T.nilable(Shared::EmploymentType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employment_type') } }
957
+ # The employee employments
958
+ field :employments, T.nilable(T::Array[Shared::Employment]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employments') } }
959
+ # The employee ethnicity
960
+ field :ethnicity, T.nilable(Shared::Ethnicity), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ethnicity') } }
961
+ # The employee gender
962
+ field :gender, T.nilable(Shared::Gender), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('gender') } }
963
+ # The employee hire date
964
+ field :hire_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('hire_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
965
+ # The employee home location
966
+ field :home_location, T.nilable(Shared::HomeLocation), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('home_location') } }
967
+ # The employee job title
968
+ field :job_title, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('job_title') } }
969
+ # The employee manager ID
970
+ field :manager_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('manager_id') } }
971
+ # The employee marital status
972
+ field :marital_status, T.nilable(Shared::MaritalStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('marital_status') } }
973
+ # The employee name
974
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
975
+ # The employee personal email
976
+ field :personal_email, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('personal_email') } }
977
+ # The employee personal phone number
978
+ field :personal_phone_number, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('personal_phone_number') } }
979
+ # The employee start date
980
+ field :start_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
981
+ # The employee tenure
982
+ field :tenure, T.nilable(Float), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('tenure') } }
983
+ # The employee termination date
984
+ field :termination_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('termination_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
985
+ # The updated_at date
986
+ field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
987
+ # The employee work anniversary
988
+ field :work_anniversary, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('work_anniversary'), 'decoder': Utils.datetime_from_iso_format(true) } }
989
+ # The employee work location
990
+ field :work_location, T.nilable(Shared::WorkLocation), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('work_location') } }
991
+ # The employee work phone number
992
+ field :work_phone_number, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('work_phone_number') } }
993
+
994
+
995
+ sig { params(first_name: String, id: String, last_name: String, work_email: String, avatar: T.nilable(Shared::Avatar), avatar_url: T.nilable(String), birthday: T.nilable(DateTime), citizenships: T.nilable(T::Array[Shared::CountryCodeEnum]), company_name: T.nilable(String), created_at: T.nilable(DateTime), custom_fields: T.nilable(T::Array[Shared::EmployeeCustomFields]), date_of_birth: T.nilable(DateTime), department: T.nilable(String), display_name: T.nilable(String), employment_contract_type: T.nilable(Shared::EmploymentContractType), employment_status: T.nilable(Shared::EmploymentStatus), employment_type: T.nilable(Shared::EmploymentType), employments: T.nilable(T::Array[Shared::Employment]), ethnicity: T.nilable(Shared::Ethnicity), gender: T.nilable(Shared::Gender), hire_date: T.nilable(DateTime), home_location: T.nilable(Shared::HomeLocation), job_title: T.nilable(String), manager_id: T.nilable(String), marital_status: T.nilable(Shared::MaritalStatus), name: T.nilable(String), personal_email: T.nilable(String), personal_phone_number: T.nilable(String), start_date: T.nilable(DateTime), tenure: T.nilable(Float), termination_date: T.nilable(DateTime), updated_at: T.nilable(DateTime), work_anniversary: T.nilable(DateTime), work_location: T.nilable(Shared::WorkLocation), work_phone_number: T.nilable(String)).void }
996
+ def initialize(first_name: nil, id: nil, last_name: nil, work_email: nil, avatar: nil, avatar_url: nil, birthday: nil, citizenships: nil, company_name: nil, created_at: nil, custom_fields: nil, date_of_birth: nil, department: nil, display_name: nil, employment_contract_type: nil, employment_status: nil, employment_type: nil, employments: nil, ethnicity: nil, gender: nil, hire_date: nil, home_location: nil, job_title: nil, manager_id: nil, marital_status: nil, name: nil, personal_email: nil, personal_phone_number: nil, start_date: nil, tenure: nil, termination_date: nil, updated_at: nil, work_anniversary: nil, work_location: nil, work_phone_number: nil)
997
+ @first_name = first_name
998
+ @id = id
999
+ @last_name = last_name
1000
+ @work_email = work_email
1001
+ @avatar = avatar
1002
+ @avatar_url = avatar_url
1003
+ @birthday = birthday
1004
+ @citizenships = citizenships
1005
+ @company_name = company_name
1006
+ @created_at = created_at
1007
+ @custom_fields = custom_fields
1008
+ @date_of_birth = date_of_birth
1009
+ @department = department
1010
+ @display_name = display_name
1011
+ @employment_contract_type = employment_contract_type
1012
+ @employment_status = employment_status
1013
+ @employment_type = employment_type
1014
+ @employments = employments
1015
+ @ethnicity = ethnicity
1016
+ @gender = gender
1017
+ @hire_date = hire_date
1018
+ @home_location = home_location
1019
+ @job_title = job_title
1020
+ @manager_id = manager_id
1021
+ @marital_status = marital_status
1022
+ @name = name
1023
+ @personal_email = personal_email
1024
+ @personal_phone_number = personal_phone_number
1025
+ @start_date = start_date
1026
+ @tenure = tenure
1027
+ @termination_date = termination_date
1028
+ @updated_at = updated_at
1029
+ @work_anniversary = work_anniversary
1030
+ @work_location = work_location
1031
+ @work_phone_number = work_phone_number
1032
+ end
1033
+ end
1034
+ end
1035
+ end