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,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 Template < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+ # Date of creation
16
+ field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
17
+
18
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
19
+
20
+ field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
21
+
22
+ field :tags, T.nilable(T::Array[String]), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('tags') } }
23
+ # Date of last update
24
+ field :updated_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
25
+
26
+
27
+ sig { params(created_at: T.nilable(DateTime), id: T.nilable(String), name: T.nilable(String), tags: T.nilable(T::Array[String]), updated_at: T.nilable(DateTime)).void }
28
+ def initialize(created_at: nil, id: nil, name: nil, tags: nil, updated_at: nil)
29
+ @created_at = created_at
30
+ @id = id
31
+ @name = name
32
+ @tags = tags
33
+ @updated_at = updated_at
34
+ end
35
+ end
36
+ end
37
+ 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/template'
9
+
10
+ module StackOne
11
+ module Shared
12
+
13
+ class TemplateResult < StackOne::Utils::FieldAugmented
14
+ extend T::Sig
15
+
16
+
17
+ field :data, Shared::Template, { '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::Template, 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 TemplatesPaginated < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :data, T::Array[Shared::Template], { '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::Template], 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,102 @@
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 TimeOffValue < T::Enum
13
+ enums do
14
+ APPROVED = new('approved')
15
+ UNMAPPED_VALUE = new('unmapped_value')
16
+ end
17
+ end
18
+
19
+
20
+ # The status of the time off request
21
+ class TimeOffStatus < StackOne::Utils::FieldAugmented
22
+ extend T::Sig
23
+
24
+
25
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
26
+
27
+ field :value, Shared::TimeOffValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::TimeOffValue, false) } }
28
+
29
+
30
+ sig { params(source_value: String, value: Shared::TimeOffValue).void }
31
+ def initialize(source_value: nil, value: nil)
32
+ @source_value = source_value
33
+ @value = value
34
+ end
35
+ end
36
+
37
+
38
+ class TimeOffSchemasValue < T::Enum
39
+ enums do
40
+ SICK = new('sick')
41
+ UNMAPPED_VALUE = new('unmapped_value')
42
+ VACATION = new('vacation')
43
+ end
44
+ end
45
+
46
+
47
+ # The type of the time off request
48
+ class TimeOffType < StackOne::Utils::FieldAugmented
49
+ extend T::Sig
50
+
51
+
52
+ field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } }
53
+
54
+ field :value, Shared::TimeOffSchemasValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::TimeOffSchemasValue, false) } }
55
+
56
+
57
+ sig { params(source_value: String, value: Shared::TimeOffSchemasValue).void }
58
+ def initialize(source_value: nil, value: nil)
59
+ @source_value = source_value
60
+ @value = value
61
+ end
62
+ end
63
+
64
+
65
+ class TimeOff < StackOne::Utils::FieldAugmented
66
+ extend T::Sig
67
+
68
+ # The approver ID
69
+ field :approver_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('approver_id') } }
70
+ # The created date of the time off request
71
+ field :created_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
72
+ # The employee ID
73
+ field :employee_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('employee_id') } }
74
+ # The end date of the time off request
75
+ field :end_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('end_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
76
+ # The unique ID of the time off request
77
+ field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
78
+ # The start date of the time off request
79
+ field :start_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
80
+ # The status of the time off request
81
+ field :status, T.nilable(Shared::TimeOffStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('status') } }
82
+ # The type of the time off request
83
+ field :type, T.nilable(Shared::TimeOffType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('type') } }
84
+ # The updated date of the time off request
85
+ field :updated_date, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('updated_date'), 'decoder': Utils.datetime_from_iso_format(true) } }
86
+
87
+
88
+ sig { params(approver_id: T.nilable(String), created_date: T.nilable(DateTime), employee_id: T.nilable(String), end_date: T.nilable(DateTime), id: T.nilable(String), start_date: T.nilable(DateTime), status: T.nilable(Shared::TimeOffStatus), type: T.nilable(Shared::TimeOffType), updated_date: T.nilable(DateTime)).void }
89
+ def initialize(approver_id: nil, created_date: nil, employee_id: nil, end_date: nil, id: nil, start_date: nil, status: nil, type: nil, updated_date: nil)
90
+ @approver_id = approver_id
91
+ @created_date = created_date
92
+ @employee_id = employee_id
93
+ @end_date = end_date
94
+ @id = id
95
+ @start_date = start_date
96
+ @status = status
97
+ @type = type
98
+ @updated_date = updated_date
99
+ end
100
+ end
101
+ end
102
+ 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 TimeOffPaginated < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :data, T::Array[Shared::TimeOff], { '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::TimeOff], 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,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/timeoff'
9
+
10
+ module StackOne
11
+ module Shared
12
+
13
+ class TimeOffResult < StackOne::Utils::FieldAugmented
14
+ extend T::Sig
15
+
16
+
17
+ field :data, Shared::TimeOff, { '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::TimeOff, 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,31 @@
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 UpdateResult < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :message, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('message') } }
17
+
18
+ field :status_code, Float, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('statusCode') } }
19
+
20
+ field :timestamp, DateTime, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('timestamp'), 'decoder': Utils.datetime_from_iso_format(false) } }
21
+
22
+
23
+ sig { params(message: String, status_code: Float, timestamp: DateTime).void }
24
+ def initialize(message: nil, status_code: nil, timestamp: nil)
25
+ @message = message
26
+ @status_code = status_code
27
+ @timestamp = timestamp
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,40 @@
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 User < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :email, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('email') } }
17
+
18
+ field :first_name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('first_name') } }
19
+
20
+ field :id, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } }
21
+
22
+ field :last_name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('last_name') } }
23
+
24
+ field :name, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } }
25
+
26
+ field :phone, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phone') } }
27
+
28
+
29
+ sig { params(email: String, first_name: String, id: String, last_name: String, name: String, phone: String).void }
30
+ def initialize(email: nil, first_name: nil, id: nil, last_name: nil, name: nil, phone: nil)
31
+ @email = email
32
+ @first_name = first_name
33
+ @id = id
34
+ @last_name = last_name
35
+ @name = name
36
+ @phone = phone
37
+ end
38
+ end
39
+ end
40
+ 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/user'
9
+
10
+ module StackOne
11
+ module Shared
12
+
13
+ class UserResult < StackOne::Utils::FieldAugmented
14
+ extend T::Sig
15
+
16
+
17
+ field :data, Shared::User, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
18
+
19
+ field :raw, T::Array[Shared::RawResponse], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
20
+
21
+
22
+ sig { params(data: Shared::User, raw: 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 UsersPaginated < StackOne::Utils::FieldAugmented
13
+ extend T::Sig
14
+
15
+
16
+ field :data, T::Array[Shared::User], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('data') } }
17
+
18
+ field :raw, T::Array[Shared::RawResponse], { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('raw') } }
19
+
20
+ field :next_, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next') } }
21
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
22
+ field :next_page, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('next_page') } }
23
+
24
+
25
+ sig { params(data: T::Array[Shared::User], raw: T::Array[Shared::RawResponse], next_: T.nilable(String), next_page: T.nilable(String)).void }
26
+ def initialize(data: nil, raw: nil, next_: nil, next_page: nil)
27
+ @data = data
28
+ @raw = raw
29
+ @next_ = next_
30
+ @next_page = next_page
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,59 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module StackOne
11
+ extend T::Sig
12
+ class Proxy
13
+
14
+ extend T::Sig
15
+ sig { params(sdk_config: SDKConfiguration).void }
16
+ def initialize(sdk_config)
17
+ @sdk_configuration = sdk_config
18
+ end
19
+
20
+ sig { params(proxy_request_body: Shared::ProxyRequestBody, x_account_id: String).returns(Utils::FieldAugmented) }
21
+ def proxy_request(proxy_request_body, x_account_id)
22
+ # proxy_request - Proxy Request
23
+ request = Operations::StackoneProxyRequestRequest.new(
24
+
25
+ proxy_request_body: proxy_request_body,
26
+ x_account_id: x_account_id
27
+ )
28
+ url, params = @sdk_configuration.get_server_details
29
+ base_url = Utils.template_url(url, params)
30
+ url = "#{base_url}/unified/proxy"
31
+ headers = Utils.get_headers(request)
32
+ req_content_type, data, form = Utils.serialize_request_body(request, :proxy_request_body, :json)
33
+ headers['content-type'] = req_content_type
34
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
35
+ headers['Accept'] = '*/*'
36
+ headers['user-agent'] = @sdk_configuration.user_agent
37
+
38
+ r = @sdk_configuration.client.post(url) do |req|
39
+ req.headers = headers
40
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
41
+ if form
42
+ req.body = Utils.encode_form(form)
43
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
44
+ req.body = URI.encode_www_form(data)
45
+ else
46
+ req.body = data
47
+ end
48
+ end
49
+
50
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
51
+
52
+ res = Operations::StackoneProxyRequestResponse.new(
53
+ status_code: r.status, content_type: content_type, raw_response: r
54
+ )
55
+
56
+ res
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,87 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+ module StackOne
10
+ extend T::Sig
11
+
12
+ class StackOne
13
+ extend T::Sig
14
+
15
+ attr_accessor :accounts, :connect_sessions, :connectors, :ats, :crm, :hris, :marketing, :proxy
16
+
17
+ attr_accessor :security, :language, :sdk_version, :gen_version
18
+
19
+ sig do
20
+ params(security: T.nilable(Shared::Security),
21
+ server_idx: Integer,
22
+ server_url: String,
23
+ url_params: T::Hash[Symbol, String],
24
+ client: Faraday::Request).void
25
+ end
26
+ def initialize(security: nil,
27
+ server_idx: nil,
28
+ server_url: nil,
29
+ url_params: nil,
30
+ client: nil)
31
+
32
+ ## Instantiates the SDK configuring it with the provided parameters.
33
+ # @param [Shared::Security] security The security details required for authentication
34
+ # @param [Integer] server_idx The index of the server to use for all operations
35
+ # @param [String] server_url The server URL to use for all operations
36
+ # @param [Hash<Symbol, String>] url_params Parameters to optionally template the server URL with
37
+ # @param [Faraday::Request] client The faraday HTTP client to use for all operations
38
+
39
+ if client.nil?
40
+ client = Faraday.new(request: {
41
+ params_encoder: Faraday::FlatParamsEncoder
42
+ }) do |f|
43
+ f.request :multipart, {}
44
+ # f.response :logger
45
+ end
46
+ end
47
+
48
+ if !server_url.nil?
49
+ if !url_params.nil?
50
+ server_url = Utils.template_url(server_url, url_params)
51
+ end
52
+ end
53
+ server_idx = 0 if server_idx.nil?
54
+
55
+
56
+
57
+ @sdk_configuration = SDKConfiguration.new(client, security, server_url, server_idx)
58
+ init_sdks
59
+ end
60
+
61
+ sig { params(params: T.nilable(T::Hash[Symbol, String])).void }
62
+ def config_server_url(params)
63
+ if !params.nil?
64
+ @server_url = Utils.template_url(@server_url, params)
65
+ end
66
+ init_sdks
67
+ end
68
+
69
+ sig { params(security: Shared::Security).void }
70
+ def config_security(security)
71
+ @security = security
72
+ @sdk_configuration.security = security
73
+ end
74
+
75
+ sig { void }
76
+ def init_sdks
77
+ @accounts = Accounts.new(@sdk_configuration)
78
+ @connect_sessions = ConnectSessions.new(@sdk_configuration)
79
+ @connectors = Connectors.new(@sdk_configuration)
80
+ @ats = Ats.new(@sdk_configuration)
81
+ @crm = Crm.new(@sdk_configuration)
82
+ @hris = Hris.new(@sdk_configuration)
83
+ @marketing = Marketing.new(@sdk_configuration)
84
+ @proxy = Proxy.new(@sdk_configuration)
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,53 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module OpenApiSDK
11
+ extend T::Sig
12
+
13
+
14
+ SERVERS = [
15
+ 'https://api.stackone.com',
16
+ ].freeze
17
+ # Contains the list of servers available to the SDK
18
+
19
+ class SDKConfiguration < OpenApiSDK::Utils::FieldAugmented
20
+ extend T::Sig
21
+
22
+ field :client, T.nilable(Faraday::Connection)
23
+ field :security, Shared::Security
24
+ field :server_url, T.nilable(String)
25
+ field :server, T.nilable(String)
26
+ field :language, String
27
+ field :openapi_doc_version, String
28
+ field :sdk_version, String
29
+ field :gen_version, String
30
+ field :user_agent, String
31
+
32
+
33
+ sig { params(client: Faraday::Connection, security: T.nilable(Shared::Security), server_url: T.nilable(String), server_idx: T.nilable(Integer)).void }
34
+ def initialize(client, security, server_url, server_idx)
35
+ @client = client
36
+ @server_idx = server_idx.nil? ? 0 : server_idx
37
+ @language = 'ruby'
38
+ @openapi_doc_version = '1.0.0'
39
+ @sdk_version = '0.0.1'
40
+ @gen_version = '2.231.0'
41
+ @user_agent = 'speakeasy-sdk/ruby 0.0.1 2.231.0 1.0.0 stackone_client'
42
+ end
43
+
44
+ sig { returns([String, T::Hash[Symbol, String]]) }
45
+ def get_server_details
46
+ return [@server_url.delete_suffix('/'), {}] if !@server_url.nil?
47
+ @server_idx = 0 if @server_idx.nil?
48
+
49
+
50
+ [SERVERS[@server_idx], {}]
51
+ end
52
+ end
53
+ end