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,584 @@
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 Marketing
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(marketing_create_email_template_request_dto: Shared::MarketingCreateEmailTemplateRequestDto, x_account_id: String).returns(Utils::FieldAugmented) }
21
+ def create_email_template(marketing_create_email_template_request_dto, x_account_id)
22
+ # create_email_template - Create email template
23
+ request = Operations::MarketingCreateEmailTemplateRequest.new(
24
+
25
+ marketing_create_email_template_request_dto: marketing_create_email_template_request_dto,
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/marketing/templates/email"
31
+ headers = Utils.get_headers(request)
32
+ req_content_type, data, form = Utils.serialize_request_body(request, :marketing_create_email_template_request_dto, :json)
33
+ headers['content-type'] = req_content_type
34
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
35
+ headers['Accept'] = 'application/json'
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::MarketingCreateEmailTemplateResponse.new(
53
+ status_code: r.status, content_type: content_type, raw_response: r
54
+ )
55
+ if r.status == 201
56
+ if Utils.match_content_type(content_type, 'application/json')
57
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CreateTemplateResult)
58
+ res.create_template_result = out
59
+ end
60
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
61
+ end
62
+ res
63
+ end
64
+
65
+ sig { params(marketing_create_template_request_dto: Shared::MarketingCreateTemplateRequestDto, x_account_id: String).returns(Utils::FieldAugmented) }
66
+ def create_omni_channel_template(marketing_create_template_request_dto, x_account_id)
67
+ # create_omni_channel_template - Create omni-channel template
68
+ request = Operations::MarketingCreateOmniChannelTemplateRequest.new(
69
+
70
+ marketing_create_template_request_dto: marketing_create_template_request_dto,
71
+ x_account_id: x_account_id
72
+ )
73
+ url, params = @sdk_configuration.get_server_details
74
+ base_url = Utils.template_url(url, params)
75
+ url = "#{base_url}/unified/marketing/templates/omni_channel"
76
+ headers = Utils.get_headers(request)
77
+ req_content_type, data, form = Utils.serialize_request_body(request, :marketing_create_template_request_dto, :json)
78
+ headers['content-type'] = req_content_type
79
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
80
+ headers['Accept'] = 'application/json'
81
+ headers['user-agent'] = @sdk_configuration.user_agent
82
+
83
+ r = @sdk_configuration.client.post(url) do |req|
84
+ req.headers = headers
85
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
86
+ if form
87
+ req.body = Utils.encode_form(form)
88
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
89
+ req.body = URI.encode_www_form(data)
90
+ else
91
+ req.body = data
92
+ end
93
+ end
94
+
95
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
96
+
97
+ res = Operations::MarketingCreateOmniChannelTemplateResponse.new(
98
+ status_code: r.status, content_type: content_type, raw_response: r
99
+ )
100
+ if r.status == 201
101
+ if Utils.match_content_type(content_type, 'application/json')
102
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CreateTemplateResult)
103
+ res.create_template_result = out
104
+ end
105
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
106
+ end
107
+ res
108
+ end
109
+
110
+ sig { params(marketing_create_push_template_request_dto: Shared::MarketingCreatePushTemplateRequestDto, x_account_id: String).returns(Utils::FieldAugmented) }
111
+ def create_push_template(marketing_create_push_template_request_dto, x_account_id)
112
+ # create_push_template - Create push template
113
+ request = Operations::MarketingCreatePushTemplateRequest.new(
114
+
115
+ marketing_create_push_template_request_dto: marketing_create_push_template_request_dto,
116
+ x_account_id: x_account_id
117
+ )
118
+ url, params = @sdk_configuration.get_server_details
119
+ base_url = Utils.template_url(url, params)
120
+ url = "#{base_url}/unified/marketing/templates/push"
121
+ headers = Utils.get_headers(request)
122
+ req_content_type, data, form = Utils.serialize_request_body(request, :marketing_create_push_template_request_dto, :json)
123
+ headers['content-type'] = req_content_type
124
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
125
+ headers['Accept'] = 'application/json'
126
+ headers['user-agent'] = @sdk_configuration.user_agent
127
+
128
+ r = @sdk_configuration.client.post(url) do |req|
129
+ req.headers = headers
130
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
131
+ if form
132
+ req.body = Utils.encode_form(form)
133
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
134
+ req.body = URI.encode_www_form(data)
135
+ else
136
+ req.body = data
137
+ end
138
+ end
139
+
140
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
141
+
142
+ res = Operations::MarketingCreatePushTemplateResponse.new(
143
+ status_code: r.status, content_type: content_type, raw_response: r
144
+ )
145
+ if r.status == 201
146
+ if Utils.match_content_type(content_type, 'application/json')
147
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CreateTemplateResult)
148
+ res.create_template_result = out
149
+ end
150
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
151
+ end
152
+ res
153
+ end
154
+
155
+ sig { params(request: T.nilable(Operations::MarketingGetCampaignRequest)).returns(Utils::FieldAugmented) }
156
+ def get_campaign(request)
157
+ # get_campaign - Get campaign
158
+ url, params = @sdk_configuration.get_server_details
159
+ base_url = Utils.template_url(url, params)
160
+ url = Utils.generate_url(
161
+ Operations::MarketingGetCampaignRequest,
162
+ base_url,
163
+ '/unified/marketing/campaigns/{id}',
164
+ request
165
+ )
166
+ headers = Utils.get_headers(request)
167
+ query_params = Utils.get_query_params(Operations::MarketingGetCampaignRequest, request)
168
+ headers['Accept'] = 'application/json'
169
+ headers['user-agent'] = @sdk_configuration.user_agent
170
+
171
+ r = @sdk_configuration.client.get(url) do |req|
172
+ req.headers = headers
173
+ req.params = query_params
174
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
175
+ end
176
+
177
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
178
+
179
+ res = Operations::MarketingGetCampaignResponse.new(
180
+ status_code: r.status, content_type: content_type, raw_response: r
181
+ )
182
+ if r.status == 200
183
+ if Utils.match_content_type(content_type, 'application/json')
184
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CampaignResult)
185
+ res.campaign_result = out
186
+ end
187
+ elsif [400, 403, 429, 500, 501].include?(r.status)
188
+ end
189
+ res
190
+ end
191
+
192
+ sig { params(request: T.nilable(Operations::MarketingGetEmailTemplateRequest)).returns(Utils::FieldAugmented) }
193
+ def get_email_template(request)
194
+ # get_email_template - Get email template
195
+ url, params = @sdk_configuration.get_server_details
196
+ base_url = Utils.template_url(url, params)
197
+ url = Utils.generate_url(
198
+ Operations::MarketingGetEmailTemplateRequest,
199
+ base_url,
200
+ '/unified/marketing/templates/email/{id}',
201
+ request
202
+ )
203
+ headers = Utils.get_headers(request)
204
+ query_params = Utils.get_query_params(Operations::MarketingGetEmailTemplateRequest, request)
205
+ headers['Accept'] = 'application/json'
206
+ headers['user-agent'] = @sdk_configuration.user_agent
207
+
208
+ r = @sdk_configuration.client.get(url) do |req|
209
+ req.headers = headers
210
+ req.params = query_params
211
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
212
+ end
213
+
214
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
215
+
216
+ res = Operations::MarketingGetEmailTemplateResponse.new(
217
+ status_code: r.status, content_type: content_type, raw_response: r
218
+ )
219
+ if r.status == 200
220
+ if Utils.match_content_type(content_type, 'application/json')
221
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::TemplateResult)
222
+ res.template_result = out
223
+ end
224
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
225
+ end
226
+ res
227
+ end
228
+
229
+ sig { params(request: T.nilable(Operations::MarketingGetOmniChannelTemplateRequest)).returns(Utils::FieldAugmented) }
230
+ def get_omni_channel_template(request)
231
+ # get_omni_channel_template - Get omni-channel template
232
+ url, params = @sdk_configuration.get_server_details
233
+ base_url = Utils.template_url(url, params)
234
+ url = Utils.generate_url(
235
+ Operations::MarketingGetOmniChannelTemplateRequest,
236
+ base_url,
237
+ '/unified/marketing/templates/omni_channel/{id}',
238
+ request
239
+ )
240
+ headers = Utils.get_headers(request)
241
+ query_params = Utils.get_query_params(Operations::MarketingGetOmniChannelTemplateRequest, request)
242
+ headers['Accept'] = 'application/json'
243
+ headers['user-agent'] = @sdk_configuration.user_agent
244
+
245
+ r = @sdk_configuration.client.get(url) do |req|
246
+ req.headers = headers
247
+ req.params = query_params
248
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
249
+ end
250
+
251
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
252
+
253
+ res = Operations::MarketingGetOmniChannelTemplateResponse.new(
254
+ status_code: r.status, content_type: content_type, raw_response: r
255
+ )
256
+ if r.status == 200
257
+ if Utils.match_content_type(content_type, 'application/json')
258
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::TemplateResult)
259
+ res.template_result = out
260
+ end
261
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
262
+ end
263
+ res
264
+ end
265
+
266
+ sig { params(request: T.nilable(Operations::MarketingGetPushTemplateRequest)).returns(Utils::FieldAugmented) }
267
+ def get_push_template(request)
268
+ # get_push_template - Get push template
269
+ url, params = @sdk_configuration.get_server_details
270
+ base_url = Utils.template_url(url, params)
271
+ url = Utils.generate_url(
272
+ Operations::MarketingGetPushTemplateRequest,
273
+ base_url,
274
+ '/unified/marketing/templates/push/{id}',
275
+ request
276
+ )
277
+ headers = Utils.get_headers(request)
278
+ query_params = Utils.get_query_params(Operations::MarketingGetPushTemplateRequest, request)
279
+ headers['Accept'] = 'application/json'
280
+ headers['user-agent'] = @sdk_configuration.user_agent
281
+
282
+ r = @sdk_configuration.client.get(url) do |req|
283
+ req.headers = headers
284
+ req.params = query_params
285
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
286
+ end
287
+
288
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
289
+
290
+ res = Operations::MarketingGetPushTemplateResponse.new(
291
+ status_code: r.status, content_type: content_type, raw_response: r
292
+ )
293
+ if r.status == 200
294
+ if Utils.match_content_type(content_type, 'application/json')
295
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::TemplateResult)
296
+ res.template_result = out
297
+ end
298
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
299
+ end
300
+ res
301
+ end
302
+
303
+ sig { params(request: T.nilable(Operations::MarketingListCampaignsRequest)).returns(Utils::FieldAugmented) }
304
+ def list_campaigns(request)
305
+ # list_campaigns - List campaigns
306
+ url, params = @sdk_configuration.get_server_details
307
+ base_url = Utils.template_url(url, params)
308
+ url = "#{base_url}/unified/marketing/campaigns"
309
+ headers = Utils.get_headers(request)
310
+ query_params = Utils.get_query_params(Operations::MarketingListCampaignsRequest, request)
311
+ headers['Accept'] = 'application/json'
312
+ headers['user-agent'] = @sdk_configuration.user_agent
313
+
314
+ r = @sdk_configuration.client.get(url) do |req|
315
+ req.headers = headers
316
+ req.params = query_params
317
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
318
+ end
319
+
320
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
321
+
322
+ res = Operations::MarketingListCampaignsResponse.new(
323
+ status_code: r.status, content_type: content_type, raw_response: r
324
+ )
325
+ if r.status == 200
326
+ if Utils.match_content_type(content_type, 'application/json')
327
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CampaignsPaginated)
328
+ res.campaigns_paginated = out
329
+ end
330
+ elsif [400, 403, 429, 500, 501].include?(r.status)
331
+ end
332
+ res
333
+ end
334
+
335
+ sig { params(request: T.nilable(Operations::MarketingListEmailTemplatesRequest)).returns(Utils::FieldAugmented) }
336
+ def list_email_templates(request)
337
+ # list_email_templates - List email templates
338
+ url, params = @sdk_configuration.get_server_details
339
+ base_url = Utils.template_url(url, params)
340
+ url = "#{base_url}/unified/marketing/templates/email"
341
+ headers = Utils.get_headers(request)
342
+ query_params = Utils.get_query_params(Operations::MarketingListEmailTemplatesRequest, request)
343
+ headers['Accept'] = 'application/json'
344
+ headers['user-agent'] = @sdk_configuration.user_agent
345
+
346
+ r = @sdk_configuration.client.get(url) do |req|
347
+ req.headers = headers
348
+ req.params = query_params
349
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
350
+ end
351
+
352
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
353
+
354
+ res = Operations::MarketingListEmailTemplatesResponse.new(
355
+ status_code: r.status, content_type: content_type, raw_response: r
356
+ )
357
+ if r.status == 200
358
+ if Utils.match_content_type(content_type, 'application/json')
359
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::TemplatesPaginated)
360
+ res.templates_paginated = out
361
+ end
362
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
363
+ end
364
+ res
365
+ end
366
+
367
+ sig { params(request: T.nilable(Operations::MarketingListOmniChannelTemplatesRequest)).returns(Utils::FieldAugmented) }
368
+ def list_omni_channel_templates(request)
369
+ # list_omni_channel_templates - List omni-channel templates
370
+ url, params = @sdk_configuration.get_server_details
371
+ base_url = Utils.template_url(url, params)
372
+ url = "#{base_url}/unified/marketing/templates/omni_channel"
373
+ headers = Utils.get_headers(request)
374
+ query_params = Utils.get_query_params(Operations::MarketingListOmniChannelTemplatesRequest, request)
375
+ headers['Accept'] = 'application/json'
376
+ headers['user-agent'] = @sdk_configuration.user_agent
377
+
378
+ r = @sdk_configuration.client.get(url) do |req|
379
+ req.headers = headers
380
+ req.params = query_params
381
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
382
+ end
383
+
384
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
385
+
386
+ res = Operations::MarketingListOmniChannelTemplatesResponse.new(
387
+ status_code: r.status, content_type: content_type, raw_response: r
388
+ )
389
+ if r.status == 200
390
+ if Utils.match_content_type(content_type, 'application/json')
391
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::TemplatesPaginated)
392
+ res.templates_paginated = out
393
+ end
394
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
395
+ end
396
+ res
397
+ end
398
+
399
+ sig { params(request: T.nilable(Operations::MarketingListPushTemplatesRequest)).returns(Utils::FieldAugmented) }
400
+ def list_push_templates(request)
401
+ # list_push_templates - List push templates
402
+ url, params = @sdk_configuration.get_server_details
403
+ base_url = Utils.template_url(url, params)
404
+ url = "#{base_url}/unified/marketing/templates/push"
405
+ headers = Utils.get_headers(request)
406
+ query_params = Utils.get_query_params(Operations::MarketingListPushTemplatesRequest, request)
407
+ headers['Accept'] = 'application/json'
408
+ headers['user-agent'] = @sdk_configuration.user_agent
409
+
410
+ r = @sdk_configuration.client.get(url) do |req|
411
+ req.headers = headers
412
+ req.params = query_params
413
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
414
+ end
415
+
416
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
417
+
418
+ res = Operations::MarketingListPushTemplatesResponse.new(
419
+ status_code: r.status, content_type: content_type, raw_response: r
420
+ )
421
+ if r.status == 200
422
+ if Utils.match_content_type(content_type, 'application/json')
423
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::TemplatesPaginated)
424
+ res.templates_paginated = out
425
+ end
426
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
427
+ end
428
+ res
429
+ end
430
+
431
+ sig { params(marketing_create_email_template_request_dto: Shared::MarketingCreateEmailTemplateRequestDto, id: String, x_account_id: String).returns(Utils::FieldAugmented) }
432
+ def update_email_template(marketing_create_email_template_request_dto, id, x_account_id)
433
+ # update_email_template - Update email template
434
+ request = Operations::MarketingUpdateEmailTemplateRequest.new(
435
+
436
+ marketing_create_email_template_request_dto: marketing_create_email_template_request_dto,
437
+ id: id,
438
+ x_account_id: x_account_id
439
+ )
440
+ url, params = @sdk_configuration.get_server_details
441
+ base_url = Utils.template_url(url, params)
442
+ url = Utils.generate_url(
443
+ Operations::MarketingUpdateEmailTemplateRequest,
444
+ base_url,
445
+ '/unified/marketing/templates/email/{id}',
446
+ request
447
+ )
448
+ headers = Utils.get_headers(request)
449
+ req_content_type, data, form = Utils.serialize_request_body(request, :marketing_create_email_template_request_dto, :json)
450
+ headers['content-type'] = req_content_type
451
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
452
+ headers['Accept'] = 'application/json'
453
+ headers['user-agent'] = @sdk_configuration.user_agent
454
+
455
+ r = @sdk_configuration.client.patch(url) do |req|
456
+ req.headers = headers
457
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
458
+ if form
459
+ req.body = Utils.encode_form(form)
460
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
461
+ req.body = URI.encode_www_form(data)
462
+ else
463
+ req.body = data
464
+ end
465
+ end
466
+
467
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
468
+
469
+ res = Operations::MarketingUpdateEmailTemplateResponse.new(
470
+ status_code: r.status, content_type: content_type, raw_response: r
471
+ )
472
+ if r.status == 200
473
+ if Utils.match_content_type(content_type, 'application/json')
474
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CreateTemplateResult)
475
+ res.create_template_result = out
476
+ end
477
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
478
+ end
479
+ res
480
+ end
481
+
482
+ sig { params(marketing_create_template_request_dto: Shared::MarketingCreateTemplateRequestDto, id: String, x_account_id: String).returns(Utils::FieldAugmented) }
483
+ def update_omni_channel_template(marketing_create_template_request_dto, id, x_account_id)
484
+ # update_omni_channel_template - Update omni-channel template
485
+ request = Operations::MarketingUpdateOmniChannelTemplateRequest.new(
486
+
487
+ marketing_create_template_request_dto: marketing_create_template_request_dto,
488
+ id: id,
489
+ x_account_id: x_account_id
490
+ )
491
+ url, params = @sdk_configuration.get_server_details
492
+ base_url = Utils.template_url(url, params)
493
+ url = Utils.generate_url(
494
+ Operations::MarketingUpdateOmniChannelTemplateRequest,
495
+ base_url,
496
+ '/unified/marketing/templates/omni_channel/{id}',
497
+ request
498
+ )
499
+ headers = Utils.get_headers(request)
500
+ req_content_type, data, form = Utils.serialize_request_body(request, :marketing_create_template_request_dto, :json)
501
+ headers['content-type'] = req_content_type
502
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
503
+ headers['Accept'] = 'application/json'
504
+ headers['user-agent'] = @sdk_configuration.user_agent
505
+
506
+ r = @sdk_configuration.client.patch(url) do |req|
507
+ req.headers = headers
508
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
509
+ if form
510
+ req.body = Utils.encode_form(form)
511
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
512
+ req.body = URI.encode_www_form(data)
513
+ else
514
+ req.body = data
515
+ end
516
+ end
517
+
518
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
519
+
520
+ res = Operations::MarketingUpdateOmniChannelTemplateResponse.new(
521
+ status_code: r.status, content_type: content_type, raw_response: r
522
+ )
523
+ if r.status == 200
524
+ if Utils.match_content_type(content_type, 'application/json')
525
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CreateTemplateResult)
526
+ res.create_template_result = out
527
+ end
528
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
529
+ end
530
+ res
531
+ end
532
+
533
+ sig { params(marketing_create_push_template_request_dto: Shared::MarketingCreatePushTemplateRequestDto, id: String, x_account_id: String).returns(Utils::FieldAugmented) }
534
+ def update_push_template(marketing_create_push_template_request_dto, id, x_account_id)
535
+ # update_push_template - Update push template
536
+ request = Operations::MarketingUpdatePushTemplateRequest.new(
537
+
538
+ marketing_create_push_template_request_dto: marketing_create_push_template_request_dto,
539
+ id: id,
540
+ x_account_id: x_account_id
541
+ )
542
+ url, params = @sdk_configuration.get_server_details
543
+ base_url = Utils.template_url(url, params)
544
+ url = Utils.generate_url(
545
+ Operations::MarketingUpdatePushTemplateRequest,
546
+ base_url,
547
+ '/unified/marketing/templates/push/{id}',
548
+ request
549
+ )
550
+ headers = Utils.get_headers(request)
551
+ req_content_type, data, form = Utils.serialize_request_body(request, :marketing_create_push_template_request_dto, :json)
552
+ headers['content-type'] = req_content_type
553
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
554
+ headers['Accept'] = 'application/json'
555
+ headers['user-agent'] = @sdk_configuration.user_agent
556
+
557
+ r = @sdk_configuration.client.patch(url) do |req|
558
+ req.headers = headers
559
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
560
+ if form
561
+ req.body = Utils.encode_form(form)
562
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
563
+ req.body = URI.encode_www_form(data)
564
+ else
565
+ req.body = data
566
+ end
567
+ end
568
+
569
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
570
+
571
+ res = Operations::MarketingUpdatePushTemplateResponse.new(
572
+ status_code: r.status, content_type: content_type, raw_response: r
573
+ )
574
+ if r.status == 200
575
+ if Utils.match_content_type(content_type, 'application/json')
576
+ out = Utils.unmarshal_complex(r.env.response_body, Shared::CreateTemplateResult)
577
+ res.create_template_result = out
578
+ end
579
+ elsif [400, 403, 412, 429, 500, 501].include?(r.status)
580
+ end
581
+ res
582
+ end
583
+ end
584
+ 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 'sorbet-runtime'
7
+ require 'faraday'
8
+ require_relative '../shared/atscreateapplicationrequestdto'
9
+ require_relative '../shared/createresult'
10
+
11
+ module StackOne
12
+ module Operations
13
+
14
+ class AtsCreateApplicationRequest < StackOne::Utils::FieldAugmented
15
+ extend T::Sig
16
+
17
+
18
+ field :ats_create_application_request_dto, Shared::AtsCreateApplicationRequestDto, { 'request': { 'media_type': 'application/json' } }
19
+ # The account identifier
20
+ field :x_account_id, String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
21
+
22
+
23
+ sig { params(ats_create_application_request_dto: Shared::AtsCreateApplicationRequestDto, x_account_id: String).void }
24
+ def initialize(ats_create_application_request_dto: nil, x_account_id: nil)
25
+ @ats_create_application_request_dto = ats_create_application_request_dto
26
+ @x_account_id = x_account_id
27
+ end
28
+ end
29
+
30
+
31
+ class AtsCreateApplicationResponse < StackOne::Utils::FieldAugmented
32
+ extend T::Sig
33
+
34
+ # HTTP response content type for this operation
35
+ field :content_type, String
36
+ # Raw HTTP response; suitable for custom response parsing
37
+ field :raw_response, Faraday::Response
38
+ # HTTP response status code for this operation
39
+ field :status_code, Integer
40
+ # The application was created successfully.
41
+ field :create_result, T.nilable(Shared::CreateResult)
42
+
43
+
44
+ sig { params(content_type: String, raw_response: Faraday::Response, status_code: Integer, create_result: T.nilable(Shared::CreateResult)).void }
45
+ def initialize(content_type: nil, raw_response: nil, status_code: nil, create_result: nil)
46
+ @content_type = content_type
47
+ @raw_response = raw_response
48
+ @status_code = status_code
49
+ @create_result = create_result
50
+ end
51
+ end
52
+ end
53
+ 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 'sorbet-runtime'
7
+ require 'faraday'
8
+ require_relative '../shared/atscreatecandidaterequestdto'
9
+ require_relative '../shared/candidateresult'
10
+
11
+ module StackOne
12
+ module Operations
13
+
14
+ class AtsCreateCandidateRequest < StackOne::Utils::FieldAugmented
15
+ extend T::Sig
16
+
17
+
18
+ field :ats_create_candidate_request_dto, Shared::AtsCreateCandidateRequestDto, { 'request': { 'media_type': 'application/json' } }
19
+ # The account identifier
20
+ field :x_account_id, String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
21
+
22
+
23
+ sig { params(ats_create_candidate_request_dto: Shared::AtsCreateCandidateRequestDto, x_account_id: String).void }
24
+ def initialize(ats_create_candidate_request_dto: nil, x_account_id: nil)
25
+ @ats_create_candidate_request_dto = ats_create_candidate_request_dto
26
+ @x_account_id = x_account_id
27
+ end
28
+ end
29
+
30
+
31
+ class AtsCreateCandidateResponse < StackOne::Utils::FieldAugmented
32
+ extend T::Sig
33
+
34
+ # HTTP response content type for this operation
35
+ field :content_type, String
36
+ # Raw HTTP response; suitable for custom response parsing
37
+ field :raw_response, Faraday::Response
38
+ # HTTP response status code for this operation
39
+ field :status_code, Integer
40
+ # The candidate was successfully created.
41
+ field :candidate_result, T.nilable(Shared::CandidateResult)
42
+
43
+
44
+ sig { params(content_type: String, raw_response: Faraday::Response, status_code: Integer, candidate_result: T.nilable(Shared::CandidateResult)).void }
45
+ def initialize(content_type: nil, raw_response: nil, status_code: nil, candidate_result: nil)
46
+ @content_type = content_type
47
+ @raw_response = raw_response
48
+ @status_code = status_code
49
+ @candidate_result = candidate_result
50
+ end
51
+ end
52
+ end
53
+ end