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,83 @@
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
+
12
+ class EmployeeCustomFieldsSchemasValue < T::Enum
13
+ enums do
14
+ DATE = new('date')
15
+ FLOAT = new('float')
16
+ INTEGER = new('integer')
17
+ LIST = new('list')
18
+ TEXT = new('text')
19
+ UNMAPPED_VALUE = new('unmapped_value')
20
+ end
21
+ end
22
+
23
+
24
+ # The type of the custom field.
25
+ class EmployeeCustomFieldsType < StackOne::Utils::FieldAugmented
26
+ extend T::Sig
27
+
28
+
29
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
30
+
31
+ field :value, Shared::EmployeeCustomFieldsSchemasValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmployeeCustomFieldsSchemasValue, false) } }
32
+
33
+
34
+ sig { params(source_value: String, value: Shared::EmployeeCustomFieldsSchemasValue).void }
35
+ def initialize(source_value: nil, value: nil)
36
+ @source_value = source_value
37
+ @value = value
38
+ end
39
+ end
40
+
41
+ # The value associated with the custom field.
42
+ class EmployeeCustomFieldsValue < StackOne::Utils::FieldAugmented
43
+ extend T::Sig
44
+
45
+
46
+
47
+
48
+ def initialize; end
49
+ end
50
+
51
+
52
+ class EmployeeCustomFields < StackOne::Utils::FieldAugmented
53
+ extend T::Sig
54
+
55
+ # The description of the custom field.
56
+ field :description, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('description') } }
57
+ # The unique identifier for the custom field, which defaults to the name property if the ID is not accessible.
58
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
59
+ # The name of the custom field.
60
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
61
+ # An array of possible options for the custom field.
62
+ field :options, T.nilable(T::Array[String]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('options') } }
63
+ # The type of the custom field.
64
+ field :type, T.nilable(Shared::EmployeeCustomFieldsType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type') } }
65
+ # The value associated with the custom field.
66
+ field :value, T.nilable(Shared::EmployeeCustomFieldsValue), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value') } }
67
+ # The unique identifier for the value of the custom field.
68
+ field :value_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value_id') } }
69
+
70
+
71
+ sig { params(description: T.nilable(String), id: T.nilable(String), name: T.nilable(String), options: T.nilable(T::Array[String]), type: T.nilable(Shared::EmployeeCustomFieldsType), value: T.nilable(Shared::EmployeeCustomFieldsValue), value_id: T.nilable(String)).void }
72
+ def initialize(description: nil, id: nil, name: nil, options: nil, type: nil, value: nil, value_id: nil)
73
+ @description = description
74
+ @id = id
75
+ @name = name
76
+ @options = options
77
+ @type = type
78
+ @value = value
79
+ @value_id = value_id
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,29 @@
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
+ require_relative '../shared/employee'
9
+
10
+ module StackOne
11
+ module Shared
12
+
13
+ class EmployeeResult < StackOne::Utils::FieldAugmented
14
+ extend T::Sig
15
+
16
+
17
+ field :data, Shared::Employee, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
18
+
19
+ field :raw, T.nilable(T::Array[Shared::RawResponse]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
20
+
21
+
22
+ sig { params(data: Shared::Employee, raw: T.nilable(T::Array[Shared::RawResponse])).void }
23
+ def initialize(data: nil, raw: nil)
24
+ @data = data
25
+ @raw = raw
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,34 @@
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
+
12
+ class EmployeesPaginated < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :data, T::Array[Shared::Employee], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
17
+
18
+ field :next_, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next') } }
19
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
20
+ field :next_page, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next_page') } }
21
+
22
+ field :raw, T.nilable(T::Array[Shared::RawResponse]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
23
+
24
+
25
+ sig { params(data: T::Array[Shared::Employee], next_: T.nilable(String), next_page: T.nilable(String), raw: T.nilable(T::Array[Shared::RawResponse])).void }
26
+ def initialize(data: nil, next_: nil, next_page: nil, raw: nil)
27
+ @data = data
28
+ @next_ = next_
29
+ @next_page = next_page
30
+ @raw = raw
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,191 @@
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
+
12
+ class EmploymentValue < T::Enum
13
+ enums do
14
+ FULL_TIME = new('full_time')
15
+ SHIFTS = new('shifts')
16
+ PART_TIME = new('part_time')
17
+ UNMAPPED_VALUE = new('unmapped_value')
18
+ end
19
+ end
20
+
21
+
22
+ # The employment work schedule type (e.g., full-time, part-time)
23
+ class EmploymentEmploymentContractType < StackOne::Utils::FieldAugmented
24
+ extend T::Sig
25
+
26
+
27
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
28
+
29
+ field :value, Shared::EmploymentValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmploymentValue, false) } }
30
+
31
+
32
+ sig { params(source_value: String, value: Shared::EmploymentValue).void }
33
+ def initialize(source_value: nil, value: nil)
34
+ @source_value = source_value
35
+ @value = value
36
+ end
37
+ end
38
+
39
+ # EmploymentSchemasValue - The type of the employment.
40
+ class EmploymentSchemasValue < T::Enum
41
+ enums do
42
+ PERMANENT = new('permanent')
43
+ CONTRACTOR = new('contractor')
44
+ INTERN = new('intern')
45
+ APPRENTICE = new('apprentice')
46
+ FREELANCE = new('freelance')
47
+ TEMPORARY = new('temporary')
48
+ SEASONAL = new('seasonal')
49
+ VOLUNTEER = new('volunteer')
50
+ UNMAPPED_VALUE = new('unmapped_value')
51
+ end
52
+ end
53
+
54
+
55
+ # The type of employment (e.g., contractor, permanent)
56
+ class EmploymentEmploymentType < StackOne::Utils::FieldAugmented
57
+ extend T::Sig
58
+
59
+ # The source value of the employment type.
60
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
61
+ # The type of the employment.
62
+ field :value, Shared::EmploymentSchemasValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmploymentSchemasValue, false) } }
63
+
64
+
65
+ sig { params(source_value: String, value: Shared::EmploymentSchemasValue).void }
66
+ def initialize(source_value: nil, value: nil)
67
+ @source_value = source_value
68
+ @value = value
69
+ end
70
+ end
71
+
72
+ # EmploymentSchemasPayFrequencyValue - The pay frequency of the job postings.
73
+ class EmploymentSchemasPayFrequencyValue < T::Enum
74
+ enums do
75
+ HOURLY = new('hourly')
76
+ WEEKLY = new('weekly')
77
+ BI_WEEKLY = new('bi_weekly')
78
+ FOUR_WEEKLY = new('four_weekly')
79
+ SEMI_MONTHLY = new('semi_monthly')
80
+ MONTHLY = new('monthly')
81
+ BI_MONTHLY = new('bi_monthly')
82
+ QUARTERLY = new('quarterly')
83
+ SEMI_ANNUALLY = new('semi_annually')
84
+ YEARLY = new('yearly')
85
+ THIRTEEN_MONTHLY = new('thirteen_monthly')
86
+ PRO_RATA = new('pro_rata')
87
+ UNMAPPED_VALUE = new('unmapped_value')
88
+ HALF_YEARLY = new('half_yearly')
89
+ end
90
+ end
91
+
92
+
93
+ # The pay frequency
94
+ class EmploymentPayFrequency < StackOne::Utils::FieldAugmented
95
+ extend T::Sig
96
+
97
+ # The source value of the pay frequency.
98
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
99
+ # The pay frequency of the job postings.
100
+ field :value, Shared::EmploymentSchemasPayFrequencyValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmploymentSchemasPayFrequencyValue, false) } }
101
+
102
+
103
+ sig { params(source_value: String, value: Shared::EmploymentSchemasPayFrequencyValue).void }
104
+ def initialize(source_value: nil, value: nil)
105
+ @source_value = source_value
106
+ @value = value
107
+ end
108
+ end
109
+
110
+ # EmploymentSchemasPayPeriodValue - The pay period of the job postings.
111
+ class EmploymentSchemasPayPeriodValue < T::Enum
112
+ enums do
113
+ HOUR = new('hour')
114
+ DAY = new('day')
115
+ WEEK = new('week')
116
+ EVERY_TWO_WEEKS = new('every_two_weeks')
117
+ MONTH = new('month')
118
+ QUARTER = new('quarter')
119
+ EVERY_SIX_MONTHS = new('every_six_months')
120
+ YEAR = new('year')
121
+ NONE = new('none')
122
+ UNMAPPED_VALUE = new('unmapped_value')
123
+ end
124
+ end
125
+
126
+
127
+ # The pay period
128
+ class EmploymentPayPeriod < StackOne::Utils::FieldAugmented
129
+ extend T::Sig
130
+
131
+ # The source value of the pay period.
132
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
133
+ # The pay period of the job postings.
134
+ field :value, Shared::EmploymentSchemasPayPeriodValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmploymentSchemasPayPeriodValue, false) } }
135
+
136
+
137
+ sig { params(source_value: String, value: Shared::EmploymentSchemasPayPeriodValue).void }
138
+ def initialize(source_value: nil, value: nil)
139
+ @source_value = source_value
140
+ @value = value
141
+ end
142
+ end
143
+
144
+
145
+ class Employment < StackOne::Utils::FieldAugmented
146
+ extend T::Sig
147
+
148
+ # The employee ID associated with this employment
149
+ field :employee_id, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employee_id') } }
150
+ # The created_at date
151
+ field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
152
+ # The effective date of the employment contract
153
+ field :effective_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('effective_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
154
+ # The employment work schedule type (e.g., full-time, part-time)
155
+ field :employment_contract_type, T.nilable(Shared::EmploymentEmploymentContractType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employment_contract_type') } }
156
+ # The type of employment (e.g., contractor, permanent)
157
+ field :employment_type, T.nilable(Shared::EmploymentEmploymentType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employment_type') } }
158
+ # The unique ID of the employment
159
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
160
+ # The job title of the employee
161
+ field :job_title, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('job_title') } }
162
+ # The currency used for pay
163
+ field :pay_currency, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('pay_currency') } }
164
+ # The pay frequency
165
+ field :pay_frequency, T.nilable(Shared::EmploymentPayFrequency), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('pay_frequency') } }
166
+ # The pay period
167
+ field :pay_period, T.nilable(Shared::EmploymentPayPeriod), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('pay_period') } }
168
+ # The pay rate for the employee
169
+ field :pay_rate, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('pay_rate') } }
170
+ # The updated_at date
171
+ field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
172
+
173
+
174
+ sig { params(employee_id: String, created_at: T.nilable(DateTime), effective_date: T.nilable(DateTime), employment_contract_type: T.nilable(Shared::EmploymentEmploymentContractType), employment_type: T.nilable(Shared::EmploymentEmploymentType), id: T.nilable(String), job_title: T.nilable(String), pay_currency: T.nilable(String), pay_frequency: T.nilable(Shared::EmploymentPayFrequency), pay_period: T.nilable(Shared::EmploymentPayPeriod), pay_rate: T.nilable(String), updated_at: T.nilable(DateTime)).void }
175
+ def initialize(employee_id: nil, created_at: nil, effective_date: nil, employment_contract_type: nil, employment_type: nil, id: nil, job_title: nil, pay_currency: nil, pay_frequency: nil, pay_period: nil, pay_rate: nil, updated_at: nil)
176
+ @employee_id = employee_id
177
+ @created_at = created_at
178
+ @effective_date = effective_date
179
+ @employment_contract_type = employment_contract_type
180
+ @employment_type = employment_type
181
+ @id = id
182
+ @job_title = job_title
183
+ @pay_currency = pay_currency
184
+ @pay_frequency = pay_frequency
185
+ @pay_period = pay_period
186
+ @pay_rate = pay_rate
187
+ @updated_at = updated_at
188
+ end
189
+ end
190
+ end
191
+ end
@@ -0,0 +1,29 @@
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
+ require_relative '../shared/employment'
9
+
10
+ module StackOne
11
+ module Shared
12
+
13
+ class EmploymentResult < StackOne::Utils::FieldAugmented
14
+ extend T::Sig
15
+
16
+
17
+ field :data, Shared::Employment, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
18
+
19
+ field :raw, T.nilable(T::Array[Shared::RawResponse]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
20
+
21
+
22
+ sig { params(data: Shared::Employment, raw: T.nilable(T::Array[Shared::RawResponse])).void }
23
+ def initialize(data: nil, raw: nil)
24
+ @data = data
25
+ @raw = raw
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,34 @@
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
+
12
+ class EmploymentsPaginated < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :data, T::Array[Shared::Employment], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
17
+
18
+ field :next_, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next') } }
19
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
20
+ field :next_page, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next_page') } }
21
+
22
+ field :raw, T.nilable(T::Array[Shared::RawResponse]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
23
+
24
+
25
+ sig { params(data: T::Array[Shared::Employment], next_: T.nilable(String), next_page: T.nilable(String), raw: T.nilable(T::Array[Shared::RawResponse])).void }
26
+ def initialize(data: nil, next_: nil, next_page: nil, raw: nil)
27
+ @data = data
28
+ @next_ = next_
29
+ @next_page = next_page
30
+ @raw = raw
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,56 @@
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
+ # FieldType - The type of the field
12
+ class FieldType < T::Enum
13
+ enums do
14
+ SHORT_TEXT = new('short_text')
15
+ LONG_TEXT = new('long_text')
16
+ MULTI_SELECT = new('multi_select')
17
+ SINGLE_SELECT = new('single_select')
18
+ BOOLEAN = new('boolean')
19
+ NUMBER = new('number')
20
+ DATE = new('date')
21
+ PHONE = new('phone')
22
+ EMAIL = new('email')
23
+ SCORE = new('score')
24
+ LOCATION = new('location')
25
+ UNMAPPED_VALUE = new('unmapped_value')
26
+ end
27
+ end
28
+
29
+
30
+
31
+ class Field < StackOne::Utils::FieldAugmented
32
+ extend T::Sig
33
+
34
+ # The ID of the field
35
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
36
+ # The label of the field
37
+ field :label, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('label') } }
38
+ # Indicates if the field is required
39
+ field :required, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('required') } }
40
+ # The type of the field
41
+ field :type, T.nilable(Shared::FieldType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Shared::FieldType, true) } }
42
+ # The possible values for the field
43
+ field :values, T.nilable(T::Array[String]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('values') } }
44
+
45
+
46
+ sig { params(id: T.nilable(String), label: T.nilable(String), required: T.nilable(T::Boolean), type: T.nilable(Shared::FieldType), values: T.nilable(T::Array[String])).void }
47
+ def initialize(id: nil, label: nil, required: nil, type: nil, values: nil)
48
+ @id = id
49
+ @label = label
50
+ @required = required
51
+ @type = type
52
+ @values = values
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,37 @@
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
+
12
+ class HiringTeam < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :email, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('email') } }
17
+
18
+ field :first_name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('first_name') } }
19
+
20
+ field :last_name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('last_name') } }
21
+
22
+ field :role, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('role') } }
23
+
24
+ field :user_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('user_id') } }
25
+
26
+
27
+ sig { params(email: T.nilable(String), first_name: T.nilable(String), last_name: T.nilable(String), role: T.nilable(String), user_id: T.nilable(String)).void }
28
+ def initialize(email: nil, first_name: nil, last_name: nil, role: nil, user_id: nil)
29
+ @email = email
30
+ @first_name = first_name
31
+ @last_name = last_name
32
+ @role = role
33
+ @user_id = user_id
34
+ end
35
+ end
36
+ end
37
+ end